include "./config.php";
login_chk();
$db = dbconnect();
if(preg_match('/\'/i', $_GET[pw])) exit("No Hack ~_~");
$query = "select id from prob_assassin where pw like '{$_GET[pw]}'";
echo "<hr>query : <strong>{$query}</strong><hr><br>";
$result = @mysqli_fetch_array(mysqli_query($db,$query));
if($result['id']) echo "<h2>Hello {$result[id]}</h2>";
if($result['id'] == 'admin') solve("assassin");
highlight_file(__FILE__);
特徴は以下。
- pwを入力する。以下フィルターがある
'が使えない- adminが出てくるようにする
- like文の中に入れ込む
like文
試しに%を入れてみる。
色々スクリプトで探索してみると、似ているpwがいくつかあって、adminのものを特定していけばいいみたい。
?%で探すと9だけヒットする。
9?%で探すと90だけヒットする。
90%で探すと、d2Dの3通りヒットするので、3通り試すと、902%がadminのpwである。