-- 會員 / 註冊 --  
 帳號:
 密碼:
  | 註冊 | 忘記密碼
3/26 新書到! 3/19 新書到! 3/14 新書到! 12/12 新書到!
購書流程Q & A站務留言版客服信箱
3ds MaxMayaRhinoAfter EffectsSketchUpZBrushPainterUnity
PhotoShopAutoCadMasterCamSolidWorksCreoUGRevitNuke
C#CC++Java遊戲程式Linux嵌入式PLCFPGAMatlab
駭客資料庫搜索引擎影像處理FluentVR+ARANSYS深度學習
單晶片AVROpenGLArduinoRaspberry Pi電路設計CadenceProtel
HadoopPythonStm32CortexLabview手機程式AndroidiPhone
可查書名,作者,ISBN,3dwoo書號
詳細書籍分類

白帽子講瀏覽器安全

( 簡體 字)
作者:錢文祥類別:1. -> 安全 -> 網路安全 -> 駭客攻擊與入侵
譯者:
出版社:電子工業出版社白帽子講瀏覽器安全 3dWoo書號: 43531
詢問書籍請說出此書號!

缺書
NT售價: 395

出版日:2/1/2016
頁數:332
光碟數:0
站長推薦:
印刷:黑白印刷語系: ( 簡體 版 )
加入購物車 加到我的最愛
(請先登入會員)
ISBN:9787121281549
作者序 | 譯者序 | 前言 | 內容簡介 | 目錄 | 
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證)
作者序:

譯者序:

前言:



人類第一次大規模的接觸互聯網,就是從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



前言

