首页>参考读物>计算机科学与技术>安全

Web之困:现代Web应用安全指南
作者 : (美)Michal Zalewski 著
译者 : 朱筱丹 译 殷钧钧 审校
出版日期 : 2013-10-17
ISBN : 978-7-111-43946-2
定价 : 69.00元
扩展资源下载
扩展信息
语种 : 简体中文
页数 : 276
开本 : 16
原书名 : The Tangled Web: A Guide to Securing Modern Web Applications
原出版社: No Starch Press
属性分类: 店面
包含CD :
绝版 : 未绝版
图书简介

图书特色

前勒口
作者简介
Michal Zalewski?国际一流信息安全技术专家,被誉为IT安全领域最有影响力的11位黑客之一。曾发现过数以百计的网络安全漏洞,并发表了多篇具有重大影响的研究论文。对现代Web浏览器有非常深入的研究,目前就职于Google,基于其在Web安全方面的丰富经验帮助Google增强包括Chrome浏览器在内的一系列产品的安全性。此外,他还是一位开源软件贡献者,是著名开源软件p0f、skipfish、ratproxy等的开发者。
译者简介
朱筱丹?毕业于华南理工大学无线电系,某信息安全公司工程师。在安全技术领域摸爬滚打多年,热爱读书与美食。
审校者简介
殷钧钧?资深安全架构师,知名白帽子,Web开发者。
封面
Web安全领域的圣经级著作,唯一深度探索现代Web浏览器安全技术的专著,由来自Google Chrome浏览器团队的世界顶级黑客、国际一流信息安全专家撰写。
从浏览器设计角度深入剖析现代浏览器的技术原理、安全机制和设计上的安全缺陷,为Web安全工作者应对基于浏览器的各种安全隐患提供指南。
封底
"国际一流专家对浏览器安全技术进行了全面彻底的解析。"
—Google公司著名安全工程师Tavis Ormandy
现代的Web应用往往是架构在一堆历经时日、胡乱拼凑的技术根基之上。在Web应用的每个领域,从HTTP请求到浏览器端脚本,都包含着各种严重又隐蔽的安全漏洞。为保障用户的安全,开发人员对Web安全的整体把握就变得至关重要了。
在本书中,世界知名的浏览器安全专家 Michal Zalewski为我们娓娓道来,他深入剖析了浏览器的工作机制,并解释了为什么从根本上来说,浏览器运行机制并不安全的原因。Zalewski 并非简单地针对每个漏洞泛泛地给出应对之策,而是着眼于揭示现有Web机制的弱点,为加固Web应用安全提供可用的关键信息。
在本书中,我们可以领略:
如何处理某些常见但又异常复杂的编程任务,如URL解析和HTML清理。
如何应用某些前沿的安全机制,如严格传输安全、内容安全策略(CSP)和跨域资源共享。
如何利用不同场景下略有差异的同源策略来可靠地隔离复杂的Web应用,保护用户的信息不会因为XSS漏洞而遭到泄漏。
在构建混搭应用和各种页面内嵌组件时,如何避免落入复杂的框架跳转策略陷阱。
在嵌入页面组件或存放由用户提供的内容时,如何尽量防范内容检测漏洞。
为方便读者快速地检索需要的信息,在某些章的最后,还附带了一份“安全工程速查表”,为最有可能碰到的Web安全问题提供现成的解决方案。本书覆盖范围广泛,甚至包括还在规划中的HTML5特性,有助于Web开发人员创建能经受时间考验的Web应用。

图书前言

