現代Web套用安全指南

《現代Web套用安全指南》是2013年機械工業出版社出版的圖書,作者是Michal Zalewski 。

基本介紹

  • 書名:現代Web套用安全指南
  • 作者:Michal Zalewski 
  • 類別:圖書 > 計算機與網際網路 > 網路與通信
  • 譯者:朱筱丹
  • 出版社:機械工業出版社
  • 出版時間:2013年10月
  • ISBN:9787111439462 
圖書介紹,內容簡介,作者簡介,譯者簡介,目錄,

圖書介紹

作 者:[美] Michal Zalewski 著 朱筱丹 譯
出 版 社:機械工業出版社
出版時間:2013-09-01
所屬分類:圖書 > 計算機網際網路 > 網路與通信

內容簡介

《現代Web套用安全指南》在Web安全領域有“聖經”的美譽,在世界範圍內被安全工作者和Web從業人員廣為稱道,由來自Google Chrome瀏覽器團隊習鍵希櫻的世界頂級黑客、國妹虹催際一流安全專家撰寫,是目前唯一深度探索現代Web瀏覽器安全技術的專著。本書從瀏覽器設計的角度切入,以探討瀏覽器的各主要特性和由此笑抹糊廈衍生出來的各種安全相關問題為主線,深入剖析了現代Web瀏覽器的技術原理、安全機制和設計上的安全缺陷,為Web安全工作者和開發工程師們應對各種基於瀏覽器的安全隱患提供了應對措施。
《現代Web套用安全指南》開篇回顧了Web的發展歷程和安全風險的演化;第一部分解剖了現代瀏覽器的工作原理,包括URL、HTTP協定、HTML語言、CSS、文檔格式、瀏覽器外掛程式等內容;第二部分從瀏覽器的設計角度深入分析了各種現代Web瀏覽器(Firefox、Chrome、IE等)所引入的重點安全機制,例如同源策略、源的繼承、兵鞏海視窗和框架的互動、安全邊界、內容識別、應對惡意腳本、外圍的網站特權等,並分析了這些機制存在的安全缺陷,同時為Web套用開發者提供了如何避免攻擊和隱私泄露的應對措施;第三部分對瀏覽器安全機制的未來趨勢進行了展望,包括新的瀏覽器特性與安全展望、其他值得注意的瀏覽器、常見的Web安全漏洞等。

作者簡介

Michal Zalewski,國際一流信息安全技術專家,被譽為IT安全領域最有影響力的11位黑客之一。曾發現過數以百計的網路安全漏洞,並發表了多篇具有重大影響的研究論文。對現代Web瀏覽器有非常深入的研究,目前就職於Google,基於其在Web安全方面的豐富經驗幫助Google增強包括Chrome瀏覽器在內的一系列產品的安全性。此外,他還是一位開源軟體貢獻者,是著名開源軟體p0f、skipfish、ratproxy等的開發者。

譯者簡介

朱筱丹,畢業於華南理工大學無線電系,某信息安全公司工程師。在安全技術領域摸爬滾打多年,熱愛讀書與美食。

目錄