2015年3月,我在烏云知識庫中開始連載IE安全系列的文章(ID:blast)。博文視點的張春雨先生找到我,希望我寫一本瀏覽器安全的書。
此時的瀏覽器市場已是一片紅海——作為用戶訪問互聯網的入口,無論是桌面還是移動端,各廠商爭奪瀏覽器份額的形勢,猶如多年前微軟和網景的份額大戰。這個過程中,他們留給互聯網許多實用功能,制訂了許多規范。
這些功能中,有一些也留下了不少安全隱患。我正好在從事瀏覽器安全工作,在日常問題處理中深知瀏覽器安全現有的資料非常分散,最大的問題便是不少人雖然興趣濃厚,但是卻不知道從哪里開始研究瀏覽器安全。
我的瀏覽器安全歷程
1999年接觸計算機開始,我就對這個龐然大物產生了濃厚的興趣。2001年家中購買了電腦之后,由于最初的兩年電腦沒有聯網,于是編程便成了我的另一個興趣愛好。自學了幾年編程之后,一直想做出一個有用的工具。
2007年加入卡飯論壇開始的那段時間,應當是我和瀏覽器安全最長時期的接觸,我一直活躍在病毒分析板塊。由于當時網馬猖獗,對病毒分析愛好的我編寫了一個自動化網馬解碼分析工具Redoce并堅持更新了6年,這段經歷讓我認識了許多志同道合的朋友,也讓我掌握了許多病毒以及漏洞的分析技能。
2010年,我就讀安徽理工大學信息安全專業,其間參閱了許多前輩的資料。2013年是我第一次嘗試由分析轉為漏洞挖掘,之后我便沉浸于此,并最終以一個契機加入騰訊QQ瀏覽器部門。在騰訊,我依然從事瀏覽器安全研究工作。
瀏覽器的用戶量數以百萬、千萬甚至于億計,這樣一款處處都會接受用戶輸入的軟件,一旦出現漏洞,產品口碑和用戶的信息安全都會深受其害,這是所有產品相關人員和安全研究人員都不想看到的。在對瀏覽器代碼和應用的安全審查和測試過程中,我也總結了許多瀏覽器安全的“坑”和補救措施,這些內容將在本書內詳細敘述。
本書結構
對有興趣致力于瀏覽器安全的研究者來說,不知從哪里入手是研究熱情的一個攔路虎。我將日常的經驗和歷史上的瀏覽器安全事件結合,編寫了本書的3篇共12章的內容。希望能夠為瀏覽器安全研究愛好者提供一些參考。
第1篇 探索瀏覽器安全介紹了從瀏覽器的用戶界面以及瀏覽器展示網頁的整個過程,針對過程中可能出現的問題進行了探討,詳細地介紹了瀏覽器的特性以及基礎安全概念。瀏覽器的漏洞挖掘和Fuzz工具密不可分,本篇中我們也將介紹Fuzzer的基本理念并制作出一個可用的Fuzzer。
本篇結合了Web安全與瀏覽器自身特性,就瀏覽器處理網頁內容的原理及引發的安全問題展開討論,希望能讓讀者對瀏覽器安全產生初步的印象,也打消從未涉及瀏覽器安全的讀者的疑慮。
插件和擴展延伸了瀏覽器的功能,但是也帶來了許多安全風險。
第2篇 實戰網馬與代碼調試是過渡性的篇章,我們從插件和擴展安全說起,再通過幾個網馬的例子,將重點逐漸從Web向二進制調試轉移。
插件部分將介紹邏輯漏洞的挖掘,以及在軟件制作中規避風險的方法。網馬部分則介紹惡意代碼的混淆與加密方式,為惡意代碼分析打好基礎。代碼調試部分則從二進制調試工具的用法開始,最后介紹Shellcode的調試。本章難度適中,希望能夠帶領讀者探索瀏覽器中的二進制代碼。
第3篇 深度探索瀏覽器漏洞對瀏覽器漏洞知識進行了更深入的挖掘和探討。我們將從瀏覽器對網頁元素的處理入手,分析網頁元素在瀏覽器內存中創建時的過程并使用調試工具加以分析。我們還將從常見的漏洞入手,分析漏洞的成因并編寫一個完整的瀏覽器漏洞利用程序。至此完成瀏覽器漏洞研究的最后一步。
編寫歷程
編寫全書時工作繁忙,我每天只能夠在業余時間抽出一至兩個小時編寫文章和調試代碼。經歷過后深知編寫一本書的不易。在編寫本書的過程中,我參考了大量資料。編寫一本經驗總結性質的書籍不僅僅是對自己過往的一個交待,更是為了促進對自己對瀏覽器認識的提高。如邊超先生所言,通過將知識沉淀為文字,博文也好,書籍也好,都是一種重認識和再發現的過程。
在寫一本介紹如此寬泛概念的書籍時,能夠系統性地布局則是一大要事。在和烏云社區多個有興趣研究瀏覽器安全的白帽子交流之后,最終我選擇了本書這樣一種先Web后底層深入的布局。但是,列大綱的時候我就發現,瀏覽器安全中每一部分都可以成為深入挖掘的方向,想在這一本薄薄的書中全部展現也是不切實際的。為了完整地涵蓋安全的基礎部分,本書挑選的更多是一些典型的例子,我希望通過這些典型例子起到拋磚引玉的作用——因為瀏覽器安全問題并不是單一因素引起的,更多的很可能是許多異常行為(也就是我們俗稱的“BUG”)的組合。
相比于其他計算機科學相關的內容,瀏覽器安全研究的書籍資料并不多。但是互聯網上仍然有許多專業研究人員提供了寶貴的數字資料,在遇到瀏覽器安全問題時,善用、勤用搜索引擎,是解決問題的一條捷徑。
瀏覽器和瀏覽器標準的更新換代速度極快,在本書編寫的過程中,就有許多新的瀏覽器標準和新的瀏覽器防御手段誕生。且本書編寫時間倉促,又限于作者自身能力和水平的不足,書中不免會出現疏漏,煩請批評指正或留言寶貴意見。我提供了一個勘誤表以及事件提單平臺,本書的修訂內容將在該平臺上發布。平臺的地址請見前言結尾的“聯系方式”。
致謝
感謝我的公司騰訊科技有限公司和我的同事們,他們都愿意投入到瀏覽器中,以樂趣為出發點,在團隊內部形成積極、友好討論的氛圍。
感謝邊超先生為本書作序,邊超先生在我開發和研究過程中細致耐心地提供了許多指導和幫助。
同時,也感謝邊超、李普君、徐少培、張春雨等先生(排名不分先后)對本書章節布局的非常有建設性的建議。
協助本書內容審核的人員有:毛睿、關乃夫、丁川達、王連贏、李普君、周雨陽、梧桐雨(排名不分先后)等。毛睿先生是我在騰訊工作時的導師,感謝他為我提出了許多寶貴意見。
感謝我的家人,尤其是我的父母在編寫本書的時候給予我的無盡的鼓勵。
在編寫本書時,同樣受到了來自許多專家和前輩的指導和鼓勵,無論列出與否,都由衷地感謝你們。
內容簡介:

瀏覽器是重要的互聯網入口,一旦受到漏洞攻擊,將直接影響到用戶的信息安全。作為攻擊者有哪些攻擊思路,作為用戶有哪些應對手段?在本書中我們將給出解答,帶你了解瀏覽器安全的方方面面。本書兼顧攻擊者、研究者和使用者三個場景,對大部分攻擊都提供了分析思路和防御方案。本書從攻擊者常用技巧的“表象”深入介紹瀏覽器的具體實現方式,讓你在知其然的情況下也知其所以然。

目錄:

第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
序: