這一次的鐵人賽從頭開始介紹了組合語言、如何使用 GDB、ELF 檔的保護機制與工具,接著介紹了 stack 和 heap 相關的漏洞。這段過程中,我將過去一年在 PWN 領域學到的技巧與知識系統地整理了出來,並透過一些 demo 和 lab 幫助讀者更好地理解內容。這樣的互動方式能讓大家不僅是被動閱讀,還能實際操作,增強參與感,也避免了那種只看理論卻不知道如何實際操作的情況。
雖然這次鐵人賽的重點是介紹 ELF 檔的相關知識,但事實上,「萬物皆可 PWN」。無論是小小的 ELF 執行檔、Windows 的 PE 執行檔,還是每個人天天使用的瀏覽器,甚至到家中的 IoT 智慧家電,都可能成為 PWN 的目標。PWN 的技術也是多種多樣,因而被認為是 CTF 中最難掌握的分類之一。這次的主題正是希望為想要入門 PWN 領域的人提供一個較為簡單的教材,讓大家能夠更容易地踏進這個領域。
這次的主題其實是在參賽前一個月才做的更改,原本計劃是從 reverse 開始講解,並在後面再介紹一些 PWN 的基礎知識與漏洞。然而,經過一個暑假的學習和參加了 AIS3 之後,我發現自己可以分享的 PWN 知識其實足以支撐整個月的文章內容,並且也有很多值得深入探討的主題。同時,我也藉此機會強迫自己開始學習 Heap 相關的知識與漏洞,這讓我的研究領域更加多元化。
雖然這次的內容寫得不算很完美,但搭配著自己設計的 lab,相信讀者會有更高的參與感。在準備這些 lab 的過程中,我自己也學到了許多額外的知識,這是一個額外的收穫。我也希望能在未來繼續精進,持續努力。
最後,我要感謝一路上支持我學習資訊安全的各種資源、課程、文章以及講師、學長姐。大家也可以參考 AngelBoy 過去的文章和影片,是理解 Heap 結構非常好的教材。另外,張元的教材 也是非常推薦的資源。想進一步學習的人也可以考慮參加台灣好厲駭、AIS3 或 SCIST 的課程,這些都是極有幫助的學習途徑。
謝謝大家這一個月來的收看與支持!