发表于2024-12-27
Web应用安全权威指南 pdf epub mobi txt 电子书 下载
《Web应用安全指南》系日本Web安全德丸浩所创,是作者从业多年的经验总结。作者首先简要介绍了Web应用的安全隐患以及产生原因,然后详细介绍了Web安全的基础,如HTTP、会话管理、同源策略等。此外还重点介绍了Web应用的各种安全隐患,对其产生原理及对策进行了详尽的讲解。最后对如何提高Web网站的安全性和开发安全的Web应用所需要的管理进行了深入的探讨。《Web应用安全指南》可操作性强,读者可以通过下载已搭建的虚拟机环境亲自体验书中的各种安全隐患。
《Web应用安全指南》适合Web相关的开发人员特别是安全及测试人员阅读。
德丸浩<作者>,2008年创立HASH咨询公司,任董事长。主要从事网络安全性的诊断与咨询工作,并在工作之余通过博客普及网络安全知识。兼任KYOCERA Communication Systems股份有限公司技术顾问、独立行政法人信息处理推进机构(IPA)兼职研究员。Twitter ID为@ockeghem。
赵文<译者>,程序员,Ruby 语言爱好者。图灵电子书《关于 mruby 的一切》译者。
刘斌<译者>,程序员,关注于后台开发,Java/Ruby爱好者。
第1章 什么是 Web应用的安全隐患
1-1 安全隐患即“能用于作恶的Bug”
1-2 为什么存在安全隐患会有问题
1-3 产生安全隐患的原因
1-4 安全性 Bug与安全性功能
1-5 本书的结构
第2章 搭建试验环境
2-1试验环境概要
2-2 安装 VMware Player
2-3 安装虚拟机及运行确认
2-4 安装 Fiddler
参考:虚拟机的数据一览
参考:如果无法连接试验环境的POP3服务器
第3章 Web 安全基础:HTTP、会话管理、同源策略
3-1 HTTP 与会话管理
3-2 被动攻击与同源策略
第4章 Web应用的各种安全隐患
4-1 Web 应用的功能与安全隐患的对应关系
4-2 输入处理与安全性
4-3 页面显示的相关问题
4.3.1 跨站脚本(基础篇)
4.3.2 跨站脚本(进阶篇)
4.3.3 错误消息导致的信息泄漏
4-4 SQL 调用相关的安全隐患
4.4.1 SQL 注入
4-5 关键处理中引入的安全隐患
4.5.1 跨站请求伪造(CSRF)
4-6 不完善的会话管理
4.6.1 会话劫持的原因及影响
4.6.2 会话 ID可预测
4.6.3 会话 ID嵌入URL
4.6.4 固定会话 ID
4-7 重定向相关的安全隐患
4.7.1 自由重定向漏洞
4.7.2 HTTP 消息头注入
4.7.3 重定向相关的安全隐患总结
4-8 Cookie 输出相关的安全隐患
4.8.1 Cookie 的用途不当
4.8.2 Cookie 的安全属性设置不完善
4-9 发送邮件的问题
4.9.1 发送邮件的问题概要
4.9.2 邮件头注入漏洞
4-10 文件处理相关的问题
4.10.1 目录遍历漏洞
4.10.2 内部文件被公开
4-11 调用 OS命令引起的安全隐患
4.11.1 OS 命令注入
4-12 文件上传相关的问题
4.12.1 文件上传问题的概要
4.12.2 通过上传文件使服务器执行脚本
4.12.3 文件下载引起的跨站脚本
4-13 include 相关的问题
4.13.1 文件包含攻击
4-14 eval 相关的问题
4.14.1 eval 注入
4-15 共享资源相关的问题
4.15.1 竞态条件漏洞
第5章 典型安全功能
5-1 认证
5.1.1 登录功能
5.1.2 针对暴力破解攻击的对策
5.1.3 密码保存方法
5.1.4 自动登录
5.1.5 登录表单
5.1.6 如何显示错误消息
5.1.7 退出登录功能
5.1.8 认证功能总结
5-2账号管理
5.2.1 用户注册
5.2.2 修改密码
5.2.3 修改邮箱地址
5.2.4 密码找回
5.2.5 账号冻结
5.2.6 账号删除
5.2.7 账号管理总结
5.3 授权
5.3.1 什么是授权
5.3.2 典型的授权漏洞
5.3.3 授权管理的需求设计
5.3.4 如何正确实现授权管理
5.3.5 总结
5.4 日志输出
5.4.1 日志输出的目的
5.4.2 日志种类
5.4.3 有关日志输出的需求
5.4.4 实现日志输出
5.4.5 总结
第6章 字符编码和安全
6-1 字符编码和安全概要
6-2 字符集
什么是字符集
ASCII 和ISO-8859-1
JIS 规定的字符集
微软标准字符集
Unicode
GB2312
GBK
GB18030
不同字符相同编码的问题
字符集的处理引起的漏洞
6-3 字符编码方式
什么是编码方式
Shift_JIS
EUC-JP
ISO-2022-JP
UTF-16
UTF-8
GB2312
GBK
GB18030
6-4 由字符编码引起的漏洞总结
字符编码方式中非法数据导致的漏洞
对字符编码方式处理存在纰漏导致的漏洞
在不同字符集间变换导致的漏洞
6-5 如何正确处理字符编码
在应用内统一使用的字符集
输入非法数据时报错并终止处理
处理数据时使用正确的编码方式
专栏 调用 htmlspecialchars函数时必须指定字符编码方式
输出时设置正确的字符编码方式
其他对策:尽量避免编码自动检测
6-6 总结
第7章 如何提高 Web网站的安全性
7-1 针对 Web服务器的攻击途径和防范措施
7.1.1 利用基础软件漏洞进行攻击
7.1.2 非法登录
7.1.3 对策
7-2 防范伪装攻击的对策
7.2.1 网络伪装的手段
7.2.2 钓鱼攻击
7.2.3 Web 网站的伪装攻击对策
7-3 防范网络监听、篡改的对策
7.3.1 网络监听、篡改的途径
7.3.2 中间人攻击
7.3.3 对策
7-4 防范恶意软件的对策
7.4.1 什么是 Web网站的恶意软件对策
7.4.2 恶意软件的感染途径
7.4.3 Web 网站恶意软件防范对策概要
7.4.4 如何确保服务器不被恶意软件感染
7-5 总结
第8章 开发安全的 Web应用所需要的管理
8-1 开发管理中的安全对策概要
8-2 开发体制
开发标准的制定
教育培训
8-3 开发过程
8.3.1 规划阶段的注意事项
8.3.2 招标时的注意事项
8.3.3 需求分析时的注意事项
8.3.4 概要设计的推进方法
8.3.5 详细设计和编码阶段的注意事项
8.3.6 安全性测试的重要性及其方法
8.3.7 Web 健康诊断基准
8.3.8 承包方测试
8.3.9 发包方测试(验收)
8.3.10 运维阶段的注意事项
8-4 总结
第1章
什么是 Web应用的 安全隐患
本章将对“安全隐患”这一贯穿全书的主题加以概述,包 括什么是安全隐患,安全隐患会带来哪些问题,安全隐患 是如何产生的,等等。本章最后会给出全书的结构和学习方法。
1.1 安全隐患即“能用于作恶的Bug”
程序Bug对于开发者来说如同家常便饭。应用程序有了Bug,就会出现各种不正常的现象。例如,显示出错误的结果、需要进行的处理迟迟不能结束、网页布局错乱、响应速度极为缓慢等。而这其中,有一种Bug能被恶意利用。此类Bug被称为安全隐患(Vulnerability),有时也被称为安全性Bug。
以下是一些恶意利用的常见案例。
未经许可浏览用户个人信息等隐私信息
篡改网站的内容
使网页浏览者的计算机感染病毒
伪装成他人来窥探用户的隐私信息、发布文章、在线购物、肆意转账等
使目标网站不能被访问
在网络游戏中让自己达到无敌状态,或非法获得游戏中的装备道具
在确认自己的个人信息时,能看到别人的个人信息A
如同程序员对一般的Bug(无奈地)习以为常一样,Web应用程序开发者对安全隐患也同样已经司空见惯。倘若开发Web应用程序时对安全隐患一无所知,就会开发出能被用来进行上述恶举的网站。针对这一问题,本书将从原理到具体对策,来详细讲述如何在开发Web应用时杜绝安全隐患。
A 能看到其他用户个人信息的Bug虽不是故意作恶,但由此而偶然造成的不良后果也被视为安全隐患。
1.2 为什么存在安全隐患会有问题
为什么存在安全隐患会有问题,这是个越思考就越深入的课题。接下来,就让我们从几个方面来探讨一下必须杜绝安全隐患的原因。
◆经济损失
应杜绝安全隐患的原因之一为,假如网站的安全隐患被恶意利用,网站的经营者将会蒙受经济损失。典型的损失为以下几项。
赔偿用户的经济损失
给用户寄送代金券作为补偿时的花销
网站暂停运营造成的机会损失
信誉度下降造成的营业额减少
此类经济损失的总额有时会高达数十亿日元。
然而,或许有人会有这样的疑问。如果网站的营销规模并不大,上述列举的各项经济损失就会变得相对较小。所以可能有些网站运营方就会采取这种思路:事前不做相应对策,万一出事了就赔偿用户的损失。A
但是,实际的损失并不仅限于经济损失。
◆法律要求B
《个人信息保护法》是规定网站实施安全性措施的法律。该法第20条规定,拥有超过5000名用户的网站运营方,作为个人信息经营者,有义务实施网站的安全管理措施。
(安全管理措施)
第二十条 个人信息经营者,为了安全管理其用户的个人信息,必须采取必要且恰当的措施,防止用户的个人信息被泄漏、删除或损坏。
安全管理措施的具体内容,由各省厅分别制定规章。其中,“经济产业领域关于个人信息保护法的指导方针”中,“技术性安全管理措施”中的“‘个人数据访问控制’的实践方法示例”一节中有如下记载。
A 这种策略被称为“风险自留”。
B 本节阐述的是日本的相关法律,供中国读者参考。遗憾的是,截至译稿时(2013年9月),中国在网络安全隐患方面还没有推出相应的法律法规。 ——译者注
检验处理个人信息的系统中引入的访问控制功能的有效性。
(例如,检验网络应用是否存在安全隐患。)
也就是说,通过Web系统管理个人信息的运营者受到《个人信息保护法》以及相关规章的约束,承担着对Web应用的安全隐患采取安全管理措施的法律义务。
◆对用户造成不可逆的伤害
应该意识到,安全隐患造成的事故会给用户带来很多不可逆的伤害。个人信息一旦泄漏,就不可能再回收。账号被盗而导致用户的名誉受损之后,就再也回不到以前的状态了。另外,如果用户的信用卡账号被泄漏,即使赔偿了用户的金钱损失,也不可能完全平抚用户受到的恐慌、不安等精神上的痛苦。换言之,一旦发生了安全事故,就会出现很多金钱无法解决的问题。
……
2011年,索尼遭受了3次大规模攻击,造成7700万PlayStationNetwork(PSN)用户的个人信息泄漏。攻击令PSN网络服务瘫痪了23天,给索尼造成了上亿美元的经济损失。
2011年12月,国内知名开发者社区CSDN遭到攻击,600万用户账号及明文密码泄漏并在网络上被大量传播。
2013年3月,全球知名的云笔记应用Evernote遭到攻击,导致5000万用户的邮箱地址和加密密码泄漏。
写下这篇文字时,又正值全球最大的众筹网站Kickstarter被攻击而导致用户信息被窃取。
一件件触目惊心的事件无一不在提醒着我们网络安全的重要性。造成这些事件的罪魁祸首或许只是代码中一些不起眼的地方,但引发的影响及后果却骇人听闻。掌握如何在编程时不引入漏洞已成为了Web应用开发者不可或缺的技能。
然而,当开发者想要系统性地学习Web应用安全时,却发现市面上充斥着以攻击者的视角写作的“XX攻防大全”等书籍,却鲜有站在开发者立场的优秀的权威性书籍可供参考。图灵公司引进的这本《Web应用安全权威指南》正好填补了这一领域的空缺。
“在那本‘德丸本’中有透彻的讲解。”这是译者在日本工作期间,向同事询问“什么是CSRF”时得到的答复。没错,“德丸本”就是本书在日本的昵称,几乎在每个Web开发小组的案头都能发现它的身影。
本书的作者德丸浩先生在日本被誉为“Web应用安全领域第一人”,他在经营着一家Web安全咨询公司的同时,还在博客上笔耕不辍,孜孜不倦地分享着自己Web安全方面的知识,得此称号可谓实至名归。这本书是目前为止德丸浩先生出版的唯一一本图书,可以说是从业多年的经验沉淀下来的精华。
看过日系技术书的读者,一定会对其通俗易懂、深入浅出、谦虚谨慎等特点印象深刻,本书也不例外。SQL注入、XSS、CSRF等对于Web开发人员来说耳熟能详却可能一知半解的术语,都将在这本书中详细剖析。本书既适合从头到尾通读来进行系统性学习,也适合作为参考书时常查阅。
最后,再一次感谢图灵文化的编辑们能将这本书引入到国内。感谢另一位译者刘斌的辛勤付出,使得本书能够成功地问世。还要感谢妻子马超对我使用业余时间进行翻译工作的鼓励和支持。
希望本书能够让您受益。
赵文
2014年2月于无锡
给公司买的,大家都说好。
评分不错的书,web安全入门书籍!
评分数学与生活(修订版)数学与生活(修订版)
评分 评分写的非常细致,把几乎全部常见的攻击形式都进行了介绍
评分还没顾上看,但感觉不错
评分买了到现在都还没有看过,惭愧。
评分应用安全很重要,学习学习
评分非常给力物流,非常满意的一次购物
Web应用安全权威指南 pdf epub mobi txt 电子书 下载