白帽子讲浏览器安全

白帽子讲浏览器安全
分享
扫描下方二维码分享到微信
打开微信,点击右上角”+“,
使用”扫一扫“即可将网页分享到朋友圈。
作者:
2016-03
版次: 1
ISBN: 9787121281549
定价: 79.00
装帧: 平装
开本: 16开
纸张: 胶版纸
页数: 332页
正文语种: 简体中文
  •   浏览器是重要的互联网入口,一旦受到漏洞攻击,将直接影响到用户的信息安全。作为攻击者有哪些攻击思路,作为用户有哪些应对手段?在《白帽子讲浏览器安全》中我们将给出解答,带你了解浏览器安全的方方面面。《白帽子讲浏览器安全》兼顾攻击者、研究者和使用者三个场景,对大部分攻击都提供了分析思路和防御方案。《白帽子讲浏览器安全》从攻击者常用技巧的“表象”深入介绍浏览器的具体实现方式,让你在知其然的情况下也知其所以然。  本书根据作者若干年实战与工作积累的丰富经验编写而成,深入地分析了浏览器从导航到页面展示的整个过程中可能会出现的安全问题,也对浏览器的部分实现细节有着详细和深入的介绍,对安全工作者有一定的参考意义。   钱文祥(常用ID:blast),专职浏览器安全研究。安徽理工大学毕业后就职于腾讯科技(北京)有限公司,专注于PC浏览器安全研究和安全相关功能的开发。活跃于多个漏洞报告平台,曾报告过数十个安全漏洞,涵盖IE、Chrome及国产定制浏览器。参与过多个浏览器安全相关以及漏洞挖掘的项目,维护有网马解密工具Redoce。 第1篇初探浏览器安全1

    1漏洞与浏览器安全3

    1.1漏洞的三要素3

    1.2漏洞的生命周期4

    1.3浏览器安全概述5

    1.4浏览器安全的现状7

    1.5浏览器的应对策略9

    1.6“白帽子”与浏览器厂商的联手协作9

    1.7全书概览10

    1.8本章小结12

    2浏览器中常见的安全概念13

    2.1URL13

    2.1.1URL的标准形式15

    2.1.2IRI16

    2.1.3URL的“可视化”问题——字形欺骗钓鱼攻击18

    2.1.4国际化域名字形欺骗攻击19

    2.1.5自纠错与Unicode字符分解映射20

    2.1.6登录信息钓鱼攻击23

    2.2HTTP协议24

    2.2.1HTTPHEADER25

    2.2.2发起HTTP请求26

    2.2.3Cookie28

    2.2.4收到响应29

    2.2.5HTTP协议自身的安全问题31

    2.2.6注入响应头:CRLF攻击31

    2.2.7攻击响应:HTTP401钓鱼32

    2.3浏览器信息安全的保障33

    2.3.1源33

    2.3.2同源准则34

    2.3.3源的特殊处理34

    2.3.4攻击同源准则:IE11跨任意域脚本注入一例35

    2.4特殊区域的安全限制37

    2.4.1安全域37

    2.4.2本地域37

    2.5伪协议38

    2.5.1data伪协议38

    2.5.2about伪协议40

    2.5.3javascript/vbscript伪协议41

    2.5.4伪协议逻辑出错:某浏览器跨任意域脚本注入一例42

    2.6本章小结43

    3探索浏览器的导航过程45

    3.1导航开始45

    3.1.1浏览器的导航过程46

    3.1.2DNS请求46

    3.1.3DNS劫持和DNS污染47

    3.1.4导航尚未开始时的状态同步问题48

    3.1.5实例:针对导航过程发起攻击49

    3.2建立安全连接50

    3.2.1HTTPS50

    3.2.2HTTPS请求中的Cookie51

    3.3响应数据的安全检查——XSS过滤器52

    3.3.1IEXSSFilter的实现原理53

    3.3.2ChromeXSSAuditor的工作原理55

    3.4文档的预处理56

    3.4.1浏览器对HTML文档的标准化56

    3.4.2设置兼容模式57

    3.5处理脚本59

    3.5.1脚本的编码60

    3.5.2IE的CSSexpression的各种编码模式62

    3.5.3浏览器的应对策略:CSP63

    3.5.4“绕过”CSP:MIMESniff65

    3.5.5简单的Fuzz:混淆CSSexpression表达式68

    3.6攻击HTML标准化过程绕过IE/Chrome的XSSFilter71

    3.7本章小结73

    4页面显示时的安全问题75

    4.1点击劫持76

    4.1.1点击劫持页面的构造76

    4.1.2X-Frame-Options78

    4.2HTML5的安全问题80

    4.2.1存储API81

    4.2.2跨域资源共享83

    4.2.3基于FullScreen和NotificationAPI的新型钓鱼攻击84

    4.2.4组合API后可能导致的安全问题87

    4.2.5引入新的XSS攻击向量87

    4.2.6互联网威胁89

    4.3HTTPS与中间人攻击92

    4.3.1HTTPS的绿锁92

    4.3.2HTTPS有多安全?94

    4.3.3HSTS96

    4.3.4使用SSLStrip阻止HTTP升级HTTPS97

    4.3.5使用Fiddler对PC端快速进行中间人攻击测试99

    4.3.6使用Fiddler脚本和AutoResponse自动发起中间人攻击101

    4.4本章小结103

    5浏览器扩展与插件的安全问题105

    5.1插件106

    5.1.1ActiveX106

    5.1.2ActiveX的安全问题107

    5.1.3ActiveX的逻辑漏洞108

    5.1.4NPAPI、PPAPI111

    5.2定制浏览器的扩展和插件的漏洞113

    5.2.1特权API暴露114

    5.2.2DOM修改引入攻击向量114

    5.2.3Windows文件名相关的多个问题115

    5.2.4NPAPIDLL的问题116

    5.2.5同源检查不完善117

    5.2.6ContentScript劫持118

    5.2.7权限隔离失败118

    5.2.8配合切核策略+本地内部页XSS执行代码118

    5.2.9下载服务器限制宽松119

    5.2.10TLDs判定问题119

    5.2.11经典漏洞120

    5.2.12中间人120

    5.3AdobeFlash插件与ActionScript121

    5.3.1Flash的语言——ActionScript121

    5.3.2Flash文档的反编译、再编译与调试122

    5.3.3SWF的网络交互:URLLoader124

    5.3.4crossdomain.xml与Flash的“沙盒”125

    5.3.5ExternalInterface126

    5.3.6FLASHXSS126

    5.3.7MicrosoftEdge中的FlashActiveX130

    5.4浏览器的沙盒131

    5.4.1受限令牌132

    5.4.2完整性级别与IE的保护模式133

    5.4.3任务对象134

    5.5本章小结135

    6移动端的浏览器安全137

    6.1移动浏览器的安全状况138

    6.2移动端的威胁141

    6.2.1通用跨站脚本攻击141

    6.2.2地址栏伪造142

    6.2.3界面伪装143

    6.3结合系统特性进行攻击144

    6.3.1Android一例漏洞:使用IntentURLScheme绕过ChromeSOP144

    6.3.2iOS的一例漏洞:自动拨号泄露隐私146

    6.3.3WindowsPhone一例未修补漏洞:利用Cortana显示IE中已保存密码147

    6.4本章小结149

    第2篇实战网马与代码调试

    7实战浏览器恶意网页分析153

    7.1恶意网站中“看得见的”攻防153

    7.2恶意脚本的抓取和分析155

    7.2.1发现含攻击代码的网址156

    7.2.2使用rDNS扩大搜索结果156

    7.2.3下载攻击代码157

    7.2.4搭建测试环境158

    7.2.5初识网马反混淆工具158

    7.2.6恶意脚本中常见的编码方式159

    7.3一个简单的挂马代码的处理169

    7.3.1快速判断挂马169

    7.3.2JS代码的格式化170

    7.4更为复杂的代码处理:对Angler网马工具包的反混淆170

    7.4.1AnglerEK的特征170

    7.4.2推理:找出代码中的“解密-执行”模式172

    7.4.3检证:确定“解密-执行”模式的位置和方法175

    7.4.4追踪:使用浏览器特性判断用户环境179

    7.4.5利用漏洞CVE-2014-6332发起攻击188

    7.5本章小结190

    8调试工具与Shellcode191

    8.1调试工具的用法191

    8.1.1调试符号191

    8.1.2WinDbg的用法192

    8.1.3IDA的用法195

    8.1.4OllyDbg的用法199

    8.2与Shellcode的相关名词201

    8.2.1机器指令201

    8.2.2控制关键内存地址203

    8.2.3NOPSlide204

    8.2.4MagicNumber0x8123205

    8.3Shellcode的处理205

    8.3.1实现通用的Shellcode206

    8.3.2调试网马中的Shellcode212

    8.4本章小结218

    第3篇深度探索浏览器漏洞

    9漏洞的挖掘221

    9.1挖0day221

    9.1.1ActiveXFuzzer的原理221

    9.1.2使用AxManFuzzer来FuzzActiveX插件222

    9.1.3现场复现225

    9.2DOMFuzzer的搭建229

    9.2.1搭建运行Grinder的环境230

    9.2.2Fuzzer的结构与修改231

    9.2.3现场复现232

    9.3崩溃分析233

    9.3.1哪些典型崩溃不能称作浏览器漏洞233

    9.3.2ActiveX崩溃一例236

    9.3.3IE11崩溃一例238

    9.4本章小结244

    10网页的渲染245

    10.1网页的渲染245

    10.1.1渲染引擎245

    10.1.2DOM结构模型247

    10.1.3IE解析HTML的过程249

    10.1.4IE的Tokenize251

    10.1.5Chrome解析HTML的过程253

    10.1.6Chrome的Tokenize254

    10.2元素的创建256

    10.2.1IE中元素的创建过程256

    10.2.2Chrome中元素的创建过程257

    10.2.3元素的生成规律258

    10.3实战:使用WinDbg跟踪元素的生成260

    10.4实战:使用WinDbg跟踪元素的插入263

    10.5实战:使用WinDbg跟踪元素的释放264

    10.6本章小结266

    11漏洞的分析267

    11.1分析IE漏洞CVE-2012-4969267

    11.1.1崩溃分析268

    11.1.2追根溯源270

    11.2分析JScript9漏洞CVE-2015-2425271

    11.2.1跟踪漏洞275

    11.3HackingTeam的Flash漏洞CVE-2015-5119分析276

    11.3.1静态阅读:成因分析276

    11.3.2Vector的覆盖过程278

    11.4本章小结279

    12漏洞的利用281

    12.1ShellCode的编写281

    12.2CVE-2012-4969的利用284

    12.2.1DEP/ASLR绕过287

    12.3CVE-2015-5119的Vector296

    12.4本章小结301

    附录303

    附录AIE(Edge)的URL截断303

    附录BIE的控制台截断304

    附录C表单中的mailto:外部协议305

    附录D危险的regedit:外部协议306

    附录EIEXSSFilter的漏洞也会帮助执行XSS307

    附录F更高级的策略保护——CSPLevel2308

    附录G更快的执行速度——JScript5toChakra309

    附录HChakra的整数存储310

    附录I安全实践311

    参考资料315

  • 内容简介:
      浏览器是重要的互联网入口,一旦受到漏洞攻击,将直接影响到用户的信息安全。作为攻击者有哪些攻击思路,作为用户有哪些应对手段?在《白帽子讲浏览器安全》中我们将给出解答,带你了解浏览器安全的方方面面。《白帽子讲浏览器安全》兼顾攻击者、研究者和使用者三个场景,对大部分攻击都提供了分析思路和防御方案。《白帽子讲浏览器安全》从攻击者常用技巧的“表象”深入介绍浏览器的具体实现方式,让你在知其然的情况下也知其所以然。  本书根据作者若干年实战与工作积累的丰富经验编写而成,深入地分析了浏览器从导航到页面展示的整个过程中可能会出现的安全问题,也对浏览器的部分实现细节有着详细和深入的介绍,对安全工作者有一定的参考意义。
  • 作者简介:
      钱文祥(常用ID:blast),专职浏览器安全研究。安徽理工大学毕业后就职于腾讯科技(北京)有限公司,专注于PC浏览器安全研究和安全相关功能的开发。活跃于多个漏洞报告平台,曾报告过数十个安全漏洞,涵盖IE、Chrome及国产定制浏览器。参与过多个浏览器安全相关以及漏洞挖掘的项目,维护有网马解密工具Redoce。
  • 目录:
    第1篇初探浏览器安全1

    1漏洞与浏览器安全3

    1.1漏洞的三要素3

    1.2漏洞的生命周期4

    1.3浏览器安全概述5

    1.4浏览器安全的现状7

    1.5浏览器的应对策略9

    1.6“白帽子”与浏览器厂商的联手协作9

    1.7全书概览10

    1.8本章小结12

    2浏览器中常见的安全概念13

    2.1URL13

    2.1.1URL的标准形式15

    2.1.2IRI16

    2.1.3URL的“可视化”问题——字形欺骗钓鱼攻击18

    2.1.4国际化域名字形欺骗攻击19

    2.1.5自纠错与Unicode字符分解映射20

    2.1.6登录信息钓鱼攻击23

    2.2HTTP协议24

    2.2.1HTTPHEADER25

    2.2.2发起HTTP请求26

    2.2.3Cookie28

    2.2.4收到响应29

    2.2.5HTTP协议自身的安全问题31

    2.2.6注入响应头:CRLF攻击31

    2.2.7攻击响应:HTTP401钓鱼32

    2.3浏览器信息安全的保障33

    2.3.1源33

    2.3.2同源准则34

    2.3.3源的特殊处理34

    2.3.4攻击同源准则:IE11跨任意域脚本注入一例35

    2.4特殊区域的安全限制37

    2.4.1安全域37

    2.4.2本地域37

    2.5伪协议38

    2.5.1data伪协议38

    2.5.2about伪协议40

    2.5.3javascript/vbscript伪协议41

    2.5.4伪协议逻辑出错:某浏览器跨任意域脚本注入一例42

    2.6本章小结43

    3探索浏览器的导航过程45

    3.1导航开始45

    3.1.1浏览器的导航过程46

    3.1.2DNS请求46

    3.1.3DNS劫持和DNS污染47

    3.1.4导航尚未开始时的状态同步问题48

    3.1.5实例:针对导航过程发起攻击49

    3.2建立安全连接50

    3.2.1HTTPS50

    3.2.2HTTPS请求中的Cookie51

    3.3响应数据的安全检查——XSS过滤器52

    3.3.1IEXSSFilter的实现原理53

    3.3.2ChromeXSSAuditor的工作原理55

    3.4文档的预处理56

    3.4.1浏览器对HTML文档的标准化56

    3.4.2设置兼容模式57

    3.5处理脚本59

    3.5.1脚本的编码60

    3.5.2IE的CSSexpression的各种编码模式62

    3.5.3浏览器的应对策略:CSP63

    3.5.4“绕过”CSP:MIMESniff65

    3.5.5简单的Fuzz:混淆CSSexpression表达式68

    3.6攻击HTML标准化过程绕过IE/Chrome的XSSFilter71

    3.7本章小结73

    4页面显示时的安全问题75

    4.1点击劫持76

    4.1.1点击劫持页面的构造76

    4.1.2X-Frame-Options78

    4.2HTML5的安全问题80

    4.2.1存储API81

    4.2.2跨域资源共享83

    4.2.3基于FullScreen和NotificationAPI的新型钓鱼攻击84

    4.2.4组合API后可能导致的安全问题87

    4.2.5引入新的XSS攻击向量87

    4.2.6互联网威胁89

    4.3HTTPS与中间人攻击92

    4.3.1HTTPS的绿锁92

    4.3.2HTTPS有多安全?94

    4.3.3HSTS96

    4.3.4使用SSLStrip阻止HTTP升级HTTPS97

    4.3.5使用Fiddler对PC端快速进行中间人攻击测试99

    4.3.6使用Fiddler脚本和AutoResponse自动发起中间人攻击101

    4.4本章小结103

    5浏览器扩展与插件的安全问题105

    5.1插件106

    5.1.1ActiveX106

    5.1.2ActiveX的安全问题107

    5.1.3ActiveX的逻辑漏洞108

    5.1.4NPAPI、PPAPI111

    5.2定制浏览器的扩展和插件的漏洞113

    5.2.1特权API暴露114

    5.2.2DOM修改引入攻击向量114

    5.2.3Windows文件名相关的多个问题115

    5.2.4NPAPIDLL的问题116

    5.2.5同源检查不完善117

    5.2.6ContentScript劫持118

    5.2.7权限隔离失败118

    5.2.8配合切核策略+本地内部页XSS执行代码118

    5.2.9下载服务器限制宽松119

    5.2.10TLDs判定问题119

    5.2.11经典漏洞120

    5.2.12中间人120

    5.3AdobeFlash插件与ActionScript121

    5.3.1Flash的语言——ActionScript121

    5.3.2Flash文档的反编译、再编译与调试122

    5.3.3SWF的网络交互:URLLoader124

    5.3.4crossdomain.xml与Flash的“沙盒”125

    5.3.5ExternalInterface126

    5.3.6FLASHXSS126

    5.3.7MicrosoftEdge中的FlashActiveX130

    5.4浏览器的沙盒131

    5.4.1受限令牌132

    5.4.2完整性级别与IE的保护模式133

    5.4.3任务对象134

    5.5本章小结135

    6移动端的浏览器安全137

    6.1移动浏览器的安全状况138

    6.2移动端的威胁141

    6.2.1通用跨站脚本攻击141

    6.2.2地址栏伪造142

    6.2.3界面伪装143

    6.3结合系统特性进行攻击144

    6.3.1Android一例漏洞:使用IntentURLScheme绕过ChromeSOP144

    6.3.2iOS的一例漏洞:自动拨号泄露隐私146

    6.3.3WindowsPhone一例未修补漏洞:利用Cortana显示IE中已保存密码147

    6.4本章小结149

    第2篇实战网马与代码调试

    7实战浏览器恶意网页分析153

    7.1恶意网站中“看得见的”攻防153

    7.2恶意脚本的抓取和分析155

    7.2.1发现含攻击代码的网址156

    7.2.2使用rDNS扩大搜索结果156

    7.2.3下载攻击代码157

    7.2.4搭建测试环境158

    7.2.5初识网马反混淆工具158

    7.2.6恶意脚本中常见的编码方式159

    7.3一个简单的挂马代码的处理169

    7.3.1快速判断挂马169

    7.3.2JS代码的格式化170

    7.4更为复杂的代码处理:对Angler网马工具包的反混淆170

    7.4.1AnglerEK的特征170

    7.4.2推理:找出代码中的“解密-执行”模式172

    7.4.3检证:确定“解密-执行”模式的位置和方法175

    7.4.4追踪:使用浏览器特性判断用户环境179

    7.4.5利用漏洞CVE-2014-6332发起攻击188

    7.5本章小结190

    8调试工具与Shellcode191

    8.1调试工具的用法191

    8.1.1调试符号191

    8.1.2WinDbg的用法192

    8.1.3IDA的用法195

    8.1.4OllyDbg的用法199

    8.2与Shellcode的相关名词201

    8.2.1机器指令201

    8.2.2控制关键内存地址203

    8.2.3NOPSlide204

    8.2.4MagicNumber0x8123205

    8.3Shellcode的处理205

    8.3.1实现通用的Shellcode206

    8.3.2调试网马中的Shellcode212

    8.4本章小结218

    第3篇深度探索浏览器漏洞

    9漏洞的挖掘221

    9.1挖0day221

    9.1.1ActiveXFuzzer的原理221

    9.1.2使用AxManFuzzer来FuzzActiveX插件222

    9.1.3现场复现225

    9.2DOMFuzzer的搭建229

    9.2.1搭建运行Grinder的环境230

    9.2.2Fuzzer的结构与修改231

    9.2.3现场复现232

    9.3崩溃分析233

    9.3.1哪些典型崩溃不能称作浏览器漏洞233

    9.3.2ActiveX崩溃一例236

    9.3.3IE11崩溃一例238

    9.4本章小结244

    10网页的渲染245

    10.1网页的渲染245

    10.1.1渲染引擎245

    10.1.2DOM结构模型247

    10.1.3IE解析HTML的过程249

    10.1.4IE的Tokenize251

    10.1.5Chrome解析HTML的过程253

    10.1.6Chrome的Tokenize254

    10.2元素的创建256

    10.2.1IE中元素的创建过程256

    10.2.2Chrome中元素的创建过程257

    10.2.3元素的生成规律258

    10.3实战:使用WinDbg跟踪元素的生成260

    10.4实战:使用WinDbg跟踪元素的插入263

    10.5实战:使用WinDbg跟踪元素的释放264

    10.6本章小结266

    11漏洞的分析267

    11.1分析IE漏洞CVE-2012-4969267

    11.1.1崩溃分析268

    11.1.2追根溯源270

    11.2分析JScript9漏洞CVE-2015-2425271

    11.2.1跟踪漏洞275

    11.3HackingTeam的Flash漏洞CVE-2015-5119分析276

    11.3.1静态阅读:成因分析276

    11.3.2Vector的覆盖过程278

    11.4本章小结279

    12漏洞的利用281

    12.1ShellCode的编写281

    12.2CVE-2012-4969的利用284

    12.2.1DEP/ASLR绕过287

    12.3CVE-2015-5119的Vector296

    12.4本章小结301

    附录303

    附录AIE(Edge)的URL截断303

    附录BIE的控制台截断304

    附录C表单中的mailto:外部协议305

    附录D危险的regedit:外部协议306

    附录EIEXSSFilter的漏洞也会帮助执行XSS307

    附录F更高级的策略保护——CSPLevel2308

    附录G更快的执行速度——JScript5toChakra309

    附录HChakra的整数存储310

    附录I安全实践311

    参考资料315

查看详情
您可能感兴趣 / 更多
白帽子讲浏览器安全
白帽子讲Web安全
吴翰清 著
白帽子讲浏览器安全
白帽子安全开发实战
赵海锋 著
白帽子讲浏览器安全
白帽子讲Web扫描
刘漩 著
白帽子讲浏览器安全
白帽子讲Web安全(第2版)
吴翰清
白帽子讲浏览器安全
白帽子讲Web安全
吴翰清 著
系列丛书 / 更多
白帽子讲浏览器安全
白帽子讲Web安全
吴翰清 著
白帽子讲浏览器安全
白帽子安全开发实战
赵海锋 著
白帽子讲浏览器安全
白帽子讲Web扫描
刘漩 著
白帽子讲浏览器安全
白帽子讲Web安全(第2版)
吴翰清
白帽子讲浏览器安全
白帽子讲Web安全
吴翰清 著
相关图书 / 更多
白帽子讲浏览器安全
白帽子讲Web安全
吴翰清 著
白帽子讲浏览器安全
白帽子安全开发实战
赵海锋 著
白帽子讲浏览器安全
白帽子讲Web扫描
刘漩 著
白帽子讲浏览器安全
白帽子讲Web安全(第2版)
吴翰清
白帽子讲浏览器安全
白帽子讲Web安全
吴翰清 著