「從攻擊手法開始重新認識網路」是一個新的系列文,比起從頭開始講起某個東西如何運作,我會直接先從攻擊手法開始切入,從這點去探討這個攻擊是怎麼做到的,又該如何防禦。
帶著這些問題去閱讀文章,可以更有意識地去理解現在要學的是什麼,待會看到的東西又是為了解決什麼問題。比起平鋪直敘的講解名詞,「從一開始就帶著問題閱讀」是我更想嘗試的方式。
這篇會聊聊 DNS 的運作原理、攻擊手法以及相對應的解法,話不多說直接開始。
「從攻擊手法開始重新認識網路」是一個新的系列文,比起從頭開始講起某個東西如何運作,我會直接先從攻擊手法開始切入,從這點去探討這個攻擊是怎麼做到的,又該如何防禦。
帶著這些問題去閱讀文章,可以更有意識地去理解現在要學的是什麼,待會看到的東西又是為了解決什麼問題。比起平鋪直敘的講解名詞,「從一開始就帶著問題閱讀」是我更想嘗試的方式。
這篇會聊聊 DNS 的運作原理、攻擊手法以及相對應的解法,話不多說直接開始。
2026 年 5 月 19 日,拿來做圖表的套件 antv 遭到攻擊,最新版本被植入惡意程式。
5 月 13 日,前端圈很熱門的 TanStack 系列 repo 也遭到攻擊。
4 月 1 日,每週有一億次下載的 axios 也同樣被攻擊,被發布了惡意版本。
大概每隔一個月或甚至一週就會看到供應鏈攻擊的新聞,而被攻擊的對象也不只有 npm,Python 的 PyPI、.NET 的 NuGet、甚至是 Docker Hub 或是開發者在用的 VSCode extension,也全部都是目標。
在這個前提下,開發者該如何保護自己?
這篇主要來談談針對 npm 的供應鏈攻擊,先從原理開始聊起,接著來談談攻擊手法,以及防禦方式。
之前寫過一篇感謝 AI 讓我這外行人也能做簡單的逆向工程,描述了我怎麼結合 AI agent 跟 ghidra MCP,去逆向一個 Golang binary(stripped),就算結果有點小錯誤,但整體方向都是對的。
過了快兩個月,這中間我拿 AI 去逆向了更多東西,更多我以為 AI 逆不出來的東西,但 AI 狠狠地打了我的臉,我才是無知的那個。
這篇記錄一下 AI 能做到的事情,最後聊聊這件事讓我對 AI 的看法有了怎樣的改變。
最近碰到一個場合拿到了個 Golang HTTP server 的 binary,需要把它拆開進一步研究,找到通往下一步的線索。
但關於逆向工程這件事情,我是很陌生的。我只會把 binary 丟到 Ghidra 裡面,接著就什麼都不會了,我連搜尋字串都不會。
不過現在 AI agent 已經進化得很快了,只要工具運用得當,像我這種的逆向外行人,也能簡單靠 AI 做基礎的逆向工程,這篇就來記錄一下步驟。
先寫在前面,我拿到的跟這次示範的都是比較小的程式,如果是更大或更複雜的我也不知道能不能跑。我也不會覺得 AI 可以完全取代人原本需要做的部分,但鐵定能讓部分任務變得更輕鬆。
而像我這樣的外行人,原本能逆出的東西接近沒有,靠 AI 之後能給一些線索都好,就算是亂講的也有一些些參考價值,有總比沒有好嘛,亂講的我還能想辦法再去驗證。至於原本就會逆向的,我也不確定 AI 有沒有幫助,或者是他們會怎麼用,這個不在本篇的討論範圍。
應該不少人都有跟到三週前 VS Code 上的知名套件 Material Theme 被微軟主動下架的新聞,那下架的理由是什麼呢?根據你得知這件事的消息來源以及自身個性,可能會有兩種回答:
為什麼跟自身個性有關呢?因為就算消息來源接收到的是第一種,在種種條件的互相加持影響之下,你也很有可能解釋成第二種。
久違的筆記,想寫很久了但一直拖延,像是 CTF 這種東西的 writeup 其實速度滿重要的,因為賽後討論大部分都在 Discord 裡面發生,時間久了訊息比較難找,而且很有可能忘記,要趕快寫成 writeup 才能把那些實用的資訊記錄下來。
這篇一次帶來三個 CTF 的 writeup,有些我沒有打,只是純粹看著別人的筆記重新記一遍而已。
關鍵字列表:
在 idekCTF 2024 中,由 icesfont 所出的一道題目 srcdoc-memos 十分有趣,牽涉到了許多 iframe 的相關知識。我沒有實際參加比賽,但賽後看了題目以及解法,還是花了好幾天才終於看懂為什麼,十分值得把過程以及解法記錄下來。
由於這題牽涉到不少與 iframe 相關的知識,我會盡量一步一步來,會比較好理解。
這半年左右因為有其他事情在忙,有段時間沒有好好打一場 CTF 了,這次為了 GoogleCTF 2024 騰出時間,跟隊友一起把所有 web 都解掉了。
然後題目依舊很有趣,這次有三題有參與到,另外兩題比較簡單的隊友都先解掉了,沒機會看,但還是會稍微做個紀錄。難得有這種幾乎都是 client-side challenge 的 CTF,我是滿喜歡的。
關鍵字:
Polyfill.io 是一個能夠自動提供前端 polyfill 的服務,使用方法相當方便,只需要選擇想被 polyfill 的功能,再引入一個 JavaScript 檔案即可:
<script src="https://polyfill.io/v3/polyfill.min.js"></script>
Server 端會自動根據 user-agent 來判斷是不是需要回傳 polyfill,所以只會引入真的需要的程式碼,聽起來方便又好用。
但這幾天應該有人收到 Google Ads 的通知,說這有 security issue,這又是爲什麼呢?