钱文祥编著的这本《白帽子讲浏览器安全》共分3篇:第1篇探索浏览器安全,介绍了从浏览器的用户界面以及浏览器展示网页的整个过程,针对过程中可能出现的问题进行了探讨,详细地介绍了浏览器的特性以及基础安全概念;第2篇实战网马与代码调试,从插件和扩展安全说起,再通过几个网马的例子,将重点逐渐从Web向二进制调试转移;第3篇深度探索浏览器漏洞,对浏览器漏洞知识进行了更深入的挖掘和探讨。
浏览器是重要的互联网入口,一旦受到漏洞攻击,将直接影响到用户的信息安全。作为攻击者有哪些攻击思路,作为用户有哪些应对手段?在《白帽子讲浏览器安全》中,作者钱文祥将给出解答,带你了解浏览器安全的方方面面。本书兼顾攻击者、研究者和使用者三个场景,对大部分攻击都提供了分析思路和防御方案。本书从攻击者常用技巧的“表象”深入介绍浏览器的具体实现方式,让你在知其然的情况下也知其所以然。
本书根据作者若干年实战与工作积累的丰富经验编写而成,深入地分析了浏览器从导航到页面展示的整个过程中可能会出现的安全问题,也对浏览器的部分实现细节有着详细和深入的介绍,对安全工作者有一定的参考意义。
第1篇 初探浏览器安全
1 漏洞与浏览器安全
1.1 漏洞的三要素
1.2 漏洞的生命周期
1.3 浏览器安全概述
1.4 浏览器安全的现状
1.5 浏览器的应对策略
1.6 “白帽子”与浏览器厂商的联手协作
1.7 全书概览
1.8 本章小结
2 浏览器中常见的安全概念
2.1 URL
2.1.1 URL的标准形式
2.1.2 IRI
2.1.3 URL的“可视化”问题——字形欺骗钓鱼攻击
2.1.4 国际化域名字形欺骗攻击
2.1.5 自纠错与Unicode字符分解映射
2.1.6 登录信息钓鱼攻击
2.2 HTTP协议
2.2.1 HTTP HEADER
2.2.2 发起HTTP请求
2.2.3 Cookie
2.2.4 收到响应
2.2.5 HTTP协议自身的安全问题
2.2.6 注入响应头:CRLF攻击
2.2.7 攻击响应:HTTP 401钓鱼
2.3 浏览器信息安全的保障
2.3.1 源
2.3.2 同源准则
2.3.3 源的特殊处理
2.3.4 攻击同源准则:IE11跨任意域脚本注入一例
2.4 特殊区域的安全限制
2.4.1 安全域
2.4.2 本地域
2.5 伪协议
2.5.1 data伪协议
2.5.2 about伪协议
2.5.3 javascript/vbscript伪协议
2.5.4 伪协议逻辑出错:某浏览器跨任意域脚本注入一例
2.6 本章小结
3 探索浏览器的导航过程
3.1 导航开始
3.1.1 浏览器的导航过程
3.1.2 DNS请求
3.1.3 DNS劫持和DNS污染
3.1.4 导航尚未开始时的状态同步问题
3.1.5 实例:针对导航过程发起攻击
3.2 建立安全连接
3.2.1 HTTPS
……
4 页面显示时的安全问题
5 浏览器扩展与插件的安全问题
6 移动端的浏览器安全
第2篇 实战网马与代码调试
7 实战浏览器恶意网页分析
8 调试工具与Shellcode
第3篇 深度探索浏览器漏洞
9 漏洞的挖掘
10 网页的渲染
11 漏洞的分析
12 漏洞的利用
附录
参考资料