Web1#
サインイン問題
ソースを表示
qweasdrtyfgh.php を取得
Web2#
index はgo to test.php
のハイパーリンクで、入るとすぐにファイルが含まれている
index と test のソースコードを少し読んだが、特に発見はなく、strpos を回避できなかった
しかし、data ストリームは使用可能で、allow_url_fopen
とallow_url_include
が有効になっていることを示している
直接 system で任意のコマンドを実行し、ファイルを書き込もうとしたが、現在のディレクトリは書き込み不可で、ls も見たが他のマルウェアはなかった。tmp に書き込み、ファイルを含めて getshell を実行
この問題で二血を取得した。ガハハハ
Web3#
問題を分析すると、この問題には以下のいくつかの制限がある
1. phoneは配列でなければならない
2. avatarはpostパラメータ内にflagという言葉を含んではならない
3. string内にはrootや他の言葉を含んではならない
したがって、post 内の配列で最初の制限を回避し、次に__destruct を利用して逆シリアル化チェーンで引数を渡すことができる。チェーン内の name は逆シリアル化された文字列エスケープを使用して二つ目の制限を回避し、三つ目の制限は post にのみ影響し、post の avatar は問題解決に関係なく、チェーン内の avatar には影響しない
ペイロード:
name=O:9:"user_info":3:{s:4:"name";s:126:"rootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootroot";s:5:"phone";a:2:{i:0;i:1;i:1;i:1;}s:6:"avatar";s:5:"/flag";}&phone[]=1&avatar=123
二百分の問題。一血で十分もらった、やった!唯一解けたグループだ!
Misc1#
画像で、lsb でもなく weight を変更する必要もない
右クリックして.rar に変更すると、未暗号化の圧縮ファイル内の rsa.txt が得られる
右クリックして.zip に変更すると、flag.txt を含む暗号化された圧縮ファイルが得られる、偽暗号ではない
くそ、私は暗号化ができない。gpt に聞いたらすぐに解決した
Misc2#
サインイン問題。圧縮ファイル内の QR コードをスキャンして flag をすぐに取得した
Crypto1#
サインイン問題。
PWN#
他の大手の人が教えてくれた。私も学べないけど
main は二つの切り捨てを入力し、get_data に入る
ここでの len はカスタムで - 1 にすることができる
token に入ると 48 ('0') と XOR 計算される。もし私の name が 0 であれば、この時点で文字列は空になる
後で値を代入する際に len が - 1 を返すため、無限に代入され、v7 は file の上にあり、file を上書きできる
スタックオフセットを計算し、ちょうど s の中の flag を file に上書きし、flag を開いて出力する
ペイロード
入力 0:0:
この記事は Mix Space によって xLog に同期更新されています
元のリンクは https://de3ay.com/posts/sec/maoming-ctf-writeup