內容介紹
《捉蟲日記》由克萊恩所著,《捉蟲日記》從實踐角度介紹安全漏洞,描述了作者在過去幾年裡怎樣發現漏洞、怎樣利用漏洞來攻擊以及開發商如何修復,旨在為開發人員提醒,為漏洞研究領域的工作人員提供工作思路。
作品簡述
《捉蟲日記》是 2012年 人民郵電出版社出版的圖書,作者是 Tobias Klein。
作者介紹
Tobias Klein 德國著名信息安全諮詢與研究公司NESO安全實驗室創始人,資深軟體安全研究員,職業生涯中發現的軟體安全漏洞無數,更曾為蘋果、微軟等公司的產品找出不少漏洞。除本書外,還出版過兩本信息安全方面的德文作品。
張伸 不合格碼農。愛咖啡,愛葡萄酒。愛聽布魯斯,也愛吃朱古力。不小資,不文青,只是喜歡收藏圖書和CD。慢生活,每天聽相聲才能入睡。twitter和新浪微博:@loveisbug。
作品目錄
目 錄
第1章 捉蟲 1
1.1 興趣還是利益 2
1.2 通用技巧 2
1.2.1 個人技術偏好 2
1.2.2 代碼中潛在的漏洞 3
1.2.3 模糊測試 3
1.2.4 延伸閱讀 3
1.3 記憶體錯誤 4
1.4 專用工具 4
1.4.1 調試器 4
1.4.2 反彙編工具 5
1.5 EIP = 41414141 5
1.6 結束語 6
第2章 回到90年代 7
2.1 發現漏洞 8
2.1.1 第一步:生成VLC中解復用器的清單 8
2.1.2 第二步:識別輸入數據 8
2.1.3 第三步:跟蹤輸入數據 9
2.2 漏洞利用 11
2.2.1 第一步:找一個TiVo格式的樣例電影檔案 11
2.2.2 第二步:找一條代碼路徑執行到漏洞代碼 11
2.2.3 第三步:修改這個TiVo電影檔案,使VLC崩潰 14
2.2.4 第四步:修改這個TiVo電影檔案,控制EIP 15
2.3 漏洞修正 16
2.4 經驗和教訓 20
2.5 補充 21
第3章 突破區域限制 24
3.1 發現漏洞 24
3.1.1 第一步:列出核心的IOCTL 25
3.1.2 第二步:識別輸入數據 26
3.1.3 第三步:跟蹤輸入數據 27
3.2 漏洞利用 34
3.2.1 第一步:觸發這個空指針解引用,實現拒絕服務 34
3.2.2 第二步:利用零頁記憶體控制EIP/RIP 38
3.3 漏洞修正 47
3.4 經驗和教訓 48
3.5 補充 48
第4章 空指針萬歲 50
4.1 發現漏洞 50
4.1.1 第一步:列出FFmpeg的解復用器 51
4.1.2 第二步:識別輸入數據 51
4.1.3 第三步:跟蹤輸入數據 52
4.2 漏洞利用 55
4.2.1 第一步:找一個帶有有效strk塊的4X樣例電影檔案 55
4.2.2 第二步:了解這個strk塊的布局 55
4.2.3 第三步:修改這個strk塊以使 FFmpeg崩潰 57
4.2.4 第四步:修改這個strk塊以控制EIP 60
4.3 漏洞修正 65
4.4 經驗和教訓 68
4.5 補充 68
第5章 瀏覽即遭劫持 70
5.1 探尋漏洞 70
5.1.1 第一步:列出WebEx註冊的對象和導出方法 71
5.1.2 第二步:在瀏覽器中測試導出方法 73
5.1.3 第三步:找到二進制檔案中的對象方法 74
5.1.4 第四步:找到用戶控制的輸入數值 76
5.1.5 第五步:逆向工程這個對象方法 78
5.2 漏洞利用 81
5.3 漏洞修正 83
5.4 經驗和教訓 83
5.5 補充 83
第6章 一個核心統治一切 85
6.1 發現漏洞 85
6.1.1 第一步:為核心調試準備一個VMware客戶機 86
6.1.2 第二步:生成一個avast!創建的驅動和設備對象列表 86
6.1.3 第三步:檢查設備的安全設定 87
6.1.4 第四步:列出IOCTL 89
6.1.5 第五步:找出用戶控制的輸入數據 94
6.1.6 第六步:逆向工程IOCTL處理程式 97
6.2 漏洞利用 101
6.3 漏洞修正 107
6.4 經驗和教訓 107
6.5 補充 108
第7章 比4.4BSD還老的BUG 110
7.1 發現漏洞 110
7.1.1 第一步:列出核心的IOCTL 111
7.1.2 第二步:識別輸入數據 111
7.1.3 第三步:跟蹤輸入數據 113
7.2 漏洞利用 116
7.2.1 第一步:觸發這個bug使系統崩潰(拒絕服務) 116
7.2.2 第二步:準備一個核心調試的環境 118
7.2.3 第三步:連線調試器和目標系統 118
7.2.4 第四步:控制EIP 120
7.3 漏洞修正 125
7.4 經驗和教訓 126
7.5 補充 126
第8章 鈴音大屠殺 129
8.1 發現漏洞 129
8.1.1 第一步:研究iPhone的音頻性能 130
8.1.2 第二步:創建一個簡單的模糊測試程式對這個手機進行模糊
測試 130
8.2 崩潰分析及利用 136
8.3 漏洞修正 142
8.4 經驗和教訓 143
8.5 補充 143
附錄A 捉蟲提示 145
附錄B 調試 158
附錄C 緩解技術 170