仅在15年前,互联网还是简单而无足轻重的:这套古怪的机制不过是让一群学生,还有一伙不太合群、住在地下室里的科学怪人,能访问彼此的个人主页而已,这些主页的内容可能是科学、他们的宠物或诗歌什么的。但到了今天,互联网已成为创建各种复杂交互应用的平台(这些应用包括从邮件客户端、图片编辑器到电脑游戏),它还是一种遍布全球、无数普通用户都能访问的大众媒体,同时它俨然已是重要的商业手段,以致1999~2001年第一次互联网泡沫破灭时,它正是导致经济倒退的主要原因。
  即使以我们所处的信息化时代标准来衡量,互联网从默默无闻到无处不在,其发展速度也算异常惊人—但这种惊人的跃升速度也带来许多难以预计的问题。互联网在设计上的缺陷和实现上的漏洞与它的发展状况完全不相称,但我们并没有机会停下脚步回顾之前的错误。这些缺陷很快就导致今时今日许多严重又普遍的数据安全问题:人们发现,当年那个用在简单花哨个人主页上的互联网机制设计标准,已完全不适用于当下每年处理庞大信用卡交易的在线商店。
  如果我们回顾过去10年,心里难免会略有失落:几乎每个如今值得说道的在线应用,都因为贪图方便而凑合着用从早期互联网搬过来的技术,导致后期付出了沉重代价。以站点 xssed.com 为例,它仅仅收集了无数Web安全问题中很特定的一种,但在3年的运营时间里,已累计收集超过5万次攻击事件,真见鬼!然而,浏览器开发商还是颇为无动于衷,安全社区也未能就这些广泛存在的问题提出什么有见地的建议。与此相对的是安全专家正孜孜不倦地建造一套复杂而炫目的漏洞分类学,并对这种混乱景象的根本原因既习以为常又隐隐担忧绝望。
  导致上述问题的部分原因,是由于这些所谓的专家长久以来对Web安全的整个混乱状态视而不见,对Web安全缺乏真正的了解。他们很利落地给网站漏洞贴上各种标签,比如“责任混淆”(confused deputy)问题的各种体现,或者干脆用一些30年前商业期刊上惯常的抓眼球字眼。再说了,他们干嘛要费心去关注网络安全呢?一个关于宠物的无聊个人主页上被加入了一段莫名其妙的注释代码哪能和传统的针对操作系统的漏洞攻击相提并论呢?
  回顾过往,我确信我们中的大多数人都有过打落牙齿和血吞的感觉。不仅因为互联网的重要性已远超当初人们的预期,而且我们为了满足自己的心理舒适感,把一些重要的互联网基础特性置于不顾。结果导致即使设计最精良、经过最全面审核的网站应用,也往往比同样功能的非网站应用产生更多的问题。
  我们过去搞砸了,现在到悔恨弥补的时候了。出于这个考虑,本书期望能在亟需解决的标准化问题上取得一点进展, 除此以外,这也许还是第一本系统而全面地剖析当下Web应用安全问题的书籍。为达到这一目标,本书深入描述了我们日常面对的各种安全挑战的独特性,这里的“我们”包括安全专家、网站开发工程师和用户。
  本书的章节安排以探讨浏览器的各主要特性和由此衍生出来的各种安全相关问题为主线。因为比起随便采用某种漏洞分类学来罗列问题(这是许多信息安全书籍通常采用的形式),希望这种方式能提供更丰富的信息和更直观的效果。我还希望,这样的安排能使本书更容易阅读。
  为使读者便捷地获取答案,我会在每章的最后尽量附上一份“安全工程速查表”。这些速查表为网站应用设计中各种常见问题提供了一些合理的解决方向。此外,在本书的最后一章罗列了最常见的网站漏洞形式及其实现方式。
鸣谢
  本书中的许多内容都源自Google抯 Browser Security Handbook项目,这是我从2008年开始维护整理的一个技术性维基站点,该站点以Creative Commons授权模式发布。你可以通过浏览以下网址:http://code.google.com/p/browsersec/ 获取相关的源码。我很幸运,因为这个项目不但获得公司的支持,而且能和一群出色的同事一起工作,使得Browser Security Handbook 的内容能更有用、更准确。在此,我要特别感谢Filipe Almeida、Drew Hintz、Mariu Schilder和Parisa Tabriz 的鼎力相助。
  能站在巨人的肩膀上,对此我深感自豪。因为本书从安全社区成员对浏览器安全的广泛研究上获益良多,特别感谢Adam Barth、Collin Jackson、Chris Evans、Jesse Ruderman、Billy Rios和Eduardo Vela Nava,他们极大地提高了我们对这个领域的理解,为这个领域作出了巨大贡献。
  无限感激—各位大牛们,继续牛下去吧!

