SQL injection 문제이다.
소스코드를 살펴보면 select or and ( ) limit , / order cash (공백) (탭문자) ' " 를 필터링한다.
빈칸에 입력한 내용이 $_GET['lv']가 되는 모양이다.
lv에 1부터 차례대로 값을 넣어보았으나 5부터는 해당되는 결과가 없었다.
admin이 lv가 몇인지 알 수 없다. 따라서 id가 admin인 id를 고르라는 쿼리문이 되도록 해야 한다.
여기서 소괄호를 오른쪽, 왼쪽 모두를 쓸 수 없어 함수는 사용이 불가능하고, admin이라는 문자열 자체를 필터링하고 있어 바로 admin을 넣기는 어렵다. 따라서 admin을 아스키코드의 16진수 값으로 변환해야 한다.
쿼리문을 보낼 때 lv=을 무력화시켜야 하므로 아무런 결과가 나타나지 않는 5를 lv의 값으로 정하고, id를 admin을 아스키코드의 16진수값으로 변환한 결과로 정한다.
'SISS > Webhacking.kr' 카테고리의 다른 글
old-08(350) (0) | 2020.11.14 |
---|---|
old-53(350) (0) | 2020.11.07 |
old-48(350) (0) | 2020.10.04 |
old-11(300) (0) | 2020.09.26 |
old-07(300) (0) | 2020.09.20 |