LOS 10번 문제인 skeleton이다.
DB의 반환값 중 id가 admin이어야 한다는 것이다.
그런데 pw값만 받고 있고 맨 뒤의 쿼리에서는 and 1=0 으로 모든 값을 거짓으로 만들고 있다.
따라서 암만 앞에서 참을 만들어 주어도 저 쿼리는 반환값이 없을 것이다.
뒤의 문장을 지우는 것은 간단하다.. 이전에 사용했었던 그 주석을 그대로 써주자.
?pw=' or id='admin'%23 |
여기서 뒤의 %23 은 #에 해당하는 URL ENCODE 값이다.
주석 처리를 하면서 뒤의 and 1=0은 주석 처리가 된다.
아마 쿼리엔 아래와 같이 삽입될 것이다.
select id from prob_skeleton where id='guest' and pw='' or id='admin' # ' and 1=0 |
결과는 당연히 id='admin'가 반환될 것이다.
'computer > web hacking' 카테고리의 다른 글
[LOS] prob_darkknight (0) | 2018.04.30 |
---|---|
[LOS] prob_golem (0) | 2018.04.30 |
[LOS] prob_vampire (0) | 2018.04.28 |
[LOS] prob_troll (0) | 2018.04.28 |
[LOS] prob_orge (0) | 2018.04.28 |