向诚

向诚

巷子里的猫很自由,却没有归宿。
telegram
email

2024茂安杯初高中组の概要

Web1#

サインイン問題

image-20240808170851461

ソースを表示

image-20240808170927179

qweasdrtyfgh.php を取得

image-20240808171000834

Web2#

index はgo to test.phpのハイパーリンクで、入るとすぐにファイルが含まれている

image-20240808171106313

index と test のソースコードを少し読んだが、特に発見はなく、strpos を回避できなかった

image

しかし、data ストリームは使用可能で、allow_url_fopenallow_url_includeが有効になっていることを示している

直接 system で任意のコマンドを実行し、ファイルを書き込もうとしたが、現在のディレクトリは書き込み不可で、ls も見たが他のマルウェアはなかった。tmp に書き込み、ファイルを含めて getshell を実行

image-20240808171548683

image-20240808171857729

この問題で二血を取得した。ガハハハ

Web3#

image-20240808172153842

問題を分析すると、この問題には以下のいくつかの制限がある

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

image-20240808172635216

二百分の問題。一血で十分もらった、やった!唯一解けたグループだ!

Misc1#

画像で、lsb でもなく weight を変更する必要もない

右クリックして.rar に変更すると、未暗号化の圧縮ファイル内の rsa.txt が得られる

右クリックして.zip に変更すると、flag.txt を含む暗号化された圧縮ファイルが得られる、偽暗号ではない

1723109396511

くそ、私は暗号化ができない。gpt に聞いたらすぐに解決した

bfda59a5d29efefc00db14d075e0ba3

455f6b1e4e3fea002b50f877fc37f9d

Misc2#

サインイン問題。圧縮ファイル内の QR コードをスキャンして flag をすぐに取得した

Crypto1#

サインイン問題。

image-20240808173138965

PWN#

他の大手の人が教えてくれた。私も学べないけど

main は二つの切り捨てを入力し、get_data に入る

img

ここでの len はカスタムで - 1 にすることができる

img

token に入ると 48 ('0') と XOR 計算される。もし私の name が 0 であれば、この時点で文字列は空になる

img

後で値を代入する際に len が - 1 を返すため、無限に代入され、v7 は file の上にあり、file を上書きできる

img

スタックオフセットを計算し、ちょうど s の中の flag を file に上書きし、flag を開いて出力する

ペイロード
入力 0:0:

この記事は Mix Space によって xLog に同期更新されています
元のリンクは https://de3ay.com/posts/sec/maoming-ctf-writeup


読み込み中...
文章は、創作者によって署名され、ブロックチェーンに安全に保存されています。