《Web前端黑客技術揭秘》編著者鐘晨鳴、徐少培。
Web前端的黑客攻防技術是一門非常新穎且有趣的黑客技術,主要包含 Web前端安全的跨站腳本(XSS)、跨站請求偽造(CSRF)、界面操作劫持這三 大類,涉及的知識點涵蓋信任與信任關系、Cookie安全、FlaSh安全、DOM 渲染、字符集、跨域、原生態(tài)攻擊、高級釣魚、蠕蟲思想等,這些都是研 究前端安全的人必備的知識點。本書作者深入剖析了許多經(jīng)典的攻防技巧 ,并給出了許多獨到的安全見解。
《Web前端黑客技術揭秘/安全技術大系》適合前端工程師閱讀,同時 也適合對Web前端各類安全問題或黑客攻防過程充滿好奇的讀者閱讀,書中 的內容可以讓讀者重新認識到Web的危險,并知道該如何去保護自己以免受 黑客的攻擊。
《Web前端黑客技術揭秘》編著者鐘晨鳴、徐少培。 本書共10章,每章的關聯(lián)性不強,大家可以根據(jù)自己的喜好跳躍性地閱讀,不過我們建議從頭到尾地閱讀,因為每章的信息量都比較大,我們沒法完全照顧初學者,很多更基礎的知識點需要自己去彌補。 第l章介紹wleb安全的幾個關鍵點。這些關鍵點是我們研究前端安全的意識點,缺乏這些關鍵意識,就很難真正弄懂前端安全,本章的內容值得細細閱讀。 第2章介紹前端基礎。實際上,其中的很多內容并非真正的基礎,本書不會像傳統(tǒng)的教材那樣回顧那些語言的語法、用法等,我們會從安全的角度出發(fā),介紹前端角色(URL、HTTP、HTMl,、javascript、CSS、ActionScript等)的行為,以此來理解做前端安全都需要具備哪些基本技能,我們覺得基礎是關鍵,所以本章內容會比較多。
第1章 Web安全的關鍵點
1.1 數(shù)據(jù)與指令
1.2 瀏覽器的同源策略
1.3 信任與信任關系
1.4 社會工程學的作用
1.5 攻防不單一
1.6 場景很重要
1.7 小結
第2章 前端基礎
2.1 W3C的世界法則
2.2 URL
2.3 HTTP協(xié)議
2.4 松散的HTML世界
2.4.1 DOM樹
2.4.2 iframe內嵌出一個開放的世界
2.4.3 HTML內嵌腳本執(zhí)行
2.5 跨站之魂--JavaScript
2.5.1 DOM樹操作
2.5.2 AJAX風險
2.5.3 模擬用戶發(fā)起瀏覽器請求
2.5.4 Cookie安全
2.5.5 本地存儲風險
2.5.6 E4X帶來的混亂世界
2.5.7 JavaScript函數(shù)劫持
2.6 一個偽裝出來的世界--CSS
2.6.1 CSS容錯性
2.6.2 樣式偽裝
2.6.3 CSS偽類
2.6.4 CSS3的屬性選擇符
2.7 另一個幽靈--ActionScript
2.7.1 Flash安全沙箱
2.7.2 HTML嵌入Flash的安全相關配置
2.7.3 跨站Flash
2.7.4 參數(shù)傳遞
2.7.5 Flash里的內嵌HTML
2.7.6 與JavaScript通信
2.7.7 網(wǎng)絡通信
2.7.8 其他安全問題
第3章 前端黑客之XSS
3.1 XSS概述
3.1.1 "跨站腳本"重要的是腳本
3.1.2 一個小例子
3.2 XSS類型
3.2.1 反射型XSS
3.2.2 存儲型XSS
3.2.3 DOM XSS
3.3 哪里可以出現(xiàn)XSS攻擊
3.4 有何危害
第4章 前端黑客之CSRF
4.1 CSRF概述
4.1.1 跨站點的請求
4.1.2 請求是偽造的
4.1.3 一個場景
4.2 CSRF類型
4.2.1 HTML CSRF攻擊
4.2.2 JSON HiJacking攻擊
4.2.3 Flash CSRF攻擊
4.3 有何危害
第5章 前端黑客之界面操作劫持
5.1 界面操作劫持概述
5.1.1 點擊劫持(Clickjacking)
5.1.2 拖放劫持(Drag&Dropjacking)
5.1.3 觸屏劫持(Tapjacking)
5.2 界面操作劫持技術原理分析
5.2.1 透明層+iframe
5.2.2 點擊劫持技術實現(xiàn)
5.2.3 拖放劫持技術實現(xiàn)
5.2.4 觸屏劫持技術實現(xiàn)
5.3 界面操作劫持實例
5.3.1 點擊劫持實例
5.3.2 拖放劫持實例
5.3.3 觸屏劫持實例
5.4 有何危害
第6章 漏洞挖掘
6.1 普通XSS漏洞自動化挖掘思路
6.1.1 URL上的玄機
6.1.2 HTML中的玄機
6.1.3 請求中的玄機
6.1.4 關于存儲型XSS挖掘
6.2 神奇的DOM渲染
6.2.1 HTML與JavaScript自解碼機制
6.2.2 具備HtmlEncode功能的標簽
6.2.3 URL編碼差異
6.2.4 DOM修正式渲染
6.2.5 一種DOM fuzzing技巧
6.3 DOM XSS挖掘
6.3.1 靜態(tài)方法
6.3.2 動態(tài)方法
6.4 Flash XSS挖掘
6.4.1 XSF挖掘思路
6.4.2 Google Flash XSS挖掘
6.5 字符集缺陷導致的XSS
6.5.1 寬字節(jié)編碼帶來的安全問題
6.5.2 UTF-7問題
6.5.3 瀏覽器處理字符集編碼BUG帶來的安全問題
6.6 繞過瀏覽器XSS Filter
6.6.1 響應頭CRLF注入繞過
6.6.2 針對同域的白名單
6.6.3 場景依賴性高的繞過
6.7 混淆的代碼
6.7.1 瀏覽器的進制常識
6.7.2 瀏覽器的編碼常識
6.7.3 HTML中的代碼注入技巧
6.7.4 CSS中的代碼注入技巧
6.7.5 JavaScript中的代碼注入技巧
6.7.6 突破URL過濾
6.7.7 更多經(jīng)典的混淆CheckList
6.8 其他案例分享--Gmail Cookie XSS
第7章 漏洞利用
7.1 滲透前的準備
7.2 偷取隱私數(shù)據(jù)
7.2.1 XSS探針:xssprobe
7.2.2 Referer惹的禍
7.2.3 瀏覽器記住的明文密碼
7.2.4 鍵盤記錄器
7.2.5 偷取黑客隱私的一個小技巧
7.3 內網(wǎng)滲透技術
7.3.1 獲取內網(wǎng)IP
7.3.2 獲取內網(wǎng)IP端口
7.3.3 獲取內網(wǎng)主機存活狀態(tài)
7.3.4 開啟路由器的遠程訪問能力
7.3.5 內網(wǎng)脆弱的Web應用控制
7.4 基于CSRF的攻擊技術
7.4.1 基于CSRF的XSS攻擊
7.5 瀏覽器劫持技術
7.6 一些跨域操作技術
7.6.1 IE res:協(xié)議跨域
7.6.2 CSS String Injection跨域
7.6.3 瀏覽器特權區(qū)域風險
7.6.4 瀏覽器擴展風險
7.6.5 跨子域:document.domain技巧
7.6.6 更多經(jīng)典的跨域索引
7.7 XSS Proxy技術
7.7.1 瀏覽器<script>請求
7.7.2 瀏覽器跨域AJAX請求
7.7.3 服務端WebSocket推送指令
7.7.4 postMessage方式推送指令
7.8 真實案例剖析
7.8.1 高級釣魚攻擊之百度空間登錄DIV層釣魚
7.8.2 高級釣魚攻擊之Gmail正常服務釣魚
7.8.3 人人網(wǎng)跨子域盜取MSN號
7.8.4 跨站獲取更高權限
7.8.5 大規(guī)模XSS攻擊思想
7.9 關于XSS利用框架
第8章 HTML5安全
8.1 新標簽和新屬性繞過黑名單策略
8.1.1 跨站中的黑名單策略
8.1.2 新元素突破黑名單策略
8.2 History API中的新方法
8.2.1 pushState()和replaceState()
8.2.2 短地址+History新方法=完美隱藏URL惡意代碼
8.2.3 偽造歷史記錄
8.3 HTML5下的僵尸網(wǎng)絡
8.3.1 Web Worker的使用
8.3.2 CORS向任意網(wǎng)站發(fā)送跨域請求
8.3.3 一個HTML5僵尸網(wǎng)絡實例
8.4 地理定位暴露你的位置
8.4.1 隱私保護機制
8.4.2 通過XSS盜取地理位置
第9章 Web蠕蟲
9.1 Web蠕蟲思想
9.2 XSS蠕蟲
9.2.1 原理+一個故事
9.2.2 危害性
9.2.3 SNS社區(qū)XSS蠕蟲
9.2.4 簡約且原生態(tài)的蠕蟲
9.2.5 蠕蟲需要追求原生態(tài)
9.3 CSRF蠕蟲
9.3.1 關于原理和危害性
9.3.2 譯言CSRF蠕蟲
9.3.3 飯否CSRF蠕蟲--邪惡的Flash游戲
9.3.4 CSRF蠕蟲存在的可能性分析
9.4 ClickJacking蠕蟲
9.4.1 ClickJacking蠕蟲的由來
9.4.2 ClickJacking蠕蟲技術原理分析
9.4.3 Facebook的LikeJacking蠕蟲
9.4.4 GoogleReader的ShareJacking蠕蟲
9.4.5 ClickJacking蠕蟲爆發(fā)的可能性
第10章 關于防御
10.1 瀏覽器廠商的防御
10.1.1 HTTP響應的X-頭部
10.1.2 遲到的CSP策略
10.2 Web廠商的防御
10.2.1 域分離
10.2.2 安全傳輸
10.2.3 安全的Cookie
10.2.4 優(yōu)秀的驗證碼
10.2.5 謹慎第三方內容
10.2.6 XSS防御方案
10.2.7 CSRF防御方案
10.2.8 界面操作劫持防御
10.3 用戶的防御
10.4 邪惡的SNS社區(qū)