被 web 題電得亂七八糟,基本上什麼都沒解出來。題目的品質都很不錯,學到很多新東西,值得記錄一下。
關鍵字:
- Electron relaunch to RCE
- 利用 Python decorator 執行程式碼
- 透過特殊檔名讓 Apache 不輸出 content type header
- GIF + JS polyglot
- 繞過 SQLite 不合法欄位名稱
- JS 註解
<!-- - superjson
被 web 題電得亂七八糟,基本上什麼都沒解出來。題目的品質都很不錯,學到很多新東西,值得記錄一下。
關鍵字:
<!-- 上個假日隨意地玩了一下 SekaiCTF 2022,不得不說視覺風格滿讚的,看得出來花了滿多心思在這個上面,很有遊戲的感覺。
這次我只玩了兩題 web,其中一題 xsleak 的 safelist 拿了 first blood,另外一題沒解開,說實在有點可惜(當 justCatTheFish 解開的時候我想說是誰這麼猛,賽後發現原來是 terjanq lol)
這篇寫一下 safelist 跟 Obligatory Calc 的解法,如果想看其他 web 題,可以看 lebr0nli 的 blog:SekaiCTF 2022 Writeups
關鍵字:
在講到針對網頁前端的攻擊時,你我的心中浮現的八成會是 XSS,但如果你沒辦法在網頁上執行 JavaScript,有沒有其他的攻擊手法呢?例如說,假設可以插入 style 標籤,你能夠做些什麼?
在 2018 年的時候,我有寫過一篇 CSS keylogger:攻擊與防禦,那時剛好在 Hacker News 上面看到相關的討論,於是就花了點時間研究了一下。
而 4 年後的現在,我從資安的角度重新認識了這個攻擊手法,因此打算寫一兩篇文章來好好講解 CSS injection。
這篇的文章內容包含:
在我之前的文章:從 cdnjs 的漏洞來看前端的供應鏈攻擊與防禦裡面有提過可以藉由 cdnjs 來繞過 CSP,而有其中一種繞過手法必須搭配 prototype.js 才能成功。
在理解原理之後,我開始好奇在 cdnjs 上面是否還有其他 library 可以做到類似的事情,因此就開始著手研究。
這篇會從 cdnjs 的 CSP 繞過開始講,講到為什麼需要 prototype.js,接著再提到我怎麼從 cdnjs 上找到它的替代品。
其實沒有參加這一次的 CTF,但有稍微看到兩題跟 content type 有關的題目覺得有趣,來記一下解法。
第一次參加 GoogleCTF,這次解了一題 web(HORKOS),然後另外一題偏接近但沒解出來(POSTVIEWER),依照慣例簡單寫一下每一題的 web 的解法,以解出人數來排序。
附上關鍵字如下:
這個假日有 justCTF 跟全部都是 web 的 WeCTF,我本來想說兩個都打,一邊卡住的話可以跳到另一邊,殊不知兩邊都卡住XD
這次 justCTF 滿多不錯的 web 題,依照慣例寫一下筆記並且記一下關鍵字:
:target selector底下的順序以解開的數量排序,越前面越多人解開。
今年的 DEF CON CTF 資格賽跟去年差不多,都是 binary 相關的題目居多,而且今年的需要一堆 reverse 知識,像我這種基本上不會 reverse 的只能在一旁發呆外加幫隊友加油。
不過今年唯一的 web 題(叫做 Discoteq)我倒是覺得滿有趣的,難度不高但滿考驗 debug 跟觀察力以及迅速上手一個新東西的能力,我覺得考的是基本功,而不是對某個語言或是框架的知識,這點還滿棒的。
因為今年就只有這一題好寫,換個方式寫寫看好了,我來照著時間軸寫一下當時解題的想法,時間後面代表從題目釋出過了多久。
原本想要寫得詳細一點再 po 的,但我發現如果要這樣的話,可能要過很久才會 po,所以還是趕快先寫一篇簡短版的。
這次寫的是以下四題,都是 web:
先記幾個 keyword 以後比較容易找:
<svg><style><meta name="referrer" content="unsafe-url" /><meta http-equiv="refresh" content="3;url">