본문 바로가기
CTF/los

[CTF] Lord of SQLInjection 15번 succubus Write-Up

by spareone 2026. 3. 10.
[그림 1] 문제 메인 페이지

id, pw 둘 다 입력받으며, 싱글쿼터가 검열되고 있습니다.

select id from prob_succubus where id='{$_GET[id]}' and pw='{$_GET[pw]}'

이와 같은 쿼리에서 제한적으로 싱글 쿼터를 우회할 수 있는 방법이 하나 있습니다.

싱글쿼터 ‘ 를 SQL에서 문자열 그 자체로 인식하기 위해서는 이스케이프 처리를 해야 합니다. 즉, \’ 이렇게 입력하면 SQL 문법이 아니라 문자열로 처리하게 됩니다.

이를 이용하여 id 뒤쪽 ‘를 일반 문자열로 처리하여 무력화 시킬 수 있습니다.

select id from prob_succubus where id='\' and pw=' or 1#'

id에 \, pw에 or 1=1# (앞에 공백 포함)를 넣으면 \ 뒤에 있는 ‘가 문자열로 처리됩니다.

이로 인해 pw의 앞 싱글쿼터에거 닫히며, 뒤의 or 1로 인해 인증 우회가 가능합니다.

[그림 2] 문제 정답처리

URL Encoding 후 데이터를 전달하면 문제가 정답처리 됩니다.


댓글