上架指导

计算机\程序设计

封底文字

"国际一流专家对浏览器安全技术进行了全面彻底的解析。"
——谷歌公司著名安全工程师Tavis Ormandy

现代的Web应用往往是架构在一堆历经时日胡乱拼凑的技术根基之上。在Web应用的每个领域,从HTTP请求到浏览器端脚本,都包含着各种严重又隐蔽的安全漏洞。为保障用户的安全,开发人员对Web安全的整体把握就变得至关重要了。
在本书中,世界知名的浏览器安全专家 Michal Zalewski为我们娓娓道来,他深入剖析了浏览器的工作机制,并解释了为什么从根本上来说,浏览器运行机制并不安全的原因。Zalewski 并非简单地针对每个漏洞泛泛地给出应对之策,而着眼于揭示现有Web机制的弱点,为加固Web应用安全提供可用的关键信息。在本书中,我们可以领略:
? 如何处理某些常见但又异常复杂的编程任务,如URL解析和HTML清理。
? 如何应用某些前沿的安全机制,如严格传输安全、内容安全策略(CSP)和跨域资源共享
? 如何利用不同场景下略有差异的同源策略来可靠地隔离复杂的Web应用,保护用户的身份不会因为XSS漏洞而遭到泄漏。
? 在构建混搭应用和各种页面内嵌组件时,如何避免落入复杂的框架跳转策略陷阱。
? 在嵌入页面组件或存放由用户提供的内容时,如何尽量防范内容检测漏洞。

为方便读者快速地检索需要的信息,在书中每章节的最后,都附带了一份“安全工程速查表”,为最有可能碰到的Web安全问题提供现成的解决方案。本书覆盖范围广泛,包括还在规划中的各HTML5特性,有助于开发人员创建能经受时间考验的Web应用。

作者简介

(美)Michal Zalewski 著:暂无简介

译者简介

朱筱丹 译 殷钧钧 审校:暂无简介

译者序

