
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로 인해 인증 우회가 가능합니다.

URL Encoding 후 데이터를 전달하면 문제가 정답처리 됩니다.
'CTF > los' 카테고리의 다른 글
| [CTF] Lord of SQLInjection 16번 zombie_assassin Write-Up (0) | 2026.03.10 |
|---|---|
| [CTF] Lord of SQLInjection 14번 giant Write-Up (0) | 2026.03.10 |
| [CTF] Lord of SQLInjection 13번 bugbear Write-Up (0) | 2026.03.10 |
| [CTF] Lord of SQLInjection 12번 darkknight Write-Up (0) | 2026.03.10 |
| [CTF] Lord of SQLInjection 11번 golem Write-Up (0) | 2026.03.10 |
댓글