본문 바로가기

워게임/LOS

[워게임 LOS] 문제 10번, 스켈레톤(Skeleton)


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 가 쿼리의 조건으로 실행되는 것입니다.