본문 바로가기

Wargame/Lord of SQLInjection

Lord of SQLInjection 3번 goblin

 

goblin 문제의 형태는 이렇다.

현재 query문을 보면 id는 guest로 고정되어있다.

 

 

no=1이라는 구문을 쳐보니 Hello guest가 뜬다.

guest의 no은 1이었던 것 같다.

이것을 보면 admin의 no 또한 무작정 대입해서 되지 않을까 싶다.

 

 

no=0으로 일단 앞의 query를 무효화시켜주고 or을 이용하여 no에 2를 대입해보았다.

no=2는 admin의 no이 맞았기 때문에 문제는 해결되었다.

 

답 : no=0 or no=2


무작정 대입하는 것은 도박이기에 다른 방법이 있을 것이라고 생각하고 검색을 해보았다.

두 번째 방법은 첫 번째 방법처럼 no=0으로 앞의 query를 무시하고 or을 이용해 id에 admin을 넣어주는 것이다.

그러나 코드를 보면

 if(preg_match('/\'|\"|\`/i'$_GET[no])) exit("No Quotes ~_~");

이러한 구문이 있기 때문에 admin을 ''를 이용해서 직접적으로 넣는 것은 불가능하다.

고로 hex값을 이용하여 admin이라는 값을 넣어주면 된다.

 

 

hex 값을 넣어주면 이렇게 문제가 풀리게 된다.

 

답 : no=2 or id=0x61646D696E

'Wargame > Lord of SQLInjection' 카테고리의 다른 글

Lord of SQLInjection 8번 troll  (0) 2021.12.14
Lord of SQLInjection 7번 orge  (0) 2021.12.14
Lord of SQLInjection 6번 darkelf  (0) 2021.12.13
Lord of SQLInjection 5번 wolfman  (0) 2021.12.13
Lord of SQLInjection 4번 orc  (0) 2021.12.13