【问题标题】:Java canonical path securityJava规范路径安全
【发布时间】:2015-12-15 22:44:34
【问题描述】:

我正在研究 Android 安全漏洞,由于使用的是 Java,因此语言中的攻击也需要解决。

我在this link学习。

我对 Linux 中的规范路径、绝对路径和相对路径有一个很好的了解。但是这个说法:

但是,用户仍然可以通过输入包含 ../ 序列的参数来指定预期目录之外的文件

我知道.. 指的是当前文件所在目录的父目录,但无法理解攻击者最终会如何使用.. 来制作不属于/img/ 的恶意文件路径目录(在文章中提到),仍然能够成功。我正在寻找任何可能利用此漏洞并通过安全检查的示例。任何帮助将不胜感激。

【问题讨论】:

    标签: java android security canonicalization


    【解决方案1】:

    假设您有一些配置允许执行/path/to/safe/directory/ 中的程序。用户可以指定他们想要的程序,例如在您的安全目录中找到的nice1。但是如果用户指定了../../totally/evil/nasty 之类的程序呢?如果程序名称没有检查.. 字符,您可以最终执行程序/path/to/totally/evil/nasty

    消息是您必须清理用户输入以确保它不会破坏您的安全策略。

    【讨论】:

    • 我有点麻烦,您可以按照链接中的示例进行操作。我担心的是,如果我正在执行 File f = new File ("/abc/xyz/img/", path),并且在我正在使用 ../../ 遍历的路径中,那么我可以访问外部文件 / img/文件夹?有什么方法可以让我最终使用路径遍历攻击访问文件构造函数中提到的目录之外的文件,因为文件构造函数没有解析第二个参数中提到的 ../../。
    猜你喜欢
    • 2011-04-05
    • 1970-01-01
    • 2010-10-04
    • 2011-02-10
    • 1970-01-01
    • 2016-07-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多