Hacking: The Art of Exploitation(第二版)#
本書由 Jon Erickson 所著,把駭客這門技藝的完整圖像攤開來講:從程式設計、機器碼、到漏洞利用,一路補齊中間所有環節。它不只教你使用工具,更教你理解事物如何運作、並想著開發者沒想到的事。
駭客的本質是:在系統規則之內,找到別人沒看到、違反直覺的那條路。犯不犯法是應用層面的事,與這項能力本身無關。
章節導覽#
| 章 | 主題 | 核心內容 |
|---|---|---|
| 0x100 | 導論 | 駭客精神、駭客倫理、知識的善惡 |
| 0x200 | 程式設計 | C 語言、組合語言、記憶體分段、堆疊框架 |
| 0x300 | 漏洞利用 | 緩衝區溢位、格式字串攻擊、控制執行流程 |
| 0x400 | 網路 | OSI 模型、socket、嗅探、DoS、TCP/IP 劫持、連接埠掃描 |
| 0x500 | Shellcode | 自寫組合語言 shellcode、去除 null 位元組、port-binding 與反連 |
| 0x600 | 對抗措施 | 偵測與防護型對策、繞過日誌、不可執行堆疊、ASLR |
| 0x700 | 密碼學 | 資訊理論、對稱/非對稱加密、密碼破解、WEP 攻擊 |
| 0x800 | 結語 | 駭客在技術協同演化中的角色 |
各章循序漸進、彼此堆疊:程式設計是理解漏洞利用的前提,漏洞利用是理解對抗措施的前提。建議依序閱讀,讓每一層概念承接上一層。
本書原附一張以 Ubuntu Linux 為基礎的可開機 LiveCD,內含書中所有原始碼與預先配置好的開發/漏洞利用環境,讓讀者能一邊讀、一邊照著跑、自行實驗——這正是駭客學習方式的核心。