这是一本很特别的书。
  在翻开本书之前,每位读者可能都曾阅读过一些Web安全相关的书籍。但本书的目标和写法,与常规的Web安全书籍大相径庭。套句江湖行话来说,这是一本修炼内功的秘籍,它并未传授什么具体的武功,不会手把手地教读者怎么练一门剑术或轻功,但它构建了一个完整的Web安全图景,为读者在这个庞杂领域里继续深入钻研打下稳固的技术根基,相信每位打开这本“秘籍”的读者都能从中获益良多。
  所以如果读者打算找的是一本常规的“黑客手册”,那它可能不适合你。本书作者浸淫安全领域多年,无疑是圈内顶尖高手,甚至自己也开发了网站漏洞扫描程序Skipfish。但在这本厚积薄发的技术书里,他却并没有告诉读者,要怎么去黑掉一个网站或有什么趁手工具可用,所以曾有国外读者玩笑似地抱怨本书写得不够“邪恶”。的确,全书的前三分之一,作者都在讨论貌似枯燥的各种RFC协议和规范的来龙去脉,解决什么问题,具体机制是什么,都潜藏了哪些漏洞或缺陷,以及这些问题的历史根源。这一部分涵盖了许多我们熟悉的Web相关内容,比如URL、HTTP、HTML、JavaScript、CSS和插件等最基本的Web组件。但作者探索程度之深之广,令人叹服(难怪Joey说这是Web安全的圣经)!在跟随作者展开这场Web安全之旅时,即使最资深的Web开发工程师和安全渗透工程师只怕也会觉得乱花渐欲迷人眼,而这些问题所带来的后果更时常令人弹眼落睛,怵目惊心—很多问题和陷阱,我们自己又何尝没吃过亏呢。
  本书第二部分为全书核心,主题为浏览器安全机制,是作者更侧重的研究领域。作者在前言里开宗明义,提到本书源自他所维护的一个技术性维基站点“Google’s Browser Security Handbook”项目。作为走在浏览器安全领域技术潮流前端的人物,作者关注的问题不但全面而且深入。这一部分的重头戏是同源策略,围绕经典的同源策略应用,派生出不同场景里的微妙差异、各种继承关系以及跨域的解决方案,另外还涵盖了同源策略无法企及的一些犄角旮旯的方面。此外,作者还谈到了被广泛忽略的浏览器内容自动识别问题,以及一些外围的特权问题和恶意脚本的处理。对浏览器端的安全机制这一主题,可能是第一次有人进行如此全面深入的探讨。也许国内的安全工程师和开发人员往往更侧重服务器端的安全,但在当前的技术浪潮下,服务器端与浏览器端的界限已经越来越模糊,两者越来越紧密地相连,浏览器安全理应获得更多的关注,相信在全新的讨论领域里,读者会受到许多启发。
  作者在最后展望了一批属于未来的Web技术,以及它们对今后几年Web安全可能产生的影响,有助于读者了解前瞻性的技术动向。当然,由于本书写于两年前,可能其中有部分机制已经被业界采纳成为正式的规范。
  在许多章的最后,作者都给出了“安全工程速查表”,内容是和本章主题相关的安全建议。这些整理得当的安全列表对网站和Web组件的开发者、架构设计师们想必都会有非常直接的帮助。但同时,这个速查表和本书的其他内容,也完全可以作为安全渗透人员的反向指标,为安全检测带来更多启发性的思路。尽管本书通常被归类为“黑客”书籍,但它也同样能为Web开发人员和Web防御工程人员带来实际的帮助。攻与防,在这里有机地结合到了一起。
  本书另一个特别的地方是:它非常“扎实”!也就是说,干货很多很实在。原书只有不到300页篇幅,却涵盖了Web各组件、浏览器全部安全机制和未来技术展望,知识点异常密集!可想而知,作者的写法有多简洁明了,这给翻译带来了不小的困难。并且容我冒昧吐槽一句,由于作者本人非常聪明有才,往往不屑于把问题展开来阐述,所以一个非常复杂的知识点也经常被寥寥数语带过,对没有一定基础的读者来说,难免存在阅读和理解障碍。在此译者再啰嗦地提出几点阅读建议:
  读慢些,反复读。本书绝对不是那种读一遍就能完全领会、流畅易懂的书籍,适合它的阅读方式应该是放在案头,时常翻阅,常读常新。
  不要忽略文中带上标的注释。有些作者只写了几句话的地方,其实对应着一篇长达几十页的论文或很长的一篇网页文章!如果看不懂原文可试着阅读关联的注释内容或自行在搜索引擎里寻找答案。
  作者本人的“Google抯 Browser Security Handbook”项目是个获取知识的宝库,涉及很多浏览器端安全相关内容。在阅读第二部分时,可配合阅读和实验。
  译者水平有限,不能尽显原书之意,读者阅读时如觉理解困难,建议参考英文原文。
  在本书的翻译过程中,得到了各位师友无私的帮助,特此鸣谢!感谢姚莉莉的建议,促使我接下本书的翻译,并在此后的翻译过程中给予了无数的帮助和监督;感谢编辑吴怡一直以来对我的耐心、宽容和信任;感谢Joey(殷钧钧)对本书的推荐和审读,以及在翻译过程中提供的持续帮助;感谢贾洪峰老师和我的同事黄伟,他们对细节的关注,对技术的理解和对书稿的审阅,都使我获益良多;另外也要感谢Xiaket(夏恺)、钱文芳对部分章节的审读。
  本书是译者的第一本译作,水平有限,错误难免。只有诚挚地希望读者诸君在发现错误时请务必告知,我将建立一个勘误表,作为弥补之计。可使用电子邮件与我联系:danzhu@gmail.com,或新浪微博:medanzhu。

