이번문제는 딱히 설명할게 없다. Basic 한 문제라 생각한다.
소스코드 분석은 아래와 같다.
우선 GET 으로 pw 파라미터를 받는데 정규식으로 prob, _ , . , () 가 들어가면 No Hack 이뜨며 PHP 가 죽는다
그리고 필터링한 pw 파라미터값이 where 절에 들어가서 쿼리문이 수행되는데, 디폴트로 id가 guest 인 값을 찾고 있다.
또한 뒤에 and 1=0 이 나오는데 이는 False 값이기 때문에 where 문이 정상적으로 실행된다해도 and False 때문에 empty 쿼리가 결과로 나올 것이다.
따라서 이번 문제의 요지는 뒤에 and 1=0 을 주석으로 우회하고 ' or id='admin' 으로 우회해주면된다.
' or id='admin' %23
' or id='admin' 는 or 앞의 쿼리를 무력화시키고 or 문으로 id 가 admin 인 쿼리를 뽑는다.
%23 은 주석인 # 을 URL 인코딩한 값이며 뒤에 and 1=0 을 무력화시킨다.
'WebHacking > Lord of SQLInjection' 카테고리의 다른 글
darknight (0) | 2022.11.23 |
---|---|
golem (0) | 2022.11.17 |
vampire (0) | 2022.11.17 |
troll (0) | 2022.11.17 |
orge (0) | 2022.11.15 |