id가 admin인 결과를 반환해야하는데 문자열 admin에 필러팅이 걸려져 있다.
그럼 그동안 풀었던 방법대로 or와 Hex 값을 넣어줌으로써 풀이하면 될까? 이 방법도 '
를 필터링을 걸어줌으로 막고 있었다.
Try - 1
0x27은 '
의 아스키코드 Hex 값이다.
혹시나 '
를 아스키코드 Hex 값으로 넘겨주면 인식하지 않을까? 라는 생각에 넣어봤지만 실패하였다.
Try - 2
webhacking.kr의 문제 풀이를 하면서 배웠던 공백을 이용한 방법을 이용해봤다.
만약 mysql에서 id 컬럼을 만들 때 varchar의 크기를 255로 설정하였고 저장된 값은 ‘admin’ 5글자이면 나머지 250의 크기는 공백으로 처리가 된다.
이 점을 이용하여 ‘admin ‘를 요청하면 mysql은 ‘admin’으로 인식된다.
하지만 admin 필터링을 우회를 못하기 때문에 hehe가 출력되었다.
Try - 3
코드를 다시 보니 admin을 필터링하는 preg_match 함수에서 i 옵션이 없다는 것을 알 수 있었다.
즉, 대문자를 인식을 못한다는 것이다.
엄청 간단한 문제인데 코드를 대충봐서 시간을 많이 소비하였다.
'워게임 > Lord of SQLInjection' 카테고리의 다른 글
[Lord of SQLInjection] Skeleton Write UP (0) | 2021.07.18 |
---|---|
[Lord of SQLInjection] Vampire Write UP (0) | 2021.07.18 |
[Lord of SQLInjection] Orge Write UP (0) | 2021.07.16 |
[Lord of SQLInjection] Darkelf Write UP (0) | 2021.07.14 |
[Lord of SQLInjection] Wolfman Write UP (0) | 2021.07.14 |