浏览器是重要的互联网入口,一旦受到漏洞攻击,将直接影响到用户的信息安全。作为攻击者有哪些攻击思路,作为用户有哪些应对手段?在本书中我们将给出解答,带你了解浏览器安全的方方面面。本书兼顾攻击者、研究者和使用者三个场景,对大部分攻击都提供了分析思路和防御方案。本书从攻击者常用技巧的“表象”深入介绍浏览器的具体实现方式,让你在知其然的情况下也知其所以然。
√ 来自腾讯的安全经验,来自乌云平台的专业保障。√ 浏览器威胁千变万化,从Web前端到浏览器边界突破。√ 覆盖规范、功能实现和渲染层,实战攻防各主流现代浏览器。√ 工具或原理只通其一不是白帽子,知其所以然且能攻善守才是。
钱文祥(常用ID:blast),专职浏览器安全研究。安徽理工大学毕业后就职于腾讯科技(北京)有限公司,专注于PC浏览器安全研究和安全相关功能的开发。活跃于多个漏洞报告平台,曾报告过数十个安全漏洞,涵盖IE、Chrome及国产定制浏览器。参与过多个浏览器安全相关以及漏洞挖掘的项目,维护有网马解密工具Redoce。
目录第1篇 初探浏览器安全 11 漏洞与浏览器安全 31.1 漏洞的三要素 31.2 漏洞的生命周期 41.3 浏览器安全概述 51.4 浏览器安全的现状 71.5 浏览器的应对策略 91.6 “白帽子”与浏览器厂商的联手协作 91.7 全书概览 101.8 本章小结 122 浏览器中常见的安全概念 132.1 URL 132.1.1 URL的标准形式 152.1.2 IRI 162.1.3 URL的“可视化”问题——字形欺骗钓鱼攻击 182.1.4 国际化域名字形欺骗攻击 192.1.5 自纠错与Unicode字符分解映射 202.1.6 登录信息钓鱼攻击 232.2 HTTP协议 242.2.1 HTTP HEADER 252.2.2 发起HTTP请求 262.2.3 Cookie 282.2.4 收到响应 292.2.5 HTTP协议自身的安全问题 312.2.6 注入响应头:CRLF攻击 312.2.7 攻击响应:HTTP 401 钓鱼 322.3 浏览器信息安全的保障 332.3.1 源 332.3.2 同源准则 342.3.3 源的特殊处理 342.3.4 攻击同源准则:IE11跨任意域脚本注入一例 352.4 特殊区域的安全限制 372.4.1 安全域 372.4.2 本地域 372.5 伪协议 382.5.1 data伪协议 382.5.2 about伪协议 402.5.3 javascript/vbscript伪协议 412.5.4 伪协议逻辑出错:某浏览器跨任意域脚本注入一例 422.6 本章小结 433 探索浏览器的导航过程 453.1 导航开始 453.1.1 浏览器的导航过程 463.1.2 DNS请求 463.1.3 DNS劫持和DNS污染 473.1.4 导航尚未开始时的状态同步问题 483.1.5 实例:针对导航过程发起攻击 493.2 建立安全连接 503.2.1 HTTPS 503.2.2 HTTPS请求中的Cookie 513.3 响应数据的安全检查——XSS过滤器 523.3.1 IE XSS Filter的实现原理 533.3.2 Chrome XSSAuditor的工作原理 553.4 文档的预处理 563.4.1 浏览器对HTML文档的标准化 563.4.2 设置兼容模式 573.5 处理脚本 593.5.1 脚本的编码 603.5.2 IE的CSS expression的各种编码模式 623.5.3 浏览器的应对策略:CSP 633.5.4 “绕过”CSP:MIME Sniff 653.5.5 简单的Fuzz:混淆CSS expression表达式 683.6 攻击HTML标准化过程绕过IE/Chrome的XSS Filter 713.7 本章小结 734 页面显示时的安全问题 754.1 点击劫持 764.1.1 点击劫持页面的构造 764.1.2 X-Frame-Options 784.2 HTML5的安全问题 804.2.1 存储API 814.2.2 跨域资源共享 834.2.3 基于FullScreen和Notification API的新型钓鱼攻击 844.2.4 组合API后可能导致的安全问题 874.2.5 引入新的XSS 攻击向量 874.2.6 互联网威胁 894.3 HTTPS与中间人攻击 924.3.1 HTTPS的绿锁 924.3.2 HTTPS有多安全? 944.3.3 HSTS 964.3.4 使用SSLStrip阻止HTTP升级HTTPS 974.3.5 使用Fiddler对PC端快速进行中间人攻击测试 994.3.6 使用Fiddler脚本和AutoResponse自动发起中间人攻击 1014.4 本章小结 1035 浏览器扩展与插件的安全问题 1055.1 插件 1065.1.1 ActiveX 1065.1.2 ActiveX的安全问题 1075.1.3 ActiveX的逻辑漏洞 1085.1.4 NPAPI、PPAPI 1115.2 定制浏览器的扩展和插件的漏洞 1135.2.1 特权API暴露 1145.2.2 DOM 修改引入攻击向量 1145.2.3 Windows文件名相关的多个问题 1155.2.4 NPAPI DLL的问题 1165.2.5 同源检查不完善 1175.2.6 Content Script劫持 1185.2.7 权限隔离失败 1185.2.8 配合切核策略 本地内部页XSS执行代码 1185.2.9 下载服务器限制宽松 1195.2.10 TLDs判定问题 1195.2.11 经典漏洞 1205.2.12 中间人 1205.3 Adobe Flash插件与Action Script 1215.3.1 Flash的语言——Action Script 1215.3.2 Flash文档的反编译、再编译与调试 1225.3.3 SWF的网络交互:URLLoader 1245.3.4 crossdomain.xml与Flash的“沙盒” 1255.3.5 ExternalInterface 1265.3.6 FLASH XSS 1265.3.7 Microsoft Edge中的Flash ActiveX 1305.4 浏览器的沙盒 1315.4.1 受限令牌 1325.4.2 完整性级别与IE的保护模式 1335.4.3 任务对象 1345.5 本章小结 1356 移动端的浏览器安全 1376.1 移动浏览器的安全状况 1386.2 移动端的威胁 1416.2.1 通用跨站脚本攻击 1416.2.2 地址栏伪造 1426.2.3 界面伪装 1436.3 结合系统特性进行攻击 1446.3.1 Android一例漏洞:使用Intent URL Scheme绕过Chrome SOP 1446.3.2 iOS的一例漏洞:自动拨号泄露隐私 1466.3.3 Windows Phone一例未修补漏洞:利用Cortana显示IE中已保存密码 1476.4 本章小结 149第2篇 实战网马与代码调试7 实战浏览器恶意网页分析 1537.1 恶意网站中“看得见的”攻防 1537.2 恶意脚本的抓取和分析 1557.2.1 发现含攻击代码的网址 1567.2.2 使用rDNS扩大搜索结果 1567.2.3 下载攻击代码 1577.2.4 搭建测试环境 1587.2.5 初识网马反混淆工具 1587.2.6 恶意脚本中常见的编码方式 1597.3 一个简单的挂马代码的处理 1697.3.1 快速判断挂马 1697.3.2 JS代码的格式化 1707.4 更为复杂的代码处理:对Angler网马工具包的反混淆 1707.4.1 Angler EK的特征 1707.4.2 推理:找出代码中的“解密-执行”模式 1727.4.3 检证:确定“解密-执行”模式的位置和方法 1757.4.4 追踪:使用浏览器特性判断用户环境 1797.4.5 利用漏洞CVE-2014-6332发起攻击 1887.5 本章小结 1908 调试工具与Shellcode 1918.1 调试工具的用法 1918.1.1 调试符号 1918.1.2 WinDbg的用法 1928.1.3 IDA的用法 1958.1.4 OllyDbg的用法 1998.2 与Shellcode的相关名词 2018.2.1 机器指令 2018.2.2 控制关键内存地址 2038.2.3 NOP Slide 2048.2.4 Magic Number 0x8123 2058.3 Shellcode的处理 2058.3.1 实现通用的Shellcode 2068.3.2 调试网马中的Shellcode 2128.4 本章小结 218第3篇 深度探索浏览器漏洞9 漏洞的挖掘 2219.1 挖0day 2219.1.1 ActiveX Fuzzer 的原理 2219.1.2 使用AxMan Fuzzer来Fuzz ActiveX插件 2229.1.3 现场复现 2259.2 DOM Fuzzer的搭建 2299.2.1 搭建运行Grinder的环境 2309.2.2 Fuzzer的结构与修改 2319.2.3 现场复现 2329.3 崩溃分析 2339.3.1 哪些典型崩溃不能称作浏览器漏洞 2339.3.2 ActiveX崩溃一例 2369.3.3 IE11崩溃一例 2389.4 本章小结 24410 网页的渲染 24510.1 网页的渲染 24510.1.1 渲染引擎 24510.1.2 DOM结构模型 24710.1.3 IE解析HTML的过程 24910.1.4 IE的Tokenize 25110.1.5 Chrome解析HTML的过程 25310.1.6 Chrome的Tokenize 25410.2 元素的创建 25610.2.1 IE中元素的创建过程 25610.2.2
序人类及时次大规模的接触互联网,就是从PC 上的浏览器开始的。从它的诞生开始,浏览器安全就成为一个极其重要的安全领域。浏览器内核、网页、钓鱼、XSS,包括让人又爱又恨的网银插件,这些都和浏览器安全息息相关。随着移动互联网和互联网+时代的到来,浏览器已经变成了桌面端的互联网及时入口,而在移动端,虽然浏览器的入口地位受到了手机APP 的分流,但依然是最重要的入口之一。浏览器安全问题,变得更加错综复杂。比如iOS 越狱,用户只需要简单地访问一个特殊网页就能自动完成,也是利用了iOS Safari 的安全漏洞。随着HTML5 和HTTP 2 标准的先后定稿,以微信、手机QQ 为代表的开放平台迅猛发展,使得越来越多的HTML5 内容在APP 中的WebView 里呈现。这些APP 同样面临着广义的浏览器安全威胁。无巧不成书,认识钱文祥也是缘于浏览器。2013 年,在乌云上偶然看到几个关于浏览器漏洞的报告后,我在QQ 上联系了他。通过几次交谈,发现他是一个对安全技术尤其是浏览器安全技术非常痴迷并且有想法的人。所以,我邀请他来腾讯浏览器产品部工作,负责PC 浏览器的安全工作。他在浏览器安全方面的经验,很好地保障了QQ 浏览器的安全性,得到了团队的一致认可。此外,他还发现了Microsoft IE 的和Google Chrome浏览器的一些漏洞,并得到了这两家公司认可。当拿到书稿后,我不由地一震。他在工作之余,系统地总结和归纳了自己这些年在浏览器安全方面的一些知识,并深入浅出地呈现出来。这些知识可以给希望了解和学习浏览器安全的人提供一份有益的营养套餐。浏览器安全,其实涵盖了客户端、web、server 等,给初学者一种雾蒙蒙的感觉,同时也给互联网罩上一层迷雾,就好似北京那令人百感交集的雾霾。希望《白帽子讲浏览器安全》一书,能像前几天的一场北风,吹走那迷雾,给读者带来一片清澈的蓝天。边超,腾讯T4 专家,PC 浏览器技术负责人2015/12/8
浏览器上的安全是混乱的,W3C和WHATWG组织选择了——以标准化的形式使浏览器可以快速更新并增加新的安全策略——这样一种激进做法,来对抗浏览器上已有的和即将到来的安全风险。新的功能可以快速覆盖已有问题,但其带来的未知风险,或许更加可怕。我们必须要从Web前端到浏览器底层了解浏览器安全技术,在面对浏览器上千变万化的威胁时,方能做到未雨绸缪。如何做到?请阅读本书,一定不会让你失望。 ——腾讯玄武实验室安全专家,《Web前端黑客技术揭秘》作者 徐少培 这本书很难得!从纯粹的Web前端安全玩法,到如何突破浏览器边界,都做了深度剖析,有许多独到见解。感谢作者能把自己的诸多实战经验分享出来。 ——知道创宇技术副总裁,《Web前端黑客技术揭秘》作者 余弦这本书对浏览器规范层面、功能实现层面及渲染层出现的安全问题,都做了较为详细的描述。其中对各种现代浏览器的实例讲解,更是非常难得。作者似乎有这样一个意图:想从每个层面将读者带入一个个奇幻世界。无论如何,这是一本很完整的浏览器安全书籍,推荐想系统学习的道友从速入手。 ——双螺旋攻防实验室 李普君(长短短)本书从应用层到系统层介绍了浏览器在各种场景下的安全防御及攻击思路,并且结合了很多乌云平台上的实际案例,是国内本介绍浏览器安全的书籍,对浏览器安全机制感兴趣的人员值得一读。 ——乌云知识库和传统 Web 安全的书籍不同,本书着重围绕浏览器前端技术,并以案例形式讲解;覆盖基础知识及近几年出现的技术标准,其中不乏一些有趣的案例。如果对前端安全感兴趣,本书值得一读。 ——安全工程师 前端安全研究者 佳辰(EtherDream)看过作者之前一些文章,发现他对浏览器安全有着非常专业的研究。由其将自己的相关经验整理成书,相信会是一本值得研究Web安全及浏览器安全从业人员阅读的好书。 ——万达电商博学安全经理 lion_00
当当活动的时候买的,看起来还不错
买好书去当当
不错,技术类的书就是要不断更新。
好评
不错
通俗易懂、深入浅出,授人以渔。同时,又密切结合应用案例,从而让读者可以在模拟场景中深深的理会知识。书中不含较为复杂的技术理论问题,一切从实际出发。
不错!!
好
包装略寒酸。。
书还不错。挺好
书刚刚拿到:还没有打开:等看了再追加评论
书很不错
嗯
价格和内容都让人满意。
这个书不错
一般
发货很快,快递也很快,第一天订货,第二天就到了,书的质量也很好,是正版书,很满意,。一次性买了很多,以后慢慢看,书纸质很好,很满意的一次购物,以后还会在当当买书的,质量好,发货还快,快递也很给力,。总之,是一次很满意的购物。
发货很快,快递也很快,第一天订货,第二天就到了,书的质量也很好,是正版书,很满意,。一次性买了很多,以后慢慢看,书纸质很好,很满意的一次购物,以后还会在当当买书的,质量好,发货还快,快递也很给力,。总之,是一次很满意的购物。
不错书很好
买了五本书一个纸箱子都不给装。快递员态度也不好,几本书就拿个塑料袋装了,尼玛,边角都被磕坏了黑黑的,我这买的是新书,不是地摊上的旧书,这尼玛放书店,有人买算我输,体验非常差。再不会来当当买书了,谢谢。
物流速度很快
还是不错的书...
还不错 满意 第一次买
这本书不是很适合零基础的人看
每次买书都在当当,非常好
书很好!!
好好好好好好好好好好
送货很快,书也不错
很不错的一本书,很系统,但是各部分讲的不是很详细
很不错,毕竟时国内市面上第一本专门讲浏览器安全的书籍,侧重浏览器方面安全分析,也算填补国内这个领域的书籍空白。刚开始看,觉得挺有意思得。
浏览器是重要的互联网入口,一旦受到漏洞攻击,将直接影响到用户的信息安全。作为攻击者有哪些攻击思路,作为用户有哪些应对手段?在本书中我们将给出解答,带你了解浏览器安全的方方面面。本书兼顾攻击者、研究者和使用者三个场景,对大部分攻击都提供了分析思路和防御方案。本书从攻击者常用技巧的“表象”深入介绍浏览器的具体实现方式,让你在知其然的情况下也知其所以然。