
钟晨鸣,毕业于北京化工大学,网名:余弦。国内著名Web安全团队xeye成员,除了爱好Web Hacking外,还对宇宙学、人类学等保持着浓厚兴趣。2008年加入北京知道创宇信息技术有限公司,现任研究部总监,团队致力于Web安全与海量数据研究,并进行相关超酷平台的实现。如果大家想和我交流,可以私信我微博:weibo.com/evilcos,同时本书的最新动态也会发布在我的微博上。 徐少培,毕业于河北工业大学。网名:xisigr。国内著名Web安全团队xeye成员。2008年加入北京天融信公司,现任北京天融信资深安全专家,重点负责安全研究工作,主要研究领域包括:WEB安全、HTML5安全、浏览器安全、协议分析等。同时也是国内信息安全大会常见的演讲者。我的微博:weibo.com/xisigr,希望可以和大家交流。
Web前端的黑客攻防技术是一门非常新颖且有趣的黑客技术,主要包含Web前端安全的跨站脚本(XSS)、跨站请求伪造(CSRF)、界面操作劫持这三大类,涉及的知识点涵盖信任与信任关系、Cookie安全、Flash安全、DOM渲染、字符集、跨域、原生态攻击、高级钓鱼、蠕虫思想等,这些都是研究前端安全的人必备的知识点。本书作者深入剖析了许多经典的攻防技巧,并给出了许多独到的安全见解。本书适合前端工程师阅读,同时也适合对Web前端各类安全问题或黑客攻防过程充满好奇的读者阅读,书中的内容可以让读者重新认识到Web的危险,并知道该如何去保护自己以免受黑客的攻击。
第1章 Web安全的关键点 11.1 数据与指令 11.2 浏览器的同源策略 41.3 信任与信任关系 71.4 社会工程学的作用 91.5 攻防不单一 91.6 场景很重要 101.7 小结 11第2章 前端基础 122.1 W3C的世界法则 122.2 URL 142.3 HTTP协议 152.4 松散的HTML世界 192.4.1 DOM树 202.4.2 iframe内嵌出一个开放的世界 212.4.3 HTML内嵌脚本执行 222.5 跨站之魂——JavaScript 232.5.1 DOM树操作 232.5.2 AJAX风险 252.5.3 模拟用户发起浏览器请求 302.5.4 Cookie安全 332.5.5 本地存储风险 432.5.6 E4X带来的混乱世界 482.5.7 JavaScript函数劫持 492.6 一个伪装出来的世界——CSS 512.6.1 CSS容错性 512.6.2 样式伪装 522.6.3 CSS伪类 522.6.4 CSS3的属性选择符 532.7 另一个幽灵——ActionScript 552.7.1 Flash安全沙箱 552.7.2 HTML嵌入Flash的安全相关配置 592.7.3 跨站Flash 612.7.4 参数传递 642.7.5 Flash里的内嵌HTML 652.7.6 与JavaScript通信 672.7.7 网络通信 712.7.8 其他安全问题 71第3章 前端黑客之XSS 723.1 XSS概述 733.1.1 “跨站脚本”重要的是脚本 733.1.2 一个小例子 743.2 XSS类型 763.2.1 反射型XSS 763.2.2 存储型XSS 773.2.3 DOM XSS 783.3 哪里可以出现XSS攻击 803.4 有何危害 81第4章 前端黑客之CSRF 834.1 CSRF概述 844.1.1 跨站点的请求 844.1.2 请求是伪造的 844.1.3 一个场景 844.2 CSRF类型 894.2.1 HTML CSRF攻击 894.2.2 JSON HiJacking攻击 904.2.3 Flash CSRF攻击 944.3 有何危害 96第5章 前端黑客之界面操作劫持 975.1 界面操作劫持概述 975.1.1 点击劫持(Clickjacking) 985.1.2 拖放劫持(Drag&Dropjacking) 985.1.3 触屏劫持(Tapjacking) 995.2 界面操作劫持技术原理分析 995.2.1 透明层+iframe 995.2.2 点击劫持技术的实现 1005.2.3 拖放劫持技术的实现 1015.2.4 触屏劫持技术的实现 1035.3 界面操作劫持实例 1065.3.1 点击劫持实例 1065.3.2 拖放劫持实例 1115.3.3 触屏劫持实例 1195.4 有何危害 121第6章 漏洞挖掘 1236.1 普通XSS漏洞自动化挖掘思路 1246.1.1 URL上的玄机 1256.1.2 HTML中的玄机 1276.1.3 请求中的玄机 1346.1.4 关于存储型XSS挖掘 1356.2 神奇的DOM渲染 1356.2.1 HTML与JavaScript自解码机制 1366.2.2 具备HtmlEncode功能的标签 1406.2.3 URL编码差异 1426.2.4 DOM修正式渲染 1456.2.5 一种DOM fuzzing技巧 1466.3 DOM XSS挖掘 1506.3.1 静态方法 1506.3.2 动态方法 1516.4 Flash XSS挖掘 1536.4.1 XSF挖掘思路 1536.4.2 Google Flash XSS挖掘 1566.5 字符集缺陷导致的XSS 1596.5.1 宽字节编码带来的安全问题 1606.5.2 UTF-7问题 1616.5.3 浏览器处理字符集编码BUG带来的安全问题 1656.6 绕过浏览器XSS Filter 1656.6.1 响应头CRLF注入绕过 1656.6.2 针对同域的白名单 1666.6.3 场景依赖性高的绕过 1676.7 混淆的代码 1696.7.1 浏览器的进制常识 1696.7.2 浏览器的编码常识 1756.7.3 HTML中的代码注入技巧 1776.7.4 CSS中的代码注入技巧 1906.7.5 JavaScript中的代码注入技巧 1966.7.6 突破URL过滤 2016.7.7 更多经典的混淆CheckList 2026.8 其他案例分享——Gmail Cookie XSS 204第7章 漏洞利用 2067.1 渗透前的准备 2067.2 偷取隐私数据 2087.2.1 XSS探针:xssprobe 2087.2.2 Referer惹的祸 2147.2.3 浏览器记住的明文密码 2167.2.4 键盘记录器 2197.2.5 偷取黑客隐私的一个小技巧 2227.3 内网渗透技术 2237.3.1 获取内网IP 2237.3.2 获取内网IP端口 2247.3.3 获取内网主机存活状态 2257.3.4 开启路由器的远程访问能力 2267.3.5 内网脆弱的Web应用控制 2277.4 基于CSRF的攻击技术 2287.5 浏览器劫持技术 2307.6 一些跨域操作技术 2327.6.1 IE res:协议跨域 2327.6.2 CSS String Injection跨域 2337.6.3 浏览器特权区域风险 2357.6.4 浏览器扩展风险 2377.6.5 跨子域:document.domain技巧 2407.6.6 更多经典的跨域索引 2457.7 XSS Proxy技术 2467.7.1 浏览器