基本信息
- 原书名:The Web Application Hacker's Handbook: Discovering and Exploiting Security Flaws
- 原出版社: Wiley
- 作者: (英)Dafydd Stuttard Marcus Pinto
- 译者: 石华耀
- 丛书名: 图灵程序设计丛书 网络安全
- 出版社:人民邮电出版社
- ISBN:9787115210777
- 上架时间:2009-8-8
- 出版日期:2009 年8月
- 开本:16开
- 页码:495
- 版次:1-1
- 所属分类:计算机 > 安全 > 网络安全/防火墙/黑客
编辑推荐
跟安全技术大师学习黑客攻防技术.
全面分析Web应用程序安全漏洞..
大量实例和代码片段...
内容简介
作译者
Marcus Pinto资深渗透测试专家,Next Generation Security Software公司资深安全顾问,主要负责数据库开发团队。拥有剑桥大学硕士学位。...
目录
1.1 Web应用程序的发展历程 1
1.1.1 Web应用程序的常见功能 2
1.1.2 Web应用程序的优点 3
1.2 Web应用程序安全 3
1.2.1 “本站点是安全的” 3
1.2.2 核心安全问题:用户可提交任意输入 5
1.2.3 关键问题因素 6
1.2.4 新的安全边界 7
1.2.5 Web应用程序安全的未来 8
1.3 小结 8
第2章 核心防御机制 9
2.1 处理用户访问 9
2.1.1 身份验证 10
2.1.2 会话管理 10
2.1.3 访问控制 11
2.2 处理用户输入 12
2.2.1 输入的多样性 12
2.2.2 输入处理方法 13
2.2.3 边界确认 14
译者序
古语云:知己知彼,百战不殆。只有充分了解攻击者所采用的攻击方法以及Web应用程序中存在的可供攻击者利用的各种漏洞,我们才能针对这些漏洞采取行之有效的防御方法。本书两位作者都是安全领域的专家,拥有丰富的渗透测试实践经验,因而本书具有极高的实用价值。书中主要介绍了渗透测试员在测试Web应用程序时所采用的步骤和技巧。同时,从防御的角度看,这些步骤与技巧也为确保Web应用程序的安全、加强防御措施指明了方向。..
本书内容全面,几乎涵盖了所有Web核心技术,如HTTP、客户与服务器端技术、数据编码等;涉及了Web应用程序的主要核心功能,如客户端控件、会话管理、访问控制、应用程序逻辑与体系架构、Web服务器等;详细分析了各种类型的漏洞,如代码注入、路径遍历、跨站点脚本、重定向攻击、跨站点请求伪造、会话劫持、会话固定、缓冲区溢出、整数漏洞、格式化漏洞等;还提供了一些作者作为专业渗透测试员开发的Burp Intruder、JAttack、Paros、WebScarab、Nikto、Hydra等工具。另外,为弥补读者在某些方面的知识欠缺,本书还提供了一些背景知识及相关链接。本着实用的原则,作者在分析漏洞、介绍渗透测试步骤与技术的同时,还提供了大量实例与代码片段;每节的“渗透测试步骤”部分还对前面讨论的内容进行了简要总结。此外,每章最后的“问题”可帮助读者回顾该章的重点知识。这些问题的答案可在本书的同步网站(www.wiley.com/go/webhacker)上找到。
感谢看雪论坛以及Ivan、Failwest等朋友给予的技术支持,感谢妻子对我工作的莫大支持,她的爱是我前进的动力。
由于译者水平有限,加之时间仓促,译文难免存在各种错误或不妥之处,还请大家指正。有关文字与技术方面的问题,欢迎致信shy1639@hotmail.com与译者交流,谢谢大家!...
前言
如果你想了解如何运行端口扫描、攻击防火墙或以其他方式对服务器进行渗透测试,我们建议你阅读其他书籍。但是,如果你希望了解渗透测试员如何攻击Web应用程序、窃取敏感数据、执行未授权操作,那么本书可以满足你的需要。本书将就以上主题展开全面而详实的讨论。
本书概述
本书极其注重实用性。虽然我们提供了足够的背景信息与理论知识,以帮助读者了解Web应用程序中包含的漏洞;但是,渗透测试员在攻击Web应用程序时所需要实施的步骤及采用的技巧,才是我们讨论的重点所在。本书详细阐述了探查每一种漏洞所需采用的特定步骤,以及如何利用它执行未授权操作。我们还根据多年的工作经验,列出大量实例,说明在当今Web应用程序中存在的各种安全漏洞。
另一方面,安全意识就像一把双刃剑。开发者能够从了解攻击者所使用的方法中受益;相反,黑客也可以通过了解应用程序的防御机制而窥探它的受攻击面。除介绍安全漏洞与攻击技巧外,我们还将详细介绍应用程序为抵御攻击者而采用的应对措施。同时,Web应用程序渗透测试员还可以从本书中获得大量实用的建议,以帮助应用程序所有者强化他们的应用程序。
本书目标读者
本书的目标读者是Web应用程序渗透测试员,以及负责开发和管理Web应用程序的人,因为了解你的敌人有助于对他们进行有效防御。
我们希望读者熟悉核心安全概念,如登录和访问控制;并希望读者掌握基本的核心Web技术,如浏览器和HTTP。通过阅读本书提供的解释说明或其他参考资料,可以迅速弥补当前读者在这些领域的知识欠缺。
在介绍各种安全漏洞的过程中,我们将提供代码片断,说明应用程序为何易受攻击。这些示例都非常简单,不需要事先了解编写代码的语言就能够理解它们;但是,已经掌握阅读或编写代码的基础知识会更有用。
本书结构
总体而言,本书根据不同主题之间的依赖关系将内容组织在一起。如果你还不了解黑客是如何攻击Web应用程序的,应该从头至尾读完本书,以了解在后续有关章节中需要用到的背景信息和技巧。如果你在这方面已经拥有一定的经验,可以直接跳到特别感兴趣的任何章节或部分。必要时,我们将提供其他章节的交叉参考,以帮助你弥补理解上的欠缺。
本书前3章介绍一些背景信息,描述当前Web应用程序的安全状况,说明它将来的发展趋势。然后将介绍影响Web应用程序的核心安全问题,以及应用程序为解决这些问题所采取的防御机制。同时还将介绍当前Web应用程序所使用的关键技术。
本书的主要部分重点讨论核心主题——渗透测试员在攻击Web应用程序时使用的技巧。我们根据实施全面攻击所需要完成的关键任务组织材料,这些任务依次为:解析应用程序的功能,检查和攻击它的核心防御机制,探查特殊类型的安全漏洞。
最后3章对本书涵盖的各种主题进行简要总结:描述如何在应用程序源代码中查找漏洞;回顾能够帮助渗透测试员攻击Web应用程序的工具;详细介绍一种攻击方法,说明渗透测试员如何对一个目标应用程序实施全面而深入的攻击。
第1章描述当前在因特网上运行的Web应用程序的安全状况。尽管软件商常常保证Web应用程序是安全的,但绝大多数的应用程序并不真正安全;只要掌握一些技巧,就能够攻破它们。Web应用程序中的漏洞源于一个核心问题:用户可提交任意输入。这一章将分析造成当今应用程序安全状况不佳的关键因素,并说明Web应用程序中存在的缺陷如何使得组织的全面技术基础架构非常易于受到攻击。
第2章描述Web应用程序为解决“所有用户输入都不可信”这个基本问题而采用的核心安全机制。应用程序通过这些机制管理用户访问、控制用户输入、抵御攻击者。这些机制还为管理员提供各种功能,帮助他们管理和监控应用程序自身。应用程序的核心安全机制还是它的主要受攻击面,在对它们实施有效攻击前,渗透测试员必须了解这些机制的工作原理。
第3章简要介绍渗透测试员在攻击Web应用程序时可能遇到的关键技术,包括相关HTTP协议、客户与服务器端常用的技术以及各种数据编码方案。已经熟悉主要Web技术的读者可以跳过本章。
第4章描述渗透测试员在攻击一个新的应用程序时所需采取的第一步,即收集与应用程序有关的尽可能多的信息,以确定它的受攻击面,制定攻击计划。渗透测试员需要搜索并探查应用程序,枚举它的全部内容与功能,确定所有用户输入进入点并查明它所使用的技术。
第5章描述了存在漏洞的第一个区域。如果一个应用程序依靠在客户端实现的控件来保护它的安全,就可能造成这种漏洞。这种保护应用程序的方法往往存在缺陷,因为攻击者可轻易避开任何客户端控件。应用程序易于受到攻击的原因有两个:(1)通过客户传送数据,认为这些数据不会被修改;(2)依赖客户端对用户输入进行检查。这一章将介绍一系列有用的技术,包括HTML、HTTP与JavaScript所采用的轻量级控件,以及使用Java applet、ActiveX控件和Shockwave Flash对象的重量级控件。
第6~8章将主要介绍Web应用程序中最重要的防御机制——负责控制用户访问的机制。第6章描述应用程序确认用户身份的各种功能,包括主登录功能和更加外围的与验证有关的功能,如用户注册、密码修改和账户恢复功能。验证机制在设计和执行方面都包含大量漏洞,攻击者能够利用它们获得未授权访问。这些漏洞包括明显的缺陷,如保密性不强的密码和易于受到蛮力攻击,以及验证逻辑中存在的更微妙的问题。这一章还将详细分析许多安全性至关重要的应用程序所采用的多阶段登录机制,并描述这些机制中频繁出现的新型漏洞。
媒体评论
——Amazon.com
“没有空洞的理论和概念,也没有深奥的行话,除了实战经验,还是实战经验……”...
——blackhat.com