瀏覽器是重要的互聯網入口,一旦受到漏洞攻擊,將直接影響到用戶的信息安全。作為攻擊者有哪些攻擊思路,作為用戶有哪些應對手段?在本書中我們將給出解答,帶你了解瀏覽器安全的方方面面。本書兼顧攻擊者、研究者和使用者三個場景,對大部分攻擊都提供了分析思路和防御方案。本書從攻擊者常用技巧的“表象”深入介紹瀏覽器的具體實現方式,讓你在知其然的情況下也知其所以然。
√ 來自騰訊的安全經驗,來自烏云平臺的專業保障。√ 瀏覽器威脅千變萬化,從Web前端到瀏覽器邊界突破。√ 覆蓋規范、功能實現和渲染層,實戰攻防各主流現代瀏覽器。√ 工具或原理只通其一不是白帽子,知其所以然且能攻善守才是。
錢文祥(常用ID:blast),專職瀏覽器安全研究。安徽理工大學畢業后就職于騰訊科技(北京)有限公司,專注于PC瀏覽器安全研究和安全相關功能的開發。活躍于多個漏洞報告平臺,曾報告過數十個安全漏洞,涵蓋IE、Chrome及國產定制瀏覽器。參與過多個瀏覽器安全相關以及漏洞挖掘的項目,維護有網馬解密工具Redoce。
目錄第1篇 初探瀏覽器安全 11 漏洞與瀏覽器安全 31.1 漏洞的三要素 31.2 漏洞的生命周期 41.3 瀏覽器安全概述 51.4 瀏覽器安全的現狀 71.5 瀏覽器的應對策略 91.6 “白帽子”與瀏覽器廠商的聯手協作 91.7 全書概覽 101.8 本章小結 122 瀏覽器中常見的安全概念 132.1 URL 132.1.1 URL的標準形式 152.1.2 IRI 162.1.3 URL的“可視化”問題——字形欺騙釣魚攻擊 182.1.4 國際化域名字形欺騙攻擊 192.1.5 自糾錯與Unicode字符分解映射 202.1.6 登錄信息釣魚攻擊 232.2 HTTP協議 242.2.1 HTTP HEADER 252.2.2 發起HTTP請求 262.2.3 Cookie 282.2.4 收到響應 292.2.5 HTTP協議自身的安全問題 312.2.6 注入響應頭:CRLF攻擊 312.2.7 攻擊響應:HTTP 401 釣魚 322.3 瀏覽器信息安全的保障 332.3.1 源 332.3.2 同源準則 342.3.3 源的特殊處理 342.3.4 攻擊同源準則:IE11跨任意域腳本注入一例 352.4 特殊區域的安全限制 372.4.1 安全域 372.4.2 本地域 372.5 偽協議 382.5.1 data偽協議 382.5.2 about偽協議 402.5.3 javascript/vbscript偽協議 412.5.4 偽協議邏輯出錯:某瀏覽器跨任意域腳本注入一例 422.6 本章小結 433 探索瀏覽器的導航過程 453.1 導航開始 453.1.1 瀏覽器的導航過程 463.1.2 DNS請求 463.1.3 DNS劫持和DNS污染 473.1.4 導航尚未開始時的狀態同步問題 483.1.5 實例:針對導航過程發起攻擊 493.2 建立安全連接 503.2.1 HTTPS 503.2.2 HTTPS請求中的Cookie 513.3 響應數據的安全檢查——XSS過濾器 523.3.1 IE XSS Filter的實現原理 533.3.2 Chrome XSSAuditor的工作原理 553.4 文檔的預處理 563.4.1 瀏覽器對HTML文檔的標準化 563.4.2 設置兼容模式 573.5 處理腳本 593.5.1 腳本的編碼 603.5.2 IE的CSS expression的各種編碼模式 623.5.3 瀏覽器的應對策略:CSP 633.5.4 “繞過”CSP:MIME Sniff 653.5.5 簡單的Fuzz:混淆CSS expression表達式 683.6 攻擊HTML標準化過程繞過IE/Chrome的XSS Filter 713.7 本章小結 734 頁面顯示時的安全問題 754.1 點擊劫持 764.1.1 點擊劫持頁面的構造 764.1.2 X-Frame-Options 784.2 HTML5的安全問題 804.2.1 存儲API 814.2.2 跨域資源共享 834.2.3 基于FullScreen和Notification API的新型釣魚攻擊 844.2.4 組合API后可能導致的安全問題 874.2.5 引入新的XSS 攻擊向量 874.2.6 互聯網威脅 894.3 HTTPS與中間人攻擊 924.3.1 HTTPS的綠鎖 924.3.2 HTTPS有多安全? 944.3.3 HSTS 964.3.4 使用SSLStrip阻止HTTP升級HTTPS 974.3.5 使用Fiddler對PC端快速進行中間人攻擊測試 994.3.6 使用Fiddler腳本和AutoResponse自動發起中間人攻擊 1014.4 本章小結 1035 瀏覽器擴展與插件的安全問題 1055.1 插件 1065.1.1 ActiveX 1065.1.2 ActiveX的安全問題 1075.1.3 ActiveX的邏輯漏洞 1085.1.4 NPAPI、PPAPI 1115.2 定制瀏覽器的擴展和插件的漏洞 1135.2.1 特權API暴露 1145.2.2 DOM 修改引入攻擊向量 1145.2.3 Windows文件名相關的多個問題 1155.2.4 NPAPI DLL的問題 1165.2.5 同源檢查不完善 1175.2.6 Content Script劫持 1185.2.7 權限隔離失敗 1185.2.8 配合切核策略 本地內部頁XSS執行代碼 1185.2.9 下載服務器限制寬松 1195.2.10 TLDs判定問題 1195.2.11 經典漏洞 1205.2.12 中間人 1205.3 Adobe Flash插件與Action Script 1215.3.1 Flash的語言——Action Script 1215.3.2 Flash文檔的反編譯、再編譯與調試 1225.3.3 SWF的網絡交互:URLLoader 1245.3.4 crossdomain.xml與Flash的“沙盒” 1255.3.5 ExternalInterface 1265.3.6 FLASH XSS 1265.3.7 Microsoft Edge中的Flash ActiveX 1305.4 瀏覽器的沙盒 1315.4.1 受限令牌 1325.4.2 完整性級別與IE的保護模式 1335.4.3 任務對象 1345.5 本章小結 1356 移動端的瀏覽器安全 1376.1 移動瀏覽器的安全狀況 1386.2 移動端的威脅 1416.2.1 通用跨站腳本攻擊 1416.2.2 地址欄偽造 1426.2.3 界面偽裝 1436.3 結合系統特性進行攻擊 1446.3.1 Android一例漏洞:使用Intent URL Scheme繞過Chrome SOP 1446.3.2 iOS的一例漏洞:自動撥號泄露隱私 1466.3.3 Windows Phone一例未修補漏洞:利用Cortana顯示IE中已保存密碼 1476.4 本章小結 149第2篇 實戰網馬與代碼調試7 實戰瀏覽器惡意網頁分析 1537.1 惡意網站中“看得見的”攻防 1537.2 惡意腳本的抓取和分析 1557.2.1 發現含攻擊代碼的網址 1567.2.2 使用rDNS擴大搜索結果 1567.2.3 下載攻擊代碼 1577.2.4 搭建測試環境 1587.2.5 初識網馬反混淆工具 1587.2.6 惡意腳本中常見的編碼方式 1597.3 一個簡單的掛馬代碼的處理 1697.3.1 快速判斷掛馬 1697.3.2 JS代碼的格式化 1707.4 更為復雜的代碼處理:對Angler網馬工具包的反混淆 1707.4.1 Angler EK的特征 1707.4.2 推理:找出代碼中的“解密-執行”模式 1727.4.3 檢證:確定“解密-執行”模式的位置和方法 1757.4.4 追蹤:使用瀏覽器特性判斷用戶環境 1797.4.5 利用漏洞CVE-2014-6332發起攻擊 1887.5 本章小結 1908 調試工具與Shellcode 1918.1 調試工具的用法 1918.1.1 調試符號 1918.1.2 WinDbg的用法 1928.1.3 IDA的用法 1958.1.4 OllyDbg的用法 1998.2 與Shellcode的相關名詞 2018.2.1 機器指令 2018.2.2 控制關鍵內存地址 2038.2.3 NOP Slide 2048.2.4 Magic Number 0x8123 2058.3 Shellcode的處理 2058.3.1 實現通用的Shellcode 2068.3.2 調試網馬中的Shellcode 2128.4 本章小結 218第3篇 深度探索瀏覽器漏洞9 漏洞的挖掘 2219.1 挖0day 2219.1.1 ActiveX Fuzzer 的原理 2219.1.2 使用AxMan Fuzzer來Fuzz ActiveX插件 2229.1.3 現場復現 2259.2 DOM Fuzzer的搭建 2299.2.1 搭建運行Grinder的環境 2309.2.2 Fuzzer的結構與修改 2319.2.3 現場復現 2329.3 崩潰分析 2339.3.1 哪些典型崩潰不能稱作瀏覽器漏洞 2339.3.2 ActiveX崩潰一例 2369.3.3 IE11崩潰一例 2389.4 本章小結 24410 網頁的渲染 24510.1 網頁的渲染 24510.1.1 渲染引擎 24510.1.2 DOM結構模型 24710.1.3 IE解析HTML的過程 24910.1.4 IE的Tokenize 25110.1.5 Chrome解析HTML的過程 25310.1.6 Chrome的Tokenize 25410.2 元素的創建 25610.2.1 IE中元素的創建過程 25610.2.2
序人類及時次大規模的接觸互聯網,就是從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
瀏覽器上的安全是混亂的,W3C和WHATWG組織選擇了——以標準化的形式使瀏覽器可以快速更新并增加新的安全策略——這樣一種激進做法,來對抗瀏覽器上已有的和即將到來的安全風險。新的功能可以快速覆蓋已有問題,但其帶來的未知風險,或許更加可怕。我們必須要從Web前端到瀏覽器底層了解瀏覽器安全技術,在面對瀏覽器上千變萬化的威脅時,方能做到未雨綢繆。如何做到?請閱讀本書,一定不會讓你失望。 ——騰訊玄武實驗室安全專家,《Web前端黑客技術揭秘》作者 徐少培 這本書很難得!從純粹的Web前端安全玩法,到如何突破瀏覽器邊界,都做了深度剖析,有許多獨到見解。感謝作者能把自己的諸多實戰經驗分享出來。 ——知道創宇技術副總裁,《Web前端黑客技術揭秘》作者 余弦這本書對瀏覽器規范層面、功能實現層面及渲染層出現的安全問題,都做了較為詳細的描述。其中對各種現代瀏覽器的實例講解,更是非常難得。作者似乎有這樣一個意圖:想從每個層面將讀者帶入一個個奇幻世界。無論如何,這是一本很完整的瀏覽器安全書籍,推薦想系統學習的道友從速入手。 ——雙螺旋攻防實驗室 李普君(長短短)本書從應用層到系統層介紹了瀏覽器在各種場景下的安全防御及攻擊思路,并且結合了很多烏云平臺上的實際案例,是國內本介紹瀏覽器安全的書籍,對瀏覽器安全機制感興趣的人員值得一讀。 ——烏云知識庫和傳統 Web 安全的書籍不同,本書著重圍繞瀏覽器前端技術,并以案例形式講解;覆蓋基礎知識及近幾年出現的技術標準,其中不乏一些有趣的案例。如果對前端安全感興趣,本書值得一讀。 ——安全工程師 前端安全研究者 佳辰(EtherDream)看過作者之前一些文章,發現他對瀏覽器安全有著非常專業的研究。由其將自己的相關經驗整理成書,相信會是一本值得研究Web安全及瀏覽器安全從業人員閱讀的好書。 ——萬達電商博學安全經理 lion_00
當當活動的時候買的,看起來還不錯
買好書去當當
不錯,技術類的書就是要不斷更新。
好評
不錯
通俗易懂、深入淺出,授人以漁。同時,又密切結合應用案例,從而讓讀者可以在模擬場景中深深的理會知識。書中不含較為復雜的技術理論問題,一切從實際出發。
不錯!!
好
包裝略寒酸。。
書還不錯。挺好
書剛剛拿到:還沒有打開:等看了再追加評論
書很不錯
嗯
價格和內容都讓人滿意。
這個書不錯
一般
發貨很快,快遞也很快,第一天訂貨,第二天就到了,書的質量也很好,是正版書,很滿意,。一次性買了很多,以后慢慢看,書紙質很好,很滿意的一次購物,以后還會在當當買書的,質量好,發貨還快,快遞也很給力,。總之,是一次很滿意的購物。
發貨很快,快遞也很快,第一天訂貨,第二天就到了,書的質量也很好,是正版書,很滿意,。一次性買了很多,以后慢慢看,書紙質很好,很滿意的一次購物,以后還會在當當買書的,質量好,發貨還快,快遞也很給力,。總之,是一次很滿意的購物。
不錯書很好
買了五本書一個紙箱子都不給裝。快遞員態度也不好,幾本書就拿個塑料袋裝了,尼瑪,邊角都被磕壞了黑黑的,我這買的是新書,不是地攤上的舊書,這尼瑪放書店,有人買算我輸,體驗非常差。再不會來當當買書了,謝謝。
物流速度很快
還是不錯的書...
還不錯 滿意 第一次買
這本書不是很適合零基礎的人看
每次買書都在當當,非常好
書很好!!
好好好好好好好好好好
送貨很快,書也不錯
很不錯的一本書,很系統,但是各部分講的不是很詳細
很不錯,畢竟時國內市面上第一本專門講瀏覽器安全的書籍,側重瀏覽器方面安全分析,也算填補國內這個領域的書籍空白。剛開始看,覺得挺有意思得。
瀏覽器是重要的互聯網入口,一旦受到漏洞攻擊,將直接影響到用戶的信息安全。作為攻擊者有哪些攻擊思路,作為用戶有哪些應對手段?在本書中我們將給出解答,帶你了解瀏覽器安全的方方面面。本書兼顧攻擊者、研究者和使用者三個場景,對大部分攻擊都提供了分析思路和防御方案。本書從攻擊者常用技巧的“表象”深入介紹瀏覽器的具體實現方式,讓你在知其然的情況下也知其所以然。