Lord Of SQL injection, 문제 10번 스켈레톤입니다.
소스를 보시면 인자 id의 값이 admin이면 해결되는데 and 뒤에 1=0 으로 거짓값이 들어있습니다.
앞뒤가 거짓이고 and가 사이에 있다면 당연히 거짓이 나오는 식이죠.
그런데 뒤를 신경쓸 필요가 없습니다. 주석으로 없애버리면 그만입니다.
pw=1234' or id='admin
이런식으로 작성한다면 뒤에 자동으로 single quote가 붙어서 완전한 구문은 되겠지만 and 1=0 때문에 헛수고가 됩니다.
pw=1234' or id='admin' --
이렇게 작성하면 -- 를 사용한 주석처리로 뒤에 있는 and 1=0은 무용지물이 되고
앞의 guest 거짓결과를 무시하여 결국 id=admin 가 쿼리의 조건으로 실행되는 것입니다.
'워게임 > LOS' 카테고리의 다른 글
[워게임 LOS] 문제 12번, 다크나이트(Dark knight) (0) | 2016.07.26 |
---|---|
[워게임 LOS] 문제 11번, 골렘(Golem) (0) | 2016.07.26 |
[워게임 LOS] 문제 9번, 뱀파이어(Vampire) (0) | 2016.07.12 |
[워게임 LOS] 문제 8번, 트롤(Troll) (0) | 2016.07.12 |
[워게임 LOS] 문제 7번, 오거(Orge) (0) | 2016.07.12 |