Web/Lord of Sql injection

succubus 문제 풀이

Namchun 2023. 9. 10. 02:31

코드 분석

id와 pw 두 문자열 모두 따옴표가 있는지 체크한다.

공격 기법

따옴표가 필터링되어 있어 escape가 불가능해 보이지만, '\' (역슬래시)를 이용하면 뒤에 오는 따옴표를 문자로 처리할 수 있다.

 

자세한 설명

만약, id에 \ 를 주입하게 되면 무슨 일이 생기는지 알아보자

\로 인해 바로 뒤에 있는 싱글 쿼터가 id와 비교하는 문자열을 닫아주지 않고, 실제 문자 '로 받아들여 뒤에 있는 and pw = ' 까지 id와 비교하는 문자열로 치환된다.

 

이제 pw에 or 1 # 을 주입한다면 아래와 같은 쿼리가 완성되어 참을 반환할 것이다.

 

'Web > Lord of Sql injection' 카테고리의 다른 글

nightmare 문제 풀이  (0) 2023.09.12
zombie_assasin 문제 풀이  (0) 2023.09.11
assasin 문제 풀이  (0) 2023.09.10
giant 문제 풀이  (0) 2023.09.10
bugbear 문제 풀이  (0) 2023.09.10