1 2 3 4 5 6 7 8 9 10 11 12 | <?php include "./config.php" ; login_chk(); dbconnect(); if (preg_match( '/\'/i' , $_GET[id])) exit ( "No Hack ~_~" ); if (@ereg( "admin" ,$_GET[id])) exit ( "HeHe" ); $query = "select id from prob_troll where id='{$_GET[id]}'" ; echo "<hr>query : <strong>{$query}</strong><hr><br>" ; $result = @mysql_fetch_array(mysql_query($query)); if ($result[ 'id' ] == 'admin' ) solve( "troll" ); highlight_file(__FILE__); ?> |
이번에는 ' 이 친구를 쓸수 없고 admin 문자열을 쓸 수 없다.
admin은 hex로 encode해서 쓰면 될거 같은데 ' 는 좀 감이 안온다. 저걸 부셔야 쿼리를 넣을텐데!
하고 여러가지 해보다가 안되서 찾아보니...
좀 어이가 없지만 deprecated 된 ereg는 대문자 검사를 못한단다.
적당히 대문자로 .... 바꿔넣어주자