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 |