<?php include "./config.php"; login_chk(); dbconnect(); if(strlen($_GET[shit])>1) exit("No Hack ~_~"); if(preg_match('/ |\n|\r|\t/i', $_GET[shit])) exit("HeHe"); $query = "select 1234 from{$_GET[shit]}prob_giant where 1"; echo "<hr>query : <strong>{$query}</strong><hr><br>"; $result = @mysql_fetch_array(mysql_query($query)); if($result[1234]) solve("giant"); highlight_file(__FILE__); ?>
아주 간단한 문젠데 숨이 턱 막힌다. 띄어쓰기만 하면 되는데 띄어쓰기를 못한다.
무작정 urlencode hardware에 들어가서 하나씩 입력해보았는데 (와중에 %5CR 뭐 이런 이상한거도 찾았는데 도움은 안된다. 한글자로 출력되지 않기 때문에)
몇개 입력안했는데 그냥 bypass되었다. 깨진 문자열은 그냥 pass되는건가..? 나는 %0B를 입력했다
select 1234 fromprob_giant where 1