從去年 11 月開始,Coupang 個資外洩的事件就受到不少關注,一來是據傳外洩的資料數目龐大,二來這間公司也有在台灣設點。隨著調查進度持續推進,也有越來越多細節出現,甚至還被形容為如同電影情節,去河裡打撈硬碟。
最近跑去翻了韓國那邊出的報告發現寫得還滿詳細的,就寫一篇來聊聊這整件事情在技術上到底是怎麼做到的,以及在資安上又有哪些可以留意的地方。
最近碰到一個場合拿到了個 Golang HTTP server 的 binary,需要把它拆開進一步研究,找到通往下一步的線索。
但關於逆向工程這件事情,我是很陌生的。我只會把 binary 丟到 Ghidra 裡面,接著就什麼都不會了,我連搜尋字串都不會。
不過現在 AI agent 已經進化得很快了,只要工具運用得當,像我這種的逆向外行人,也能簡單靠 AI 做基礎的逆向工程,這篇就來記錄一下步驟。
先寫在前面,我拿到的跟這次示範的都是比較小的程式,如果是更大或更複雜的我也不知道能不能跑。我也不會覺得 AI 可以完全取代人原本需要做的部分,但鐵定能讓部分任務變得更輕鬆。
而像我這樣的外行人,原本能逆出的東西接近沒有,靠 AI 之後能給一些線索都好,就算是亂講的也有一些些參考價值,有總比沒有好嘛,亂講的我還能想辦法再去驗證。至於原本就會逆向的,我也不確定 AI 有沒有幫助,或者是他們會怎麼用,這個不在本篇的討論範圍。
前陣子去 JSDC 的線上前導活動分享了這個主題,想說既然都分享了,不如就寫篇文章好了。這篇文章的靈感來源以及內容其實都是來自於《JavaScript 重修就好》。當初寫書的時候就有參考 React 原始碼中的一些東西,這篇只是把原本分散在書中的各個 React 相關章節整理起來重寫一遍。
我覺得從這些開源專案的程式碼中學一些新的概念滿有趣的,畢竟這些很多人用的框架通常碰過的 bug 也越多,學到這些問題的解法以後,也可以再回去反思以前自己學過的東西。
這篇分成三個小章節:
開頭先聲明一下,雖然標題叫做「從 React 中學習 JavaScript 底層運作」,只有最後一個比較底層,第一個更是與底層沒什麼關係。只是我沒想到比這個更好的標題,因此就用這個了。
前陣子有個讀者分享給我他自己做的 Chrome extension:JP NEWS Helper,能夠摘要、翻譯 NHK News Easy 上面的文章,幫助學日文。
由於這個擴充套件是開源的,因此我第一件好奇的事就是:「它是用哪一間 AI 的服務,key 怎麼處理?」,結果看了 source code 才發現居然是 Chrome 內建的 Web API,不是我以為的 HTTP API。
算是有點後知後覺,現在才發現原來有內建的 Web API 可以用,因此寫篇文章簡單記錄一下。
前陣子收到一封讀者來信,問我能不能寫一篇來講解 XSS without parentheses and semi-colons 這篇文章,說是這裡面的 payload 看不太懂。
因此,這篇就來簡單講解一下這些 payload,參考的原文是 Gareth Heyes 的這兩篇文章:
身為每天都要與網頁打交道的前端工程師,熟悉 DevTools 的使用是相當合理的。每當接 API 出問題時,就按下快捷鍵打開 DevTools,切到 Network 分頁,找到紅色的那一行,右鍵複製成 cURL 貼到群組裡面,讓後端自己找找問題。
但不曉得大家有沒有碰過 DevTools 不夠用的狀況,這時該怎麼辦?
應該不少人都有跟到三週前 VS Code 上的知名套件 Material Theme 被微軟主動下架的新聞,那下架的理由是什麼呢?根據你得知這件事的消息來源以及自身個性,可能會有兩種回答:
為什麼跟自身個性有關呢?因為就算消息來源接收到的是第一種,在種種條件的互相加持影響之下,你也很有可能解釋成第二種。
當你想在網頁上向 server 發送一些 tracking 相關的資訊時,比起直接用 fetch 送出請求,有另一個通常會被推薦的選擇:navigator.sendBeacon。
為什麼會推薦這個呢?
因為如果是用一般送出請求的方法,在使用者把頁面關掉或是跳轉的時候可能會有問題,例如說剛好在關掉頁面時發送請求,這個請求可能就送不出去,隨著頁面關閉一起被取消了。
雖然說可以利用一些方法嘗試強制送出請求,但這些方法通常都會傷害使用者體驗,例如說強制讓頁面晚一點關閉,或是送出一個同步的請求之類的。
而 navigator.sendBeacon 就是為了解決這個問題而生的。
久違的筆記,想寫很久了但一直拖延,像是 CTF 這種東西的 writeup 其實速度滿重要的,因為賽後討論大部分都在 Discord 裡面發生,時間久了訊息比較難找,而且很有可能忘記,要趕快寫成 writeup 才能把那些實用的資訊記錄下來。
這篇一次帶來三個 CTF 的 writeup,有些我沒有打,只是純粹看著別人的筆記重新記一遍而已。
關鍵字列表:
在 idekCTF 2024 中,由 icesfont 所出的一道題目 srcdoc-memos 十分有趣,牽涉到了許多 iframe 的相關知識。我沒有實際參加比賽,但賽後看了題目以及解法,還是花了好幾天才終於看懂為什麼,十分值得把過程以及解法記錄下來。
由於這題牽涉到不少與 iframe 相關的知識,我會盡量一步一步來,會比較好理解。