Information Security
[Lord Of Sql injection] nightmare 본문
Web Hacking/Lord Of Sql injection 풀이
[Lord Of Sql injection] nightmare
leeeeye321 2017. 12. 27. 00:13[Lord Of Sql injection] nightmare
정말 악몽 같은 문제이지만 오~~래 고민하면 해결할 수 있을 것이다.
힌트: auto type cast
if(strlen($_GET[pw])>6) exit("No Hack ~_~");
$query = "select id from prob_nightmare where pw=('{$_GET[pw]}') and id!='admin'";
pw가 (' ') 안에 들어가게 되는데, 글자 수는 6자 이하로 제한된다.
문자열은 숫자와 비교하면 자동으로 0으로 치환된다고 한다.
여기서 비밀번호가 문자열인 id는 user2 뿐이다.
pw=0이 참이되는 id는 pw가 문자열인 user2이다.
pw=('')=0
'' 문자열이 0에 의해 자동으로 int로 형 변환(auto type cast) 되어서 위의 문장은 참이된다.
if(preg_match('/prob|_|\.|\(\)|#|-/i', $_GET[pw])) exit("No Hack ~_~");
그리고 뒤의 부분을 주석 처리하면 되는데, 주석 #이 차단되므로 이를 ;%00으로 대체한다.
악몽 clear
'Web Hacking > Lord Of Sql injection 풀이' 카테고리의 다른 글
[Lord Of Sql injection] dragon (0) | 2017.12.31 |
---|---|
[Lord Of Sql injection] xavis (0) | 2017.12.27 |
[Lord Of Sql injection] succubus (0) | 2017.12.27 |
[Lord Of Sql injection] zombie_assassin (0) | 2017.12.26 |
[Lord Of Sql injection] assassin (0) | 2017.12.26 |