不好意思,这个标题有点儿误导性,如果你误打误撞地看到了这篇文章,又没有获得预期的东西,那么非常抱歉。但是,有一点我可以保证,你不可能一无所获,只要你关注Web应用程序的安全问题。但试问,在计算机领域摸爬滚打的人士,有谁能完全忽视这个问题呢?

以下问题或许不难,但是,不知道……(此处省略若干字,你懂得)。

1 为什么说应用程序处理用户访问的机制是所有机制中最薄弱的机制?

2 If-Modified-Since和If-None-Match消息头的作用是什么?它们为何引起攻击者的兴趣?

3 当解析一个应用程序时,遇到以下URL:

https://wahh-app.com/public/profile/Address.asp?action=view&location=default

据此推断服务器端使用何种技术。可能还存在哪些其他内容和功能?

4 某一应用程序包含一个执行严格访问控件的管理页面。该页面上有一个连接到另一台Web服务器的诊断功能链接,只有管理员能够访问这些功能。如果不执行其他验证机制,下列哪一种(如果有的话)客户端机制可为诊断功能提供安全的访问控件?要选择一个解决方案,你还需要了解其他信息吗?

(a) 诊断功能能够检查HTTP Referer消息头,证实请求由主管理页面提交。

(b) 诊断功能能够验证收到的cookie,证实其中包含访问主应用程序所需的有效会话令牌。

(c) 主应用程序可在请求中的一个隐藏字段中设置一个验证令牌。诊断功能能够确认这一点,证实用户在主应用程序中有一个会话。

5 应用程序在登录功能中整合了反钓鱼机制。注册过程中,每名用户从应用程序提供的大量图片中选择一幅特殊的图片。登录机制由以下步骤组成:

(a) 用户输入其用户名和出生日期;

(b) 如果这些信息无误,应用程序向用户显示他们选择的图片; 如果信息有误,随机显示一幅图片;

(c) 用户核实应用程序显示的图片,如果图片正确,输入他们的密码。

反钓鱼机制的作用在于:它向用户确认,他们使用的是真实而非“克隆”的应用程序, 因为只有真正的应用程序才能显示正确的图片。

反钓鱼机制给登录功能造成什么漏洞?这种机制能够有效阻止钓鱼攻击吗?

6 因特网上的一个Web应用程序通过检查用户的来源IP地址实施访问控制。为什么这种行为可能存在缺陷?

7 假设已经发现一个路径遍历漏洞。但起始目录位于一个仅用于保存Web内容的独立逻辑卷中。可以利用这个漏洞达到某些恶意目的吗?

8 一个银行应用程序采用一种非常安全可靠的多阶段登录机制。在第一个阶段,用户输入用户名和密码。在第二个阶段,用户输入在物理令牌上显示的一个不断变化的值,并通过一个隐藏表单字段重新提交前面输入的用户名。

可以立即发现的逻辑缺陷有哪些?

9 如何测试应用程序是否允许使用XMLHttpRequest提出跨域请求?

10 在一个必须使用POST方法的请求中已知一个反射型XSS漏洞。攻击者可以使用哪种传送机制实施攻击?

欲知以上问题的答案,敬请阅读《黑客攻防技术宝典:Web实战篇(第2版)》。

当然,不管你能不能回答上来,《黑客攻防技术宝典:Web实战篇(第2版)》教给你的远远不止这些。相信读过第1版的朋友很多,其英文版在亚马逊上好评如潮,可谓Web安全领域的圣经。本书作者Dafydd Stuttard 和 Marcus Pinto都是Web安全领域的大师级人物。

这本书是两位作者多年探索和研究Web应用程序安全漏洞的实践结晶。他们利用大量的实际案例和示例代码,详细介绍了各类Web应用程序的弱点,并深入阐述了如何针对Web应用程序进行具体的渗透测试。本书重点讨论Web应用程序渗透测试时使用的详细步骤和技巧,最后总结书中涵盖的主题。第2版新增了Web应用程序安全领域近年来的发展变化新情况,并以尝试访问的链接形式提供了几百个互动式“漏洞实验室”,便于读者迅速掌握各种攻防知识与技能。