譯者序
         譯者簡介
         序言
         前言
         緻謝
         第一部分 背景
         第1章 安全漏洞發掘方法學
         1.1白盒測試
         1.1.1源代碼評審
         1.1.2工具和自動化
         1.1.3優點閤缺點
         1.2黑盒測試
         1.2.1人工測試
         1.2.2自動測試或模糊測試
         1.2.3優點和缺點
         1.3灰盒測試
         1.3.1二進製審核
         1.3.2自動化的二進製審核
         1.3.3優點和缺點
         1.4小結
         第2章 什麼是模糊測試
         2.1模糊測試的定義
         2.2模糊測試的曆史
         2.3模糊測試階段
         2.4模糊測試的局限性和期望
         2.4.1訪問控製缺陷
         2.4.2設計邏輯不良
         2.4.3後門
         2.4.4內存破壞
         2.4.5多階段安全漏洞
         2.5小結
         第3章 模糊測試方法和模糊器類型
         3.1模糊測試方法
         3.1.1預先生成測試用例
         3.1.2隨機方法
         3.1.3協議變異人工測試
         3.1.4變異或強製性測試
         3.1.5自動協議生成測試
         3.2模糊器類型
         3.2.1本地模糊器
         3.2.2遠程模糊器
         3.2.3內存模糊器
         3.2.4模糊器框架
         3.3小結
         第4章 數據錶示和分析
         4.1什麼是協議
         4.2協議域
         4.3簡單文本協議
         4.4二進製協議
         4.5網絡協議
         4.6文件格式
         4.7常見的協議元素
         4.7.1名字-值對
         4.7.2塊標識符
         4.7.3塊長度
         4.7.4校驗和
         4.8小結
         第5章 有效模糊測試的需求
         5.1可重現性和文檔記錄
         5.2可重用性
         5.3過程狀態和過程深度
         5.4跟蹤、代碼覆蓋和度量
         5.5錯誤檢測
         5.6資源約束
         5.7小結
         第二部 分目標和自動化
         第6章 自動化測試閤測試數據生成
         6.1自動化測試的價值
         6.2有用的工具和庫
         6.2.1ETHEREAL/WIRESHARK
         6.2.2LIBDASM和LIBDISASM
         6.2.3LIBNET/LIBNETNT
         6.2.4LIBPCAP
         6.2.5METRO PACKET LIBRARY
         6.2.6PTRACE
         6.2.7PYTHON EXTENSIONS
         6.3編程語言的選擇
         6.4測試數據生成和模糊啓發式
         6.4.1整型值
         6.4.2字符串重復
         6.4.3字段分隔符
         6.4.4格式化字符串
         6.4.5字符翻譯
         6.4.6目錄遍曆
         6.4.7命令注入
         6.5小結
         第7章 環境變量和參數的模糊測試
         7.1本地化模糊測試介紹
         7.1.1命令行參數
         7.1.2環境變量
         7.2本地化模糊測試準則
         7.3尋找目標程序
         7.4本地化模糊測試方法
         7.5枚舉環境變量
         7.6自動化的環境變量測試
         7.7檢測問題
         7.8小結
         第8章 環境變量和參數的模糊測試自動化
         8.1iFUZZ本地化模糊器的特性
         8.2iFUZZ的開發
         8.3iFUZZ的開發語言
         8.4實例研究
         8.5益處和改進的餘地
         8.6小結
         第9章 Web應用程序和服務器模糊測試
         9.1什麼是Web應用程序模糊測試
         9.2目標應用
         9.3測試方法
         9.3.1建立目標環境
         9.3.2輸入
         9.4漏洞
         9.5異常檢測
         9.6小結
         第10章 Web應用程序和服務器的模糊測試:自動化
         10.1 Web應用模糊器
         10.2WebFuzz的特性
         10.2.1請求
         10.2.2模糊變量
         10.2.3響應
         10.3必要的背景知識
         10.3.1識彆請求
         10.3.2漏洞檢測
         10.4 WebFuzz的開發
         10.4.1開發方法
         10.4.2開發語言的選擇
         10.4.3設計
         10.5實例研究
         10.5.1目錄遍曆
         10.5.2溢齣
         10.5.3SQL注入
         10.5.4XSS腳本
         10.6益處和改進的餘地
         10.7小結
         第11章 文件格式模糊測試
         11.1目標應用
         11.2方法
         11.2.1強製性或基於變異的模糊測試
         11.2.2智能強製性或基於生成的模糊測試
         11.3輸入
         11.4漏洞
         11.4.1拒絕服務
         11.4.2整數處理問題
         11.4.3簡單的棧和堆溢齣
         11.4.4邏輯錯誤
         11.4.5格式化字符串
         11.4.6競爭條件
         11.5漏洞檢測
         11.6小結
         第12章 文件格式模糊測試:UNIX平颱上的自動化測試
         12.1NOTSPIKEFILE和SPIKEFILE
         12.2開發方法
         12.2.1異常檢測引擎
         12.2.2異常報告(異常檢測)
         12.2.3核心模糊測試引擎
         12.3有意義的代碼片段
         12.3.1通常感興趣的UNIX信號
         12.3.2不太感興趣的UNIX信號
         12.4僵死進程
         12.5使用的注意事項
         12.5.1ADOBE ACROBAT
         12.5.2REALNETWORKS REALPLAYRE
         12.6實例研究:REALPLAYER REALPIX格式化字符串漏洞
         12.7語言
         12.8小結
         第13章 文件格式模糊測試:Windows平颱上的自動化測試
         13.1 Windows文件格式漏洞
         13.2 FileFuzz的特性
         13.2.1創建文件
         13.2.2應用程序執行
         13.2.3異常檢測
         13.2.4保存的審核
         13.3必要的背景知識
         13.4 FileFuzz的開發
         13.4.1開發方法
         13.4.2開發語言的選擇
         13.4.3設計
         13.5實例研究
         13.6益處和改進的餘地
         13.7小結
         第14章 網絡協議模糊測試
         14.1什麼是網絡協議模糊測試
         14.2目標應用
         14.2.1數據鏈路層
         14.2.2網絡層
         14.2.3傳輸層
         14.2.4會話層
         14.2.5錶示層
         14.2.6應用層
         14.3測試方法
         14.3.1強製性或基於變異的模糊測試
         14.3.2智能強製性模糊測試和基於生成的模糊測試
         14.3.3修改的客戶端變異模糊測試
         14.4錯誤檢測
         14.4.1人工方法(基於調試器)
         14.4.2自動化方法(基於代理)
         14.4.3其他方法
         14.5小結
         第15章 網絡協議模糊測試:UNIX平颱上的自動化測試
         15.1使用SPIKE進行模糊測試
         15.1.1選擇測試目標
         15.1.2協議逆嚮工程
         15.2SPIKE 101
         15.2.1模糊測試引擎
         15.2.2通用的基於行的TCP模糊器
         15.3基於塊的協議建模
         15.4SPIKE的額外特性
         15.4.1特定於協議的模糊器
         15.4.2特定於協議的模糊測試腳本
         15.4.3通用的基於腳本的模糊器
         15.5編寫SPIKE NMAP模糊器腳本
         15.6小結
         第16章 網絡協議模糊測試:Windows平颱上的自動化測試
         16.1ProtoFuzz的特性
         16.1.1包結構
         16.1.2捕獲數據
         16.1.3解析數據
         16.1.4模糊變量
         16.1.5發送數據
         16.2必要的背景知識
         16.2.1錯誤檢測
         16.2.2協議驅動程序
         16.3ProtoFuzz的開發
         16.3.1開發語言的選擇
         16.3.2包捕獲庫
         16.3.3設計
         16.4實例研究
         16.5益處和改進的餘地
         16.6小結
         第17章 Web瀏覽器模糊測試
         17.1什麼是Web瀏覽器模糊測試
         17.2目標
         17.3方法
         17.3.1測試方法
         17.3.2輸入
         17.4漏洞
         17.5錯誤檢測
         17.6小結
         第18章 Web瀏覽器的模糊測試:自動化
         18.1組件對象模型的背景知識
         18.1.1在Nutshell中的發展曆史
         18.1.2對象和接口
         18.1.3ActiveX
         18.2模糊器的開發
         18.2.1枚舉可加載的ActiveX控件
         18.2.2屬性、方法、參數和類型
         18.2.3模糊測試和監視
         18.3小結
         第19章 內存數據的模糊測試
         19.1內存數據模糊測試的概念及實施該測試的原因
         19.2必需的背景知識
         19.3究竟什麼是內存數據模糊測試
         19.4目標
         19.5方法:變異循環插入
         19.6方法:快照恢復變異
         19.7測試速度和處理深度
         19.8錯誤檢測
         19.9小結
         第20章 內存數據的模糊測試:自動化
         20.1所需要的特性集
         20.2開發語言的選擇
         20.3Windows調試API
         20.4將其整閤在一起
         20.4.1如何在特定點將“鈎子”植入目標進程
         20.4.2如何處理進程快照和恢復
         20.4.3如何選擇植入鈎子的點
         20.4.4如何對目標內存空間進行定位和變異
         20.5一個最好的新工具PyDbg
         20.6一個構想的示例
         20.7小結
         第三部分 高級模糊測試技術
         第21章 模糊測試框架
         21.1模糊測試框架的概念
         21.2現有框架
         21.2.1antiparser
         21.2.2Dfuz
         21.2.3SPIKE
         21.2.4Peach
         21.2.5通用模糊器
         21.2.6Autodafe
         21.3定製模糊器的實例研究:Shockwave Flash
         21.3.1SWF文件的建模
         21.3.2生成有效的數據
         21.3.3對環境進行模糊測試
         21.3.4測試方法
         21.4模糊測試框架Sulley
         21.4.1Sulley目錄結構
         21.4.2數據錶示
         21.4.3會話
         21.4.4事後驗證階段
         21.4.5一個完整的實例分析
         21.5小結
         第22章 自動化協議解析
         22.1模糊測試存在的問題是什麼
         22.2啓發式技術
         22.2.1代理模糊測試
         22.2.2改進的代理模糊測試
         22.2.3反匯編啓發式規則
         22.3生物信息學
         22.4遺傳算法
         22.5小結
         第23章 模糊器跟蹤
         23.1我們究竟想要跟蹤什麼
         23.2二進製代碼可視化和基本塊
         23.2.1CFG
         23.2.2CFG示例
         23.3構造一個模糊器跟蹤器
         23.3.1刻畫目標特徵
         23.3.2跟蹤
         23.3.3交叉引用
         23.4對一個代碼覆蓋工具的分析
         23.4.1PStalker設計概覽
         23.4.2數據源
         23.4.3數據探查
         23.4.4數據捕獲
         23.4.5局限性
         23.4.6數據存儲
         23.5實例研究
         23.5.1測試策略
         23.5.2測試方法
         23.6益處和改進的餘地
         23.7小結
         第24章 智能故障檢測
         24.1基本的錯誤檢測方法
         24.2我們所要搜索的內容
         24.3選擇模糊值時的注意事項
         24.4自動化的調試器監視
         24.4.1一個基本的調試器監視器
         24.4.2一個更加高級的調試器監視器
         24.5調試器在應用程序前先看到的異常和調試器再次看到程序未捕獲的異常的比較
         24.6動態二進製插裝
         24.7小結
         第四部分 展望
         第25章 汲取的教訓
         25.1軟件開發生命周期
         25.1.1分析
         25.1.2設計
         25.1.3編碼
         25.1.4測試
         25.1.5維護
         25.1.6在SDLC中實現模糊測試
         25.2開發者
         25.3QA研究者
         25.4安全問題研究者
         25.5小結
         第26章 展望
         26.1商業工具
         26.1.1安全性測試工具beSTORM
         26.1.2BreakingPoint係統BPS-1000
         26.1.3Codenomicon
         26.1.4GLEG ProtoVer Professional
         26.1.5安全性測試工具Mu-4000
         26.1.6Security Innovation Holodeck
         26.2發現漏洞的混閤方法
         26.3集成的測試平颱
         26.4小結
      · · · · · ·     (
收起)