譯者序
前 言
第1章 Web套用安全
1.1 信息安全速覽
1.1.1 正統之道的尷尬
1.1.2 進入風險管理
1.1.3 分類學的啟發
1.1.4 實際的解決之道
1.2 Web的簡明歷史
1.2.1 史前時期的故事: 1945~1994年
1.2.2 第一次瀏覽器大戰:1995~1999年
1.2.3 平淡期:2000~2003年
1.2.4 Web 2.0 和第二次瀏覽器大戰:2004年之後
1.3 風險的演化
1.3.1 用戶作為安全風險的一個環節
1.3.2 難以隔離的Web運行環境
1.3.3 缺乏統一的格局
1.3.4 跨瀏肯樂趨覽器互動:失敗的協同
1.3.5 客戶端和伺服器端界限的日益模糊
第一部分 對Web的解剖分析
第2章 一切從URL開始
2.1 URL的結構
2.1.1 協定名稱
2.1.2 層級URL的標記符號
2.1.3 訪問資源的身份驗證
2.1.4 伺服器地址
2.1.5 伺服器連線埠
2.1.6 層級的檔案路徑
2.1.7 查詢字元串
2.1.8 片段ID
2.1.9 把所旬影有的東西整合起來
2.2 保留字元和百分號編碼
2.3 常見的 URL協定及功能
2.3.1 瀏覽器本身支持、與獲取文檔相關的協定
2.3.2 由第三方套用和外掛程式支持的協定
2.3.3 未封裝的偽協定
2.3.4 封裝過的偽協定
2.3.5 關於協定檢測部分的結語
2.4 相對URL的解析
2.5 安全工程速查表
第3章 HTTP協定
3.1 HTTP 基本語法
3.1.1 支持HTTP0.9的惡果
3.1.2 換行處理帶來的各種混亂
3.1.3 經過代理的HTTP請求
3.1.4 對重複或有衝突的頭域邀己牛的解析
3.1.5 以分號作分隔設定的頭域值
3.1.6 頭域裡的字元集和編碼策略
3.1.7 Referer頭域的表現
3.2 HTTP 請求類型
3.2.1 GET
3.2.2 POST
3.2.3 HEAD
3.2.4 OPTIONS
3.2.5 PUT
3.2.6 DELETE
3.2.7 TRACE
3.2.8 CONNECT
3.2.9 其他 HTTP 方法
3.3 伺服器回響代碼
3.4 持續會話
3.5 分段數據傳輸
3.6 快取機制
3.7 HTTP Cookie 語義
3.8 HTTP 認證
3.9 協定級別的加密和客戶端證書
3.9.1 擴展驗證型證書
3.9.2 出錯處理的規則
3.10 安全工程速查表
第4章 HTML語言
4.1 HTML文檔背後的基本概念
4.1.1 文檔解析模式
4.1.2 語義之爭
4.2 理解HTML解析器的行為
4.2.1 多重標籤之間的互動
4.2.2 顯式和隱式的條件判斷
4.2.3 HTML解析的生存建議
4.3 HTML實體編碼
4.4 HTTPHTML 互動語義
4.5 超連結和內容包含
4.5.1 單純的連結
4.5.2 表單和表單觸發的請求
4.5.3 框架
4.5.4 特定類型的內容包含
4.5.5 關於跨站請求偽造
4.6 安全工程速查表
第5章 層疊樣式表
5.1 CSS基本語法
5.1.1 屬性定義
5.1.2 @ 指令和XBL綁定
5.1.3 與HTML的互動
5.2 重新同步的風險
5.3 字元編碼
5.4 安全工程速查表
第6章 瀏覽器端腳本
6.1 JavaScript的基本特點
6.1.1 腳本處理模型
6.1.2 執行順序的控制
6.1.3 代碼和對象檢視功能
6.1.4 修改運行環境
6.1.5 JavaScript 對象表示法(JSON)和其他數據序列化
6.1.6 E4X和其他語法擴展
6.2 標準對象層級
6.2.1 文檔對象模型
6.2.2 對其他文檔的訪問
6.3 腳本字元編碼
6.4 代碼包含模式和嵌入風險
6.5 活死人:Visual Basic
6.6 安全工程速查表
第7章 非HTML類型文檔
7.2 點陣圖圖片
7.3 音頻與視頻
7.4 各種XML檔案
7.4.1 常規XML視圖效果
7.4.2 可縮放向量圖片
7.4.3 數學標記語言
7.4.4 XML用戶界面語言
7.4.5 無線標記語言
7.4.6 RSS 和 Atom訂閱源
7.5 關於不可顯示的檔案類型
7.6 安全工程速查表
第8章 瀏覽器外掛程式產生的內容
8.1 對外掛程式的調用
8.2 文檔顯示幫助程式
8.3 外掛程式的各種套用框架
8.3.1 Adobe Flash
8.3.2 Microsoft Silverlight
8.3.3 Sun Java
8.3.4 XML Browser Applications
8.4 ActiveX Controls
8.5 其他外掛程式的情況
8.6 安全工程速查表
第二部分 瀏覽器安全特性
第9章 內容隔離邏輯
9.1 DOM的同源策略
9.1.1 document.domain
9.1.2 postMessage(...)
9.1.3 與瀏覽器身份驗證的互動
9.2 XMLHttpRequest的同源策略
9.3 Web Storage 的同源策略
9.4 Cookies 的安全策略
9.4.1 Cookie對同源策略的影響
9.4.2 域名限制帶來的問題
9.4.3 localhost帶來的非一般風險
9.4.4 Cookie與"合法"DNS劫持
9.5 外掛程式的安全規則
9.5.1 Adobe Flash
9.5.2 Microsoft Silverlight
9.5.3 Java
9.6 如何處理格式含糊或意想不到的源信息
9.6.1 IP 地址
9.6.2 主機名里有額外的點號
9.6.3 不完整的主機名
9.6.4 本地檔案
9.6.5 偽URL
9.6.6 瀏覽器擴展和用戶界面
9.7 源的其他套用
9.8 安全工程速查表
第10章 源的繼承
10.1 about:blank頁面的源繼承
10.2 data: URL的繼承
10.3 javascript:和vbscript: URL對源的繼承
10.4 關於受限偽URL的一些補充
10.5 安全工程速查表
第11章 同源策略之外的世界
11.1 視窗和框架的互動
11.1.1 改變現有頁面的地址
11.1.2 不請自來的框架
11.2 跨域內容包含
11.3 與隱私相關的副作用
11.4 其他的同源漏洞和套用
11.5 安全工程速查表
第12章 其他的安全邊界
12.1 跳轉到敏感協定
12.2 訪問內部網路
12.3 禁用的連線埠
12.4 對第三方Cookie的限制
12.5 安全工程速查表
第13章 內容識別機制
13.1 文檔類型檢測的邏輯
13.1.1 格式錯誤的MIME Type寫法
13.1.2 特殊的 Content-Type 值
13.1.3 無法識別的Content Type類型
13.1.4 防禦性使用Content-Disposition
13.1.5 子資源的內容設定
13.1.6 檔案下載和其他非HTTP內容
13.2 字元集處理
13.2.1 位元組順序標記
13.2.2 字元集繼承和覆蓋
13.2.3 通過HTML代碼設定子資源字元集
13.2.4 非HTTP 檔案的編碼檢測
13.3 安全工程速查表
第14章 應對惡意腳本
14.1.1 執行時間和記憶體使用的限制
14.1.2 連線限制
14.1.3 過濾彈出視窗
14.1.4 對話框的使用限制
14.2 視窗定位和外觀問題
14.3 用戶界面的時差攻擊
14.4 安全工程速查表
第15章 外圍的網站特權
15.1 瀏覽器和託管外掛程式的站點許可權
15.2 表單密碼管理
15.3 IE瀏覽器的區域模型
15.4 安全工程速查表
第三部分 瀏覽器安全機制的未來趨勢
第16章 新的瀏覽器安全特性與未來展望
16.1 安全模型擴展框架
16.1.1 跨域請求
16.1.2 XDomainRequest
16.1.3 Origin 請求頭的其他套用
16.2 安全模型限制框架
16.2.1 內容安全策略
16.2.2 沙盒框架
16.2.3 嚴格傳輸安全
16.3 其他的一些進展
16.3.1 瀏覽器內置的 HTML淨化器
16.3.2 XSS 過濾
16.4 安全工程速查表
第17章 其他值得注意的瀏覽器機制
17.1 URL級別和協定級別的提議
17.2 內容相關的特性
17.3 IO接口
第18章 常見的Web安全漏洞
18.1 與Web套用相關的漏洞
18.2 Web套用設計時應謹記的問題
18.3 伺服器端的常見問題
後記
注釋
1.3.2 難以隔離的Web運行環境
1.3.3 缺乏統一的格局
1.3.4 跨瀏覽器互動:失敗的協同
1.3.5 客戶端和伺服器端界限的日益模糊
第一部分 對Web的解剖分析
第2章 一切從URL開始
2.1 URL的結構
2.1.1 協定名稱
2.1.2 層級URL的標記符號
2.1.3 訪問資源的身份驗證
2.1.4 伺服器地址
2.1.5 伺服器連線埠
2.1.6 層級的檔案路徑
2.1.7 查詢字元串
2.1.8 片段ID
2.1.9 把所有的東西整合起來
2.2 保留字元和百分號編碼
2.3 常見的 URL協定及功能
2.3.1 瀏覽器本身支持、與獲取文檔相關的協定
2.3.2 由第三方套用和外掛程式支持的協定
2.3.3 未封裝的偽協定
2.3.4 封裝過的偽協定
2.3.5 關於協定檢測部分的結語
2.4 相對URL的解析
2.5 安全工程速查表
第3章 HTTP協定
3.1 HTTP 基本語法
3.1.1 支持HTTP0.9的惡果
3.1.2 換行處理帶來的各種混亂
3.1.3 經過代理的HTTP請求
3.1.4 對重複或有衝突的頭域的解析
3.1.5 以分號作分隔設定的頭域值
3.1.6 頭域裡的字元集和編碼策略
3.1.7 Referer頭域的表現
3.2 HTTP 請求類型
3.2.1 GET
3.2.2 POST
3.2.3 HEAD
3.2.4 OPTIONS
3.2.5 PUT
3.2.6 DELETE
3.2.7 TRACE
3.2.8 CONNECT
3.2.9 其他 HTTP 方法
3.3 伺服器回響代碼
3.4 持續會話
3.5 分段數據傳輸
3.6 快取機制
3.7 HTTP Cookie 語義
3.8 HTTP 認證
3.9 協定級別的加密和客戶端證書
3.9.1 擴展驗證型證書
3.9.2 出錯處理的規則
3.10 安全工程速查表
第4章 HTML語言
4.1 HTML文檔背後的基本概念
4.1.1 文檔解析模式
4.1.2 語義之爭
4.2 理解HTML解析器的行為
4.2.1 多重標籤之間的互動
4.2.2 顯式和隱式的條件判斷
4.2.3 HTML解析的生存建議
4.3 HTML實體編碼
4.4 HTTPHTML 互動語義
4.5 超連結和內容包含
4.5.1 單純的連結
4.5.2 表單和表單觸發的請求
4.5.3 框架
4.5.4 特定類型的內容包含
4.5.5 關於跨站請求偽造
4.6 安全工程速查表
第5章 層疊樣式表
5.1 CSS基本語法
5.1.1 屬性定義
5.1.2 @ 指令和XBL綁定
5.1.3 與HTML的互動
5.2 重新同步的風險
5.3 字元編碼
5.4 安全工程速查表
第6章 瀏覽器端腳本
6.1 JavaScript的基本特點
6.1.1 腳本處理模型
6.1.2 執行順序的控制
6.1.3 代碼和對象檢視功能
6.1.4 修改運行環境
6.1.5 JavaScript 對象表示法(JSON)和其他數據序列化
6.1.6 E4X和其他語法擴展
6.2 標準對象層級
6.2.1 文檔對象模型
6.2.2 對其他文檔的訪問
6.3 腳本字元編碼
6.4 代碼包含模式和嵌入風險
6.5 活死人:Visual Basic
6.6 安全工程速查表
第7章 非HTML類型文檔
7.2 點陣圖圖片
7.3 音頻與視頻
7.4 各種XML檔案
7.4.1 常規XML視圖效果
7.4.2 可縮放向量圖片
7.4.3 數學標記語言
7.4.4 XML用戶界面語言
7.4.5 無線標記語言
7.4.6 RSS 和 Atom訂閱源
7.5 關於不可顯示的檔案類型
7.6 安全工程速查表
第8章 瀏覽器外掛程式產生的內容
8.1 對外掛程式的調用
8.2 文檔顯示幫助程式
8.3 外掛程式的各種套用框架
8.3.1 Adobe Flash
8.3.2 Microsoft Silverlight
8.3.3 Sun Java
8.3.4 XML Browser Applications
8.4 ActiveX Controls
8.5 其他外掛程式的情況
8.6 安全工程速查表
第二部分 瀏覽器安全特性
第9章 內容隔離邏輯
9.1 DOM的同源策略
9.1.1 document.domain
9.1.2 postMessage(...)
9.1.3 與瀏覽器身份驗證的互動
9.2 XMLHttpRequest的同源策略
9.3 Web Storage 的同源策略
9.4 Cookies 的安全策略
9.4.1 Cookie對同源策略的影響
9.4.2 域名限制帶來的問題
9.4.3 localhost帶來的非一般風險
9.4.4 Cookie與"合法"DNS劫持
9.5 外掛程式的安全規則
9.5.1 Adobe Flash
9.5.2 Microsoft Silverlight
9.5.3 Java
9.6 如何處理格式含糊或意想不到的源信息
9.6.1 IP 地址
9.6.2 主機名里有額外的點號
9.6.3 不完整的主機名
9.6.4 本地檔案
9.6.5 偽URL
9.6.6 瀏覽器擴展和用戶界面
9.7 源的其他套用
9.8 安全工程速查表
第10章 源的繼承
10.1 about:blank頁面的源繼承
10.2 data: URL的繼承
10.3 javascript:和vbscript: URL對源的繼承
10.4 關於受限偽URL的一些補充
10.5 安全工程速查表
第11章 同源策略之外的世界
11.1 視窗和框架的互動
11.1.1 改變現有頁面的地址
11.1.2 不請自來的框架
11.2 跨域內容包含
11.3 與隱私相關的副作用
11.4 其他的同源漏洞和套用
11.5 安全工程速查表
第12章 其他的安全邊界
12.1 跳轉到敏感協定
12.2 訪問內部網路
12.3 禁用的連線埠
12.4 對第三方Cookie的限制
12.5 安全工程速查表
第13章 內容識別機制
13.1 文檔類型檢測的邏輯
13.1.1 格式錯誤的MIME Type寫法
13.1.2 特殊的 Content-Type 值
13.1.3 無法識別的Content Type類型
13.1.4 防禦性使用Content-Disposition
13.1.5 子資源的內容設定
13.1.6 檔案下載和其他非HTTP內容
13.2 字元集處理
13.2.1 位元組順序標記
13.2.2 字元集繼承和覆蓋
13.2.3 通過HTML代碼設定子資源字元集
13.2.4 非HTTP 檔案的編碼檢測
13.3 安全工程速查表
第14章 應對惡意腳本
14.1.1 執行時間和記憶體使用的限制
14.1.2 連線限制
14.1.3 過濾彈出視窗
14.1.4 對話框的使用限制
14.2 視窗定位和外觀問題
14.3 用戶界面的時差攻擊
14.4 安全工程速查表
第15章 外圍的網站特權
15.1 瀏覽器和託管外掛程式的站點許可權
15.2 表單密碼管理
15.3 IE瀏覽器的區域模型
15.4 安全工程速查表
第三部分 瀏覽器安全機制的未來趨勢
第16章 新的瀏覽器安全特性與未來展望
16.1 安全模型擴展框架
16.1.1 跨域請求
16.1.2 XDomainRequest
16.1.3 Origin 請求頭的其他套用
16.2 安全模型限制框架
16.2.1 內容安全策略
16.2.2 沙盒框架
16.2.3 嚴格傳輸安全
16.3 其他的一些進展
16.3.1 瀏覽器內置的 HTML淨化器
16.3.2 XSS 過濾
16.4 安全工程速查表
第17章 其他值得注意的瀏覽器機制
17.1 URL級別和協定級別的提議
17.2 內容相關的特性
17.3 IO接口
第18章 常見的Web安全漏洞
18.1 與Web套用相關的漏洞
18.2 Web套用設計時應謹記的問題
18.3 伺服器端的常見問題
後記
注釋

相關詞條

熱門詞條

聯絡我們