SQL Injection/LoS
LoS Chapter 27 - blue_dragon
ragdo11
2022. 11. 25. 23:11
27번째 문제 blue_dragon이다.
admin의 pw를 구하는 문제인데 좀 요상한게 필터링을 한 번에 하지 않고 두 번에 나눠 걸쳐서 했다는 점이다.
그 사이엔 echo로 query문을 출력해놨다. 요렇게가 문제 푸는데 있어서 굉장한 힌트가 된다!
필터링을 보자면 역슬래시와 싱글 쿼테이션을 사용하지 못하게 했다. id에 \를 넣어서 pw 검사하는 부분을 무력화 시킬 수 없게 됬다. 그리고 쿼트를 사용하지 못하니 id 값을 입력받는 부분을 탈출할 수 없게 되었다. 그럼에도 공격을 수행할 수 있을까?
분명 No Hack 페이지로 exit를 시켰으나 쿼리는 남아 있다.
제일 중요한 부분이 여기다. 한 번 더 필터링하기 전에 db에 쿼리문을 실행시켜 보고 있다. 그렇기 때문에 exit를 시키더라도 time based injection으로 공격을 시도할 수 있다.
no hack 페이지지만 sleep 함수는 참 거짓에 따라 잘 작동하므로 이를 이용해 blind sqli를 하면 된다!
끝