图书目录

译者序
前 言
第1章 Web应用安全 / 1
1.1 信息安全速览 / 1
1.1.1 正统之道的尴尬 / 2
1.1.2 进入风险管理 / 4
1.1.3 分类学的启发 / 5
1.1.4 实际的解决之道 / 6
1.2 Web的简明历史 / 7
1.2.1 史前时期的故事: 1945~1994年 / 8
1.2.2 第一次浏览器大战:1995~1999年 / 10
1.2.3 平淡期:2000~2003年 / 11
1.2.4 Web 2.0 和第二次浏览器大战:2004年之后 / 12
1.3 风险的演化 / 13
1.3.1 用户作为安全风险的一个环节 / 14
1.3.2 难以隔离的Web运行环境 / 14
1.3.3 缺乏统一的格局 / 15
1.3.4 跨浏览器交互:失败的协同 / 16
1.3.5 客户端和服务器端界限的日益模糊 / 17
第一部分 对Web的解剖分析
第2章 一切从URL开始 / 20
2.1 URL的结构 / 21
2.1.1 协议名称 / 21
2.1.2 层级URL的标记符号 / 22
2.1.3 访问资源的身份验证 / 22
2.1.4 服务器地址 / 23
2.1.5 服务器端口 / 24
2.1.6 层级的文件路径 / 24
2.1.7 查询字符串 / 25
2.1.8 片段ID / 25
2.1.9 把所有的东西整合起来 / 26
2.2 保留字符和百分号编码 / 28
2.3 常见的 URL协议及功能 / 33
2.3.1 浏览器本身支持、与获取文档相关的协议 / 33
2.3.2 由第三方应用和插件支持的协议 / 33
2.3.3 未封装的伪协议 / 34
2.3.4 封装过的伪协议 / 34
2.3.5 关于协议检测部分的结语 / 35
2.4 相对URL的解析 / 35
2.5 安全工程速查表 / 37
第3章 HTTP协议 / 38
3.1 HTTP 基本语法 / 39
3.1.1 支持HTTP/0.9的恶果 / 40
3.1.2 换行处理带来的各种混乱 / 41
3.1.3 经过代理的HTTP请求 / 42
3.1.4 对重复或有冲突的头域的解析 / 44
3.1.5 以分号作分隔符的头域值 / 45
3.1.6 头域里的字符集和编码策略 / 46
3.1.7 Referer头域的表现 / 48
3.2 HTTP 请求类型 / 48
3.2.1 GET / 49
3.2.2 POST / 49
3.2.3 HEAD / 49
3.2.4 OPTIONS / 50
3.2.5 PUT / 50
3.2.6 DELETE / 50
3.2.7 TRACE / 50
3.2.8 CONNECT / 50
3.2.9 其他 HTTP 方法 / 51
3.3 服务器响应代码 / 51
3.4 持续会话 / 53
3.5 分段数据传输 / 55
3.6 缓存机制 / 55
3.7 HTTP Cookie 语义 / 57
3.8 HTTP 认证 / 60
3.9 协议级别的加密和客户端证书 / 61
3.9.1 扩展验证型证书 / 62
3.9.2 出错处理的规则 / 63
3.10 安全工程速查表 / 64
第4章 HTML语言 / 65
4.1 HTML文档背后的基本概念 / 66
4.1.1 文档解析模式 / 67
4.1.2 语义之争 / 68
4.2 理解HTML解析器的行为 / 69
4.2.1 多重标签之间的交互 / 70
4.2.2 显式和隐式的条件判断 / 71
4.2.3 HTML解析的生存建议 / 71
4.3 HTML实体编码 / 72
4.4 HTTP/HTML 交互语义 / 73
4.5 超链接和内容包含 / 75
4.5.1 单纯的链接 / 75
4.5.2 表单和表单触发的请求 / 75
4.5.3 框架 / 77
4.5.4 特定类型的内容包含 / 78
4.5.5 关于跨站请求伪造 / 80
4.6 安全工程速查表 / 81
第5章 层叠样式表 / 83
5.1 CSS基本语法 / 84
5.1.1 属性定义 / 85
5.1.2 @ 指令和XBL绑定 / 85
5.1.3 与HTML的交互 / 86
5.2 重新同步的风险 / 86
5.3 字符编码 / 87
5.4 安全工程速查表 / 89
第6章 浏览器端脚本 / 90
6.1 JavaScript的基本特点 / 91
6.1.1 脚本处理模型 / 92
6.1.2 执行顺序的控制 / 95
6.1.3 代码和对象检视功能 / 96
6.1.4 修改运行环境 / 97
6.1.5 JavaScript 对象表示法(JSON)和其他数据序列化 / 99
6.1.6 E4X和其他语法扩展 / 101
6.2 标准对象层级 / 102
6.2.1 文档对象模型 / 104
6.2.2 对其他文档的访问 / 106
6.3 脚本字符编码 / 107
6.4 代码包含模式和嵌入风险 / 108
6.5 活死人:Visual Basic / 109
6.6 安全工程速查表 / 110
第7章 非HTML类型文档 / 112
7.1 纯文本文件 / 112
7.2 位图图片 / 113
7.3 音频与视频 / 114
7.4 各种XML文件 / 114
7.4.1 常规XML视图效果 / 115
7.4.2 可缩放向量图片 / 116
7.4.3 数学标记语言 / 117
7.4.4 XML用户界面语言 / 117
7.4.5 无线标记语言 / 118
7.4.6 RSS 和 Atom订阅源 / 118
7.5 关于不可显示的文件类型 / 119
7.6 安全工程速查表 / 120
第8章 浏览器插件产生的内容 / 121
8.1 对插件的调用 / 122
8.2 文档显示帮助程序 / 124
8.3 插件的各种应用框架 / 125
8.3.1 Adobe Flash / 126
8.3.2 Microsoft Silverlight / 128
8.3.3 Sun Java / 129
8.3.4 XML Browser Applications / 129
8.4 ActiveX Controls / 130
8.5 其他插件的情况 / 131
8.6 安全工程速查表 / 132
第二部分 浏览器安全特性
第9章 内容隔离逻辑 / 134
9.1 DOM的同源策略 / 135
9.1.1 document.domain / 136
9.1.2 postMessage(...) / 137
9.1.3 与浏览器身份验证的交互 / 138
9.2 XMLHttpRequest的同源策略 / 139
9.3 Web Storage 的同源策略 / 141
9.4 Cookies 的安全策略 / 142
9.4.1 Cookie对同源策略的影响 / 144
9.4.2 域名限制带来的问题 / 145
9.4.3 localhost带来的非一般风险 / 145
9.4.4 Cookie与“合法”DNS劫持 / 146
9.5 插件的安全规则 / 147
9.5.1 Adobe Flash / 148
9.5.2 Microsoft Silverlight / 151
9.5.3 Java / 151
9.6 如何处理格式含糊或意想不到的源信息 / 152
9.6.1 IP 地址 / 153
9.6.2 主机名里有额外的点号 / 153
9.6.3 不完整的主机名 / 153
9.6.4 本地文件 / 154
9.6.5 伪URL / 155
9.6.6 浏览器扩展和用户界面 / 155
9.7 源的其他应用 / 156
9.8 安全工程速查表 / 157
第10章 源的继承 / 158
10.1 about:blank页面的源继承 / 158
10.2 data: URL的继承 / 160
10.3 javascript:和vbscript: URL对源的继承 / 162
10.4 关于受限伪URL的一些补充 / 163
10.5 安全工程速查表 / 164
第11章 同源策略之外的世界 / 165
11.1 窗口和框架的交互 / 166
11.1.1 改变现有页面的地址 / 166
11.1.2 不请自来的框架 / 170
11.2 跨域内容包含 / 172
11.3 与隐私相关的副作用 / 175
11.4 其他的同源漏洞和应用 / 177
11.5 安全工程速查表 / 178
第12章 其他的安全边界 / 179
12.1 跳转到敏感协议 / 179
12.2 访问内部网络 / 180
12.3 禁用的端口 / 182
12.4 对第三方Cookie的限制 / 184
12.5 安全工程速查表 / 186
第13章 内容识别机制 / 187
13.1 文档类型检测的逻辑 / 188
13.1.1 格式错误的MIME Type写法 / 189
13.1.2 特殊的 Content-Type 值 / 189
13.1.3 无法识别的Content Type类型 / 191
13.1.4 防御性使用Content-Disposition / 193
13.1.5 子资源的内容设置 / 194
13.1.6 文件下载和其他非HTTP内容 / 194
13.2 字符集处理 / 196
13.2.1 字节顺序标记 / 198
13.2.2 字符集继承和覆盖 / 199
13.2.3 通过HTML代码设置子资源字符集 / 199
13.2.4 非HTTP 文件的编码检测 / 201
13.3 安全工程速查表 / 202
第14章 应对恶意脚本 / 203
14.1 拒绝服务攻击 / 204
14.1.1 执行时间和内存使用的限制 / 205
14.1.2 连接限制 / 205
14.1.3 过滤弹出窗口 / 206
14.1.4 对话框的使用限制 / 208
14.2 窗口定位和外观问题 / 209
14.3 用户界面的时差攻击 / 211
14.4 安全工程速查表 / 214
第15章 外围的网站特权 / 215
15.1 浏览器和托管插件的站点权限 / 216
15.2 表单密码管理 / 217
15.3 IE浏览器的区域模型 / 219
15.4 安全工程速查表 / 222
第三部分 浏览器安全机制的未来趋势
第16章 新的浏览器安全特性与未来展望 / 224
16.1 安全模型扩展框架 / 224
16.1.1 跨域请求 / 225
16.1.2 XDomainRequest / 228
16.1.3 Origin 请求头的其他应用 / 229
16.2 安全模型限制框架 / 230
16.2.1 内容安全策略 / 230
16.2.2 沙盒框架 / 234
16.2.3 严格传输安全 / 236
16.2.4 隐私浏览模式 / 237
16.3 其他的一些进展 / 237
16.3.1 浏览器内置的 HTML净化器 / 238
16.3.2 XSS 过滤 / 239
16.4 安全工程速查表 / 240
第17章 其他值得注意的浏览器机制 / 241
17.1 URL级别和协议级别的提议 / 241
17.2 内容相关的特性 / 243
17.3 I/O接口 / 245
第18章 常见的Web安全漏洞 / 246
18.1 与Web应用相关的漏洞 / 246
18.2 Web应用设计时应谨记的问题 / 248
18.3 服务器端的常见问题 / 250
后记 / 252
注释 / 254

教学资源推荐
作者: David Challener;Kent Yoder;Ryan Catherman;David Safford;Leendert Van Doorn
作者: [美] 威廉·斯托林斯(William Stallings)[澳] 劳里·布朗(Lawrie Brown) 著
作者: [德]罗伯特·施米德(Robert Schmied) 著
作者: [德] 迈克尔·威尔森巴赫(Michael Welschenbach)著
参考读物推荐
作者: 姚羽 祝烈煌 武传坤 编著
作者: 钱林松 赵海旭 著
作者: (美)John Viega Gary McGraw著
作者: (英)Shakeel Ali;Tedi Heriyanto 著