産品特色
編輯推薦
來自騰訊的安全經驗,來自烏雲平颱的專業保障 瀏覽器威脅韆變萬化,從Web前端到瀏覽器邊界突破 覆蓋規範、功能實現和渲染層,實戰攻防各主流現代瀏覽器 工具或原理隻通其一不是優秀白帽子,知其所以然且能攻善守纔是
內容簡介
瀏覽器是重要的互聯網入口,一旦受到漏洞攻擊,將直接影響到用戶的信息安全。作為攻擊者有哪些攻擊思路,作為用戶有哪些應對手段?在《白帽子講瀏覽器安全》中我們將給齣解答,帶你瞭解瀏覽器安全的方方麵麵。《白帽子講瀏覽器安全》兼顧攻擊者、研究者和使用者三個場景,對大部分攻擊都提供瞭分析思路和防禦方案。《白帽子講瀏覽器安全》從攻擊者常用技巧的“錶象”深入介紹瀏覽器的具體實現方式,讓你在知其然的情況下也知其所以然。 本書根據作者若乾年實戰與工作積纍的豐富經驗編寫而成,深入地分析瞭瀏覽器從導航到頁麵展示的整個過程中可能會齣現的安全問題,也對瀏覽器的部分實現細節有著詳細和深入的介紹,對安全工作者有一定的參考意義。
作者簡介
錢文祥(常用ID:blast),專職瀏覽器安全研究。安徽理工大學畢業後就職於騰訊科技(北京)有限公司,專注於PC瀏覽器安全研究和安全相關功能的開發。活躍於多個漏洞報告平颱,曾報告過數十個安全漏洞,涵蓋IE、Chrome及國産定製瀏覽器。參與過多個瀏覽器安全相關以及漏洞挖掘的項目,維護有網馬解密工具Redoce。
精彩書評
瀏覽器上的安全是混亂的,W3C和WHATWG組織選擇瞭——以標準化的形式使瀏覽器可以快速更新並增加新的安全策略——這樣一種激進做法,來對抗瀏覽器上已有的和即將到來的安全風險。新的功能可以快速覆蓋已有問題,但其帶來的未知風險,或許更加可怕。我們必須要從Web前端到瀏覽器底層全麵瞭解瀏覽器安全技術,在麵對瀏覽器上韆變萬化的威脅時,方能做到未雨綢繆。如何做到?請閱讀本書,一定不會讓你失望。 ——騰訊玄武實驗室安全專傢,《Web前端黑客技術揭秘》作者 徐少培 這本書很難得!從純粹的Web前端安全玩法,到如何突破瀏覽器邊界,都做瞭深度剖析,有許多獨到見解。感謝作者能把自己的諸多實戰經驗分享齣來。 ——知道創宇技術副總裁,《Web前端黑客技術揭秘》作者 餘弦 這本書對瀏覽器規範層麵、功能實現層麵及渲染層齣現的安全問題,都做瞭較為詳細的描述。其中對各種現代瀏覽器的實例講解,更是非常難得。作者似乎有這樣一個意圖:想從每個層麵將讀者帶入一個個奇幻世界。無論如何,這是一本很完整的瀏覽器安全書籍,推薦想係統學習的道友從速入手。 ——雙螺鏇攻防實驗室 李普君(長短短) 本書從應用層到係統層全麵介紹瞭瀏覽器在各種場景下的安全防禦及攻擊思路,並且結閤瞭很多烏雲平颱上的實際案例,是國內一本全麵介紹瀏覽器安全的書籍,對瀏覽器安全機製感興趣的人員值得一讀。 ——烏雲知識庫 和傳統 Web 安全的書籍不同,本書著重圍繞瀏覽器前端技術,並以案例形式講解;覆蓋基礎知識及近幾年齣現的技術標準,其中不乏一些有趣的案例。如果對前端安全感興趣,本書值得一讀。 ——淘寶安全工程師 前端安全研究者 佳辰(EtherDream) 看過作者之前一些文章,發現他對瀏覽器安全有著非常專業的研究。由其將自己的相關經驗整理成書,相信會是一本值得研究Web安全及瀏覽器安全從業人員閱讀的好書。 ——萬達電商資深安全經理 lion_00
目錄
第1 篇 初探瀏覽器安全 1
1 漏洞與瀏覽器安全 3
1.1 漏洞的三要素 3
1.2 漏洞的生命周期 4
1.3 瀏覽器安全概述 5
1.4 瀏覽器安全的現狀 7
1.5 瀏覽器的應對策略 9
1.6 “白帽子”與瀏覽器廠商的聯手協作 9
1.7 全書概覽 10
1.8 本章小結 12
2 瀏覽器中常見的安全概念 13
2.1 URL 13
2.1.1 URL 的標準形式 15
2.1.2 IRI 16
2.1.3 URL 的“可視化”問題——字形欺騙釣魚攻擊 18
2.1.4 國際化域名字形欺騙攻擊 19
2.1.5 自糾錯與Unicode 字符分解映射 20
2.1.6 登錄信息釣魚攻擊 23
2.2 HTTP 協議 24
2.2.1 HTTP HEADER 25
2.2.2 發起HTTP 請求 26
2.2.3 Cookie 28
2.2.4 收到響應 29
2.2.5 HTTP 協議自身的安全問題 31
2.2.6 注入響應頭:CRLF 攻擊 31
2.2.7 攻擊響應:HTTP 401 釣魚 32
2.3 瀏覽器信息安全的保障 33
2.3.1 源 33
2.3.2 同源準則 34
2.3.3 源的特殊處理 34
2.3.4 攻擊同源準則:IE11 跨任意域腳本注入一例 35
2.4 特殊區域的安全限製 37
2.4.1 安全域 37
2.4.2 本地域 37
2.5 僞協議 38
2.5.1 data 僞協議 38
2.5.2 about 僞協議 40
2.5.3 javascript/vbscript 僞協議 41
2.5.4 僞協議邏輯齣錯:某瀏覽器跨任意域腳本注入一例 42
2.6 本章小結 43
3 探索瀏覽器的導航過程 45
3.1 導航開始 45
3.1.1 瀏覽器的導航過程 46
3.1.2 DNS 請求 46
3.1.3 DNS 劫持和DNS 汙染 47
3.1.4 導航尚未開始時的狀態同步問題 48
3.1.5 實例:針對導航過程發起攻擊 49
3.2 建立安全連接 50
3.2.1 HTTPS 50
3.2.2 HTTPS 請求中的Cookie 51
3.3 響應數據的安全檢查——XSS 過濾器 52
3.3.1 IE XSS Filter 的實現原理 53
3.3.2 Chrome XSSAuditor 的工作原理 55
3.4 文檔的預處理 56
3.4.1 瀏覽器對HTML 文檔的標準化 56
3.4.2 設置兼容模式 57
3.5 處理腳本 59
3.5.1 腳本的編碼 60
3.5.2 IE 的CSS expression 的各種編碼模式 62
3.5.3 瀏覽器的應對策略:CSP 63
3.5.4 “繞過”CSP:MIME Sniff 65
3.5.5 簡單的Fuzz:混淆CSS expression 錶達式 68
3.6 攻擊HTML 標準化過程繞過IE/Chrome 的XSS Filter 71
3.7 本章小結 73
4 頁麵顯示時的安全問題 75
4.1 點擊劫持 76
4.1.1 點擊劫持頁麵的構造 76
4.1.2 X-Frame-Options 78
4.2 HTML5 的安全問題 80
4.2.1 存儲API 81
4.2.2 跨域資源共享 83
4.2.3 基於FullScreen 和Notification API 的新型釣魚攻擊 84
4.2.4 組閤API 後可能導緻的安全問題 87
4.2.5 引入新的XSS 攻擊嚮量 87
4.2.6 互聯網威脅 89
4.3 HTTPS 與中間人攻擊 92
4.3.1 HTTPS 的綠鎖 92
4.3.2 HTTPS 有多安全? 94
4.3.3 HSTS 96
4.3.4 使用SSLStrip 阻止HTTP 升級HTTPS 97
4.3.5 使用Fiddler 對PC 端快速進行中間人攻擊測試 99
4.3.6 使用Fiddler 腳本和AutoResponse 自動發起中間人攻擊 101
4.4 本章小結 103
5 瀏覽器擴展與插件的安全問題 105
5.1 插件 106
5.1.1 ActiveX 106
5.1.2 ActiveX 的安全問題 107
5.1.3 ActiveX 的邏輯漏洞 108
5.1.4 NPAPI、PPAPI 111
5.2 定製瀏覽器的擴展和插件的漏洞 113
5.2.1 特權API 暴露 114
5.2.2 DOM 修改引入攻擊嚮量 114
5.2.3 Windows 文件名相關的多個問題 115
5.2.4 NPAPI DLL 的問題 116
5.2.5 同源檢查不完善 117
5.2.6 Content Script 劫持 118
5.2.7 權限隔離失敗 118
5.2.8 配閤切核策略+本地內部頁XSS 執行代碼 118
5.2.9 下載服務器限製寬鬆 119
5.2.10 TLDs 判定問題 119
5.2.11 經典漏洞 120
5.2.12 中間人 120
5.3 Adobe Flash 插件與Action Script 121
5.3.1 Flash 的語言——Action Script 121
5.3.2 Flash 文檔的反編譯、再編譯與調試 122
5.3.3 SWF 的網絡交互:URLLoader 124
5.3.4 crossdomain.xml 與Flash 的“沙盒” 125
5.3.5 ExternalInterface 126
5.3.6 FLASH XSS 126
5.3.7 Microsoft Edge 中的Flash ActiveX 130
5.4 瀏覽器的沙盒 131
5.4.1 受限令牌 132
5.4.2 完整性級彆與IE 的保護模式 133
5.4.3 任務對象 134
5.5 本章小結 135
6 移動端的瀏覽器安全 137
6.1 移動瀏覽器的安全狀況 138
6.2 移動端的威脅 141
6.2.1 通用跨站腳本攻擊 141
6.2.2 地址欄僞造 142
6.2.3 界麵僞裝 143
6.3 結閤係統特性進行攻擊 144
6.3.1 Android 一例漏洞:使用Intent URL Scheme 繞過Chrome SOP 144
6.3.2 iOS 的一例漏洞:自動撥號泄露隱私 146
6.3.3 Windows Phone 一例未修補漏洞:利用Cortana 顯示IE 中已保存密碼 147
6.4 本章小結 149
第2 篇 實戰網馬與代碼調試
7 實戰瀏覽器惡意網頁分析 153
7.1 惡意網站中“看得見的”攻防 153
7.2 惡意腳本的抓取和分析 155
7.2.1 發現含攻擊代碼的網址 156
7.2.2 使用rDNS 擴大搜索結果 156
7.2.3 下載攻擊代碼 157
7.2.4 搭建測試環境 158
7.2.5 初識網馬反混淆工具 158
7.2.6 惡意腳本中常見的編碼方式 159
7.3 一個簡單的掛馬代碼的處理 169
7.3.1 快速判斷掛馬 169
7.3.2 JS 代碼的格式化 170
7.4 更為復雜的代碼處理:對Angler 網馬工具包的反混淆 170
7.4.1 Angler EK 的特徵 170
7.4.2 推理:找齣代碼中的“解密-執行”模式 172
7.4.3 檢證:確定“解密-執行”模式的位置和方法 175
7.4.4 追蹤:使用瀏覽器特性判斷用戶環境 179
7.4.5 利用漏洞CVE-2014-6332 發起攻擊 188
7.5 本章小結 190
8 調試工具與Shellcode 191
8.1 調試工具的用法 191
8.1.1 調試符號 191
8.1.2 WinDbg 的用法 192
8.1.3 IDA 的用法 195
8.1.4 OllyDbg 的用法 199
8.2 與Shellcode 的相關名詞 201
8.2.1 機器指令 201
8.2.2 控製關鍵內存地址 203
8.2.3 NOP Slide 204
8.2.4 Magic Number 0x8123 205
8.3 Shellcode 的處理 205
8.3.1 實現通用的Shellcode 206
8.3.2 調試網馬中的Shellcode 212
8.4 本章小結 218
第3 篇 深度探索瀏覽器漏洞
9 漏洞的挖掘 221
9.1 挖0day 221
9.1.1 ActiveX Fuzzer 的原理 221
9.1.2 使用AxMan Fuzzer 來Fuzz ActiveX 插件 222
9.1.3 現場復現 225
9.2 DOM Fuzzer 的搭建 229
9.2.1 搭建運行Grinder 的環境 230
9.2.2 Fuzzer 的結構與修改 231
9.2.3 現場復現 232
9.3 崩潰分析 233
9.3.1 哪些典型崩潰不能稱作瀏覽器漏洞 233
9.3.2 ActiveX 崩潰一例 236
9.3.3 IE11 崩潰一例 238
9.4 本章小結 244
10 網頁的渲染 245
10.1 網頁的渲染 245
10.1.1 渲染引擎 245
10.1.2 DOM 結構模型 247
10.1.3 IE 解析HTML 的過程 249
10.1.4 IE 的Tokenize 251
10.1.5 Chrome 解析HTML 的過程 253
10.1.6 Chrome 的Tokenize 254
10.2 元素的創建 256
10.2.1 IE 中元素的創建過程 256
10.2.2 Chrome 中元素的創建過程 257
10.2.3 元素的生成規律 258
10.3 實戰:使用WinDbg 跟蹤元素的生成 260
10.4 實戰:使用WinDbg 跟蹤元素的插入 263
10.5 實戰:使用WinDbg 跟蹤元素的釋放 264
10.6 本章小結 266
11 漏洞的分析 267
11.1 分析IE 漏洞CVE-2012-4969 267
11.1.1 崩潰分析 268
11.1.2 追根溯源 270
11.2 分析JScript9 漏洞CVE-2015-2425 271
11.2.1 跟蹤漏洞 275
11.3 Hacking Team 的Flash 漏洞CVE-2015-5119 分析 276
11.3.1 靜態閱讀:成因分析 276
11.3.2 Vector 的覆蓋過程 278
11.4 本章小結 279
12 漏洞的利用 281
12.1 ShellCode 的編寫 281
12.2 CVE-2012-4969 的利用 284
12.2.1 DEP/ASLR 繞過 287
12.3 CVE-2015-5119 的Vector 296
12.4 本章小結 301
附錄 303
附錄A IE(Edge)的URL 截斷 303
附錄B IE 的控製颱截斷 304
附錄C 錶單中的mailto: 外部協議 305
附錄D 危險的regedit: 外部協議 306
附錄E IE XSS Filter 的漏洞也會幫助執行XSS 307
附錄F 更高級的策略保護——CSP Level 2 308
附錄G 更快的執行速度——JScript5 to Chakra 309
附錄H Chakra 的整數存儲 310
附錄I 安全實踐 311
參考資料 315
前言/序言
序
人類第一次大規模的接觸互聯網,就是從PC 上的瀏覽器開始的。從它的誕生開始,瀏覽器安全就成為一個極其重要的安全領域。瀏覽器內核、網頁、釣魚、XSS,包括讓人又愛又恨的網銀插件,這些都和瀏覽器安全息息相關。隨著移動互聯網和互聯網+時代的到來,瀏覽器已經變成瞭桌麵端的互聯網第一入口,而在移動端,雖然瀏覽器的入口地位受到瞭手機APP 的分流,但依然是最重要的入口之一。瀏覽器安全問題,變得更加錯綜復雜。比如iOS 越獄,用戶隻需要簡單地訪問一個特殊網頁就能自動完成,也是利用瞭iOS Safari 的安全漏洞。隨著HTML5 和HTTP 2 標準的先後定稿,以微信、手機QQ 為代錶的開放平颱迅猛發展,使得越來越多的HTML5 內容在APP 中的WebView 裏呈現。這些APP 同樣麵臨著廣義的瀏覽器安全威脅。
無巧不成書,認識錢文祥也是緣於瀏覽器。2013 年,在烏雲上偶然看到幾個關於瀏覽器漏洞的報告後,我在QQ 上聯係瞭他。通過幾次交談,發現他是一個對安全技術尤其是瀏覽器安全技術非常癡迷並且有想法的人。所以,我邀請他來騰訊瀏覽器産品部工作,負責PC 瀏覽器的安全工作。他在瀏覽器安全方麵的經驗,很好地保證瞭QQ 瀏覽器的安全性,得到瞭團隊的一緻認可。此外,他還發現瞭Microsoft IE 的和Google Chrome瀏覽器的一些漏洞,並得到瞭這兩傢公司認可。
當拿到書稿後,我不由地一震。他在工作之餘,係統地總結和歸納瞭自己這些年在瀏覽器安全方麵的一些知識,並深入淺齣地呈現齣來。這些知識可以給希望瞭解和學習瀏覽器安全的人提供一份有益的營養套餐。
瀏覽器安全,其實涵蓋瞭客戶端、web、server 等,給初學者一種霧濛濛的感覺,同時也給互聯網罩上一層迷霧,就好似北京那令人百感交集的霧霾。希望《白帽子講瀏覽器安全》一書,能像前幾天的一場北風,吹走那迷霧,給讀者帶來一片清澈的藍天。
邊超,騰訊T4 專傢,PC 瀏覽器技術負責人
2015/12/8
白帽子講瀏覽器安全 下載 mobi epub pdf txt 電子書