본문 바로가기

SISS/Webhacking.kr

old-49(300)

SQL injection 문제이다.

소스코드를 살펴보면 select or and ( ) limit , / order cash (공백) (탭문자) ' " 를 필터링한다.

빈칸에 입력한 내용이 $_GET['lv']가 되는 모양이다.

lv = 1
lv = 2
lv = 3
lv = 4
lv = 5

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