Web前端的黑客攻防技術是一門非常新穎且有趣的黑客技術,主要包含Web前端安全的跨站腳本(XSS)、跨站請求偽造(CSRF)、界面操作劫持這三大類,涉及的知識點涵蓋信任與信任關系、Cookie安全、Flash安全、DOM渲染、字符集、跨域、原生態攻擊、高級釣魚、蠕蟲思想等,這些都是研究前端安全的人必備的知識點。本書作者深入剖析了許多經典的攻防技巧,并給出了許多獨到的安全見解。
在Web技術飛速演變、電子商務蓬勃發展的今天,企業開發的很多新應用程序都是Web應用程序,而且Web服務也被越來越頻繁地用于集成Web應用程序或與其進行交互,這些趨勢帶來的問題就是web應用系統的安全風險達到了前所未有的高度,在安全缺陷被利用時可能會出現災難性后果。
SQL注入+上傳Webshell這樣的攻擊成為了業界主流,幾乎對動態Web服務無往不利。大中型企業和機構紛紛增加了80端口的檢查和封堵??吹揭恍㏒QL注入攻擊被擋住的日志,他們臉上露出了滿意的微笑……
可是,厲害的Web攻擊方式,就只有一個SQL注入嗎?
如果把SQL注入算做Web后端攻擊方式的話。那XSS和CSRF、ClickJacking等前端攻擊方式的運用則更為復雜。
在這本書中,作者向大家闡述了"草木竹石,均可為劍"的道理。在他們的眼中URL、HTML、JavaScript、CSS、ActionScript……幾乎每個地方都可以暗藏殺機。
鐘晨鳴,畢業于北京化工大學,網名:余弦。國內著名Web安全團隊xeye成員,除了愛好Web Hacking外,還對宇宙學、人類學等保持著濃厚興趣。2008年加入北京知道創宇信息技術有限公司,現任研究部總監,團隊致力于Web安全與海量數據研究,并進行相關超酷平臺的實現。如果大家想和我交流,可以私信我微博:weibo.com/evilcos,同時本書的動態也會在我的微博上。
徐少培,畢業于河北工業大學。網名:xisigr。國內著名Web安全團隊xeye成員。2008年加入北京天融信公司,現任北京天融信博學安全專家,重點負責安全研究工作,主要研究領域包括:WEB安全、HTML5安全、瀏覽器安全、協議分析等。同時也是國內信息安全大會常見的演講者。我的微博:weibo.com/xisigr,希望可以和大家交流。
第1章 Web安全的關鍵點
1.1 數據與指令
1.2 瀏覽器的同源策略
1.3 信任與信任關系
1.4 社會工程學的作用
1.5 攻防不單一
1.6 場景很重要
1.7 小結
第2章 前端基礎
2.1 W3C的世界法則
2.2 URL
2.3 HTTP協議
2.4 松散的HTML世界
2.4.1 DOM樹
2.4.2 iframe內嵌出一個
開放的世界
2.4.3 HTML內嵌腳本執行
2.5 跨站之魂——JavaScript
2.5.1 DOM樹操作
2.5.2 AJAX風險
2.5.3 模擬用戶發起瀏覽器請求
2.5.4 Cookie安全
2.5.5 本地存儲風險
2.5.6 E4X帶來的混亂世界
2.5.7 JavaScript函數劫持
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 參數傳遞
2.7.5 Flash里的內嵌HTML
2.7.6 與JavaScript通信
2.7.7 網絡通信
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 哪里可以出現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 點擊劫持技術實現
5.2.3 拖放劫持技術實現
5.2.4 觸屏劫持技術實現
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 靜態方法
6.3.2 動態方法
6.4 Flash XSS挖掘
6.4.1 XSF挖掘思路
6.4.2 Google Flash XSS挖掘
6.5 字符集缺陷導致的XSS
6.5.1 寬字節編碼帶來的安全問題
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 更多經典的混淆CheckList
6.8 其他案例分享——
Gmail Cookie XSS
第7章 漏洞利用
7.1 滲透前的準備
7.2 偷取隱私數據
7.2.1 XSS探針:xssprobe
7.2.2 Referer惹的禍
7.2.3 瀏覽器記住的明文密碼
7.2.4 鍵盤記錄器
7.2.5 偷取黑客隱私的
一個小技巧
7.3 內網滲透技術
7.3.1 獲取內網IP
7.3.2 獲取內網IP端口
7.3.3 獲取內網主機存活狀態
7.3.4 開啟路由器的遠程
訪問能力
7.3.5 內網脆弱的Web應用控制
7.4 基于CSRF的攻擊技術
7.4.1 基于CSRF的XSS攻擊
7.5 瀏覽器劫持技術
7.6 一些跨域操作技術
7.6.1 IE res:協議跨域
7.6.2 CSS String Injection跨域
7.6.3 瀏覽器特權區域風險
7.6.4 瀏覽器擴展風險
7.6.5 跨子域:document.domain
技巧
7.6.6 更多經典的跨域索引
7.7 XSS Proxy技術
7.7.1 瀏覽器