Web1#
サインインの問題
view-source してみる
qweasdrtyfgh.php を取得
Web2#
index はgo to test.php
というリンクです。中に入るとファイルのインクルードが見えます。
index と test のソースコードを読んでみましたが、特に何も見つかりませんでした。strpos を回避することはできません。
しかし、データフローは使用可能です。つまり、allow_url_fopen
とallow_url_include
が有効になっています。
直接 system コマンドを実行してファイルに書き込もうとしましたが、現在のディレクトリは書き込み不可であり、ls で他のバックドアも見てみましたが、tmp に書き込んでファイルをインクルードしてシェルを取得します。
この問題は 2 点を獲得しました。嬉しいです!
Web3#
問題を分析すると、この問題には以下の制限があります。
1. phoneは配列である必要があります。
2. avatarはpostパラメータ内にflagという単語を含めることはできません。
3. string内にはrootや他の単語を含めることはできません。
したがって、最初の制限を回避するために、post 内の配列を使用し、その後__destruct を使用して逆シリアル化チェーンを渡す必要があります。チェーン内の name は逆シリアル化文字列をエスケープして第 2 の制限を回避するために使用されます。第 3 の制限は post にのみ影響を与え、post の avatar は問題と関係がなく、チェーンの avatar にも影響しません。
Payload:
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
200 点の問題。一血をもらって 10 点もらえてうれしいです!解いたチームは唯一です!
Misc1#
画像ですが、LSB でも重みを変更する必要はありません。
右クリックして.rar に変更すると、暗号化されていない圧縮ファイルの中に rsa.txt があります。
右クリックして.zip に変更すると、暗号化された圧縮ファイルがあり、内部に flag.txt がありますが、偽の暗号化ではありません。
くそっ、暗号化がわからない。GPT に聞いてみます。
Misc2#
サインインの問題。圧縮ファイル内の QR コードをスキャンしてフラグを獲得します。
Crypto1#
サインインの問題。
PWN#
他の大物が教えてくれましたが、私も理解できません。
main で 2 つの切り捨て入力が get_data に入ります。
ここでの len はカスタムで - 1 にすることができます。
トークン計算に入ると、48 ('0') と XOR されます。もし私の name が 0 なら、この時点で文字列は空になります。
後ろの代入の時に len が - 1 を返すため、無限に代入されます。v7 は file 上にあるため、file を上書きすることができます。
スタックオフセットを計算して、s の中の flag を file に上書きし、flag を開いて出力します。
payload
入力 0:0:
この記事は Mix Space からの同期更新です
元のリンクは https://de3ay.com/posts/sec/maoming-ctf-writeup