科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道应用软件锁定:使用修订版OWASP Top Ten保证Web应用程序安全——第四部分

锁定:使用修订版OWASP Top Ten保证Web应用程序安全——第四部分

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

在本文即OWASP Top Ten Web应用程序脆弱性系列的第四篇文章中,Tom Olzak说明了恶意代码执行的本质,并就防止Web应用程序受到相关攻击提出一些建议。

作者:builder.com.cn 2007年4月10日

关键字:

  • 评论
  • 分享微博
  • 分享邮件

当地目录遍历

这个例子取自Web应用程序安全联盟的路径遍历,描述了一个使用特殊字符序列的遍历攻击。它用"../"遍历一个目录来输入脚本目录。"%00"允许攻击者避开任何文件扩展名检查。攻击的结果使得攻击者能够查看foo.cgi文件。

如果目录许可配置不正确,攻击者不仅能够查看文件,还能够修改和执行文件。另外,攻击者上传的恶意脚本能够轻松地插入访问控制存在缺陷或没有访问控制的目录中。因此,不难使用这种漏洞来发动一个恶意文件执行攻击。

这种脆弱性的另外两个攻击向量为:

  • 向会话文件、日志数据上传敌意数据,以及通过镜像上传
  • 通过没有经过合格检查的压缩或声频流上传恶意文件

预防恶意文件执行

针对文件包含漏洞的攻击造成的商业影响和实施的沙箱和其它应用程序隔离平台的强度成直接比例关系。虽然.NET和J2EE应用程序通常被排除在它们的执行环境之外,但PHP也没有沙箱/隔离功能。

在防御使用文件包含攻击向量的威胁时,输入确认是另一个重要的因素。我们在这个系列的第3部分和Web应用程序安全:未经确认的输入中详细说明了确认问题。其它防御措施包括:

  • 向用户隐藏服务器文件名。
  • 禁用PHP.INI文件中的allow_url_fopen和allow_url_include。
  • 配置防火墙,使得服务器无法与外部网站或内部系统建立连接;考虑应用网络分割保护重要或高度敏感的系统和数据。
  • 考虑使用常量或用户无法使用的脚本输入类型。
  • 使用文档类型定义来定义允许的文档结构。

总结

恶意文件包含是一种可以预防的脆弱性。实施输入确认和拒绝执行包含文件的编码实践是一个好的开端,但正确配置基本的基础架构也能有效地防止执行恶意代码。考虑全面的访问控制和防火墙配置支持开发努力,保护信息资产,阻止攻击者成功执行一个恶意文件或达到预计的攻击目的。

责任编辑:德东

查看本文国际来源

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章