扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
在本页阅读全文(共2页)
不安全的直接对象引用和跨站请求伪造(CSRF)是许多Web应用中的严重缺陷。实际上,一些黑客表示,对于CSRF来说,互联网上没有哪个网站没有可被CSRF利用的缺陷。在这篇文章中,笔者介绍了这两种Web应用程序弱点的本质,同时就保护Web应用程序免受相关攻击提出一些建议。
无法合理保护网站服务器上的目录和文件夹的安全,是使得不安全的直接对象引用成为具有吸引力的攻击方法的根本原因。不安全的直接对象引用,也叫目录游走,只需简单调整用户访问一个网站时或直接提交给桌面的脚本中的URL就可以进行利用。这个缺陷代替了不完善的访问控制,2004 OWASP 十大列表中的A2。
下面是取自Imperva网站的Web贴子中的一个例子。在图A中,系统提交一个请求获取2003年3月20日的新闻文件。假设这个HTTP请求是根据用户提供的输入建立,那么它就会成为不安全的直接对象引用安全攻击的主要目标。
图A 一个请求
如果网站开发者没有进行妥善检查并只允许有效的输入,入侵者就能输入“../”字符序列跳出当前目录并进入上级目录。一些这样的序列能够不断的在三个目录中游走直至到达目标目录的上级目录。在图B中,一位入侵者正尝试在四个目录中游走进行访问。如果成功了,她将收到win.ini 文件而不是新闻文件。
图B 在四个目录中游走
即使攻击者不知道到底需要跳过几级目录才能到达目录树的正确位置,但利用字符串输入也不难找到结果。
防御目录游走或不安全的直接对象引用攻击的方法相当简单:
◆锁定网站服务器上的所有目录和文件夹。无论如何,通过互联网访问一台服务器的用户都不能访问除专门用于存放Web内容的目录以外的目录。
◆然后,确认所有输入。为防止目录游走,应特别小心“./”或“..”。这个系列的第三部分详细说明了输入确认的问题。
◆让私有对象引用的隐秘性。
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。