Cavern.sigma
Welcome to Cavern.sigma
今年跟著 TSJ 一起主辦了 HITCON CTF 2022 出了一題 Web 水題 - yeeclass 解法寫在 [Writeup](https://github.com/t510599/My-CTF-Challenges/tree/master/HITCON%20CTF/2022/yeeclass) 了 有興趣的可以參考看看 這篇主要是出題心得 ## 出題 這題的靈感是跟 NCtfU 在打 CakeCTF 2021 時的 [unintended solution](https://blog.maple3142.net/2021/08/29/cakectf-2021-writeups/#unintend-solution) 那時候用 `uniqid()` 的特性硬爆了路徑出來 後來就在看有沒有機會能湊個題目出來 剛好這次是由 TSJ 來接手 HITCON 2022 的出題工作 就試著生了個題目丟上去 最早也是想弄成類似原題的檔案上傳 或是弄成 race condition 的題目 但後來時間不太夠 懶得防東防西的 就變成現在的樣子了 XD 當時剛好是段考前 看著看著學校的 eeclass 就想到ㄌ包裝的形式 這也是題目名稱的由來 有了主題之後 想說只有 `uniqid()` 的洞也太單調了 才再弄出了權限的弱比較 (對 `-1` 是硬湊的) 差不多想好後就著手動工 大約花了 2 天多 第一天都在刻 UI 跟複習 PHP 實在太久沒碰 (汗 接著便是接上 database 跟包成 docker 為了解決跑 init script 時 DB 還沒起來的問題搞了有點久 最後包完丟出去給別人驗大概是 OS 段考的前兩天 幸好最後段考沒炸開 ## 賽中 & 賽後 上完題目大概一小時就有人首殺了 不過後面解題速度就沒那麼快了 隔天一起床就發現題目被打爛了 QQ 被 bruteforce 到 VM 扛不住 有不少人在反應題目慢 (感謝其他 staff 幫我解 ticket) 接著就開始邊配午餐邊上 apache QoS 上完一陣子後也手動 ban 了某個 ip 最後解題數只有 52 隊 其實比想像中少不少 原本預期至少有個 100 隊 畢竟就是個樸實無華 bruteforce 題 (?) 後來問發現好像有些隊是因為沒設好 timezone (docker 裡是 UTC) 才沒解開 ~~其實一開始出完自己在測試也忘記時區~~ 賽後看大家討論 發現其實不小心寫了個 XSS 出來 (? 被拿去打 cookie (其他題) XSS 了 XD ![xss](https://i.imgur.com/mL6gkMn.png) payload: ``` http://yeeclass.chal.hitconctf.com:16875/submission.php?homeworkid=2%22%3E%3Cscript%3Ealert(1)%3C/script%3E ``` ## 後記 這是我第一次出 Web 的 CTF 題 經驗不太夠 出了 bruteforce 卻沒設計好 QoS 跟 VM 規格 然後被打爆了 QQ 有了這次經驗 希望下次出題可以考慮的更周到 XD
2022-12-03 01:13:28
留言
Last fetch: --:-- 
現在還沒有留言!