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