近期我以零日文基礎的身份開始唸書並通過了日本的基本情報技術者以及情報セキュリティマネジメント試験,這篇會分享我是怎麼準備的,又運用了哪些考試技巧。

文章大綱如下:

  1. 為什麼要考這兩個考試?
  2. 日本 IPA 相關證照簡介
  3. 情報セキュリティマネジメント試験在考什麼?
  4. 基本情報技術者試験在考什麼?
  5. 我是怎麼準備考試的?策略是什麼?
  6. 考試如何進行?
  7. 考試的心得以及分數

閱讀更多

今年 Water Paddler 拿了第二名,總共 9 題 web 解掉了 8 題(我貢獻了 2 題),整體 web 的難度我覺得去年似乎比較難,今年比的人似乎也比較少一點。

話說最近我發現自己的 writeup 筆記沒有以前這麼多了,其中一個原因是最近比較忙,另一個原因是最近有興趣的題目(client side)沒這麼多,或我也有在想搞不好是隊友越變越強,還沒開題就被隊友解掉,我也懶得再去看題目,於是就懶得寫筆記了XD

這次只記幾題有參與或有興趣的,其他就先省略了。

閱讀更多

雖然過了快兩個月,但還是來補一下筆記。去年被電得很慘,原本想說過一年了,今年應該會比較好吧,沒想到還是被電爛。

關鍵字:

  1. SSRF mongoDB via telnet protocol
  2. jetty cookie parser
  3. ASI (Automatic Semicolon Insertion)
  4. VM sandbox escape via Proxy
  5. process.binding
  6. 瀏覽器的 XSLT + XXE

開頭先貼一下官方的 repo,裡面有程式碼跟解答:https://github.com/dicegang/dicectf-2023-challenges

閱讀更多

最近有人在臉書前端交流社群發了一則貼文,內容是他看到了一個問題:請問登入api傳賬號、密碼json明碼會有問題嗎?,想知道大家對這個問題的看法。

而底下的回答大部份都是覺得「有用 HTTPS 就好了,沒必要額外再實作一層加密,沒有什麼太大的意義」

老實說我以前也是這樣認為的,而且過去在社群中就有出現過類似的討論。我那時候想說都已經有 HTTPS 了,而 HTTPS 本身的目的就是為了保障傳輸的安全,為什麼要自己再做加密?

但這一兩年接觸資安以後,我的想法有了改變,我認為前端在傳輸前把密碼加密,是有其意義的,而接下來我會詳細說明我的理由。

閱讀更多

今年認真跟著 Water Paddler 打了一整年的 CTF,看到有人整理出了一篇 CTF: Best Web Challenges 2022,發現裡面的題目大多數我都有打過,就想說那不如我來寫一篇整理吧,整理一下我自己打過覺得有學到新東西的題目。

因為個人興趣,所以會特別記下來的題目都跟前端與 JS 相關,像是其他有關於後端(PHP、Java 等等)的我就沒記了。

另外,這題有紀錄到的技巧或解法不代表第一次出現在 CTF 上,只是我第一次看到或是覺得值得紀錄,就會寫下來。

我把題目分成幾個類別:

  1. JS 相關知識
  2. Node.js 相關
  3. XSLeaks
  4. 前端 DOM/BOM 相關知識
  5. 瀏覽器內部運作相關

閱讀更多

簡單記一些自己有打的題目,沒有打的就不記了。

依照慣例先附上關鍵字:

  1. Python os.path.join 的利用
  2. YAML & JS polyglot
  3. strace & LD_PRELOAD

閱讀更多

前陣子有幾個 CTF 都很不錯,像是 SECCON 跟 HITCON,但可惜我前陣子剛好出國玩了,回來以後就懶得寫完整 writeup 了。原本其實連記下來都懶得記,可是一旦時間久了,要找相關的資料就會變得很難找,所以還是決定簡單記一下。

除此之外,順便記一下幾題我覺得以前應該要記下來,但不知道為什麼卻沒記下來的題目。

關鍵字:

  1. Node.js prototype pollution gadget to RCE (Balsn CTF 2022 - 2linenodejs)
  2. 取得 JS proxy 的原始值 (corCTF 2022 - sbxcalc)
  3. 瀏覽器 back 行為的 cache (SECCON CTF 2022 - spanote)
  4. 利用 svg 做出同步的 XSS (HITCON CTF 2022)
  5. 讀到 shadow DOM 的資料 (HITCON CTF 2022)

閱讀更多

被 web 題電得亂七八糟,基本上什麼都沒解出來。題目的品質都很不錯,學到很多新東西,值得記錄一下。

關鍵字:

  1. Electron relaunch to RCE
  2. 利用 Python decorator 執行程式碼
  3. 透過特殊檔名讓 Apache 不輸出 content type header
  4. GIF + JS polyglot
  5. 繞過 SQLite 不合法欄位名稱
  6. JS 註解 <!--
  7. superjson

閱讀更多

上個假日隨意地玩了一下 SekaiCTF 2022,不得不說視覺風格滿讚的,看得出來花了滿多心思在這個上面,很有遊戲的感覺。

這次我只玩了兩題 web,其中一題 xsleak 的 safelist 拿了 first blood,另外一題沒解開,說實在有點可惜(當 justCatTheFish 解開的時候我想說是誰這麼猛,賽後發現原來是 terjanq lol)

這篇寫一下 safelist 跟 Obligatory Calc 的解法,如果想看其他 web 題,可以看 lebr0nli 的 blog:SekaiCTF 2022 Writeups

關鍵字:

  1. xsleak
  2. lazy loading image
  3. 6 concurrent request limit
  4. socket pool
  5. null origin
  6. null e.source

閱讀更多

上集裡面,我們知道了基本的 CSS 偷資料原理,並且以 HackMD 作為實際案例示範,成功偷到了 CSRF token,而這篇則是要深入去看 CSS injection 的一些細節,解決以下問題:

  1. HackMD 因為可以即時同步內容,所以不需要重新整理就可以載入新的 style,那其他網站呢?該怎麼偷到第二個以後的字元?
  2. 一次只能偷一個字元的話,是不是要偷很久呢?這在實際上可行嗎?
  3. 有沒有辦法偷到屬性以外的東西?例如說頁面上的文字內容,或甚至是 JavaScript 的程式碼?
  4. 針對這個攻擊手法的防禦方式有哪些?

閱讀更多