Web1#
簽到題
view-source 一下
得到 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
Payload:
name=O:9:"user_info":3:{s:4:"name";s:126:"rootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootroot";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#
簽到題。壓縮包內二維碼掃描得到 flag 秒了
Crypto1#
簽到題。
PWN#
別的大手子教的。我也學不會就是
main 輸入兩個截斷後進入 get_data
這裡 的 len 是自定義的可以為 - 1
進入 token 計算會異或一個 48 ('0'),如果我 name 就是 0,這個時候字符串會變為空
當後面賦值的時候因為 len 返回 - 1 就無限賦值了,v7 在 file 上面可以覆蓋到 file
算一下棧偏移打過去剛好把 s 中的 flag 覆蓋到 file,就打開 flag 並輸出
payload
輸入 0:0:
此文由 Mix Space 同步更新至 xLog
原始鏈接為 https://de3ay.com/posts/sec/maoming-ctf-writeup