1. 支持中心
  2. 问题定义
  3. 文件路径遍历

文件路径遍历

什么是文件路径遍历?

文件路径遍历(也称为Directory Traversal)是一个漏洞,允许攻击者读取他们无法访问的文件内容。

文件路径遍历可以允许攻击者读取包含秘密密钥和密码的敏感配置文件,访问可以搜索漏洞的应用程序的源代码,或获得其他特权数据文件。在某些情况下,攻击者可以利用文件路径遍历漏洞来获得对Web服务器的完全控制。beplay体育能用吗

当应用程序将用户数据集成到文件路径中时,就会出现文件路径遍历漏洞,然后将其用于访问基础文件系统。攻击者可以操纵数据以使应用程序将其他文件检索到预期的文件中,从而使攻击者可以读取未经授权文件的内容。

描述:文件路径遍历

当文件系统操作以不安全的方式使用用户控制数据时,就会出现文件路径遍历漏洞。通常,将用户提供的文件名附加到目录前缀上,以读取或编写文件的内容。如果易受伤害,攻击者可以提供路径遍历序列(使用点 - 斜线字符)以突破预期目录,并在文件系统上的其他地方读取或写入文件。

这通常是一个非常严重的漏洞,使攻击者能够访问包含配置数据,密码,数据库记录,日志数据,源代码以及程序脚本和二进制文件的敏感文件。

修复:文件路径遍历

理想情况下,应以某种方式设计应用程序功能,以至于不需要将可控制的数据传递给文件系统操作。这通常可以通过通过索引号而不是其名称引用已知文件,并使用应用程序生成的文件名来保存用户供给的文件内容来实现这一目标。

如果认为将用户控制数据传递到文件系统操作是不可避免的,则可以使用三层防御来防止路径遍历攻击:

  • 在传递到任何文件系统操作之前,应严格验证用户控制数据。特别是,应阻止包含点点序列的输入。
  • 验证用户输入后,该应用程序可以使用合适的文件系统API来验证要访问的文件是否实际上位于应用程序使用的基本目录中。在Java中,可以通过使用用户支持的文件名实例实例化Java.io.file对象来实现这一点,然后在此对象上调用GetCanonical Path方法。如果该方法返回的字符串不以开始目录的名称开头,则用户以某种方式绕过了应用程序的输入过滤器,并且应拒绝请求。在ASP.NET中,可以通过将用户提供的文件名传递到System.io.path.getFullPath方法并以与Java所述相同的方式检查返回的字符串来执行相同的检查。
  • 用于存储使用用户控制数据访问的文件的目录可以位于其他敏感应用程序和操作系统文件的单独逻辑卷上,因此无法通过路径遍历攻击来达到这些文件。在基于UNIX的系统中,可以使用Chrooted文件系统来实现这一点。在Windows上,可以通过将基本目录作为新的逻辑驱动器安装并使用关联的驱动器字母来访问其内容来实现。

参考

脆弱性分类

典型的严重程度

高的

类型索引(HEX)

0x00100300

类型索引(十进制)

1049344

bepaly下载

打扫扫描仪

这个问题 - 还有更多类似的问题 - 可以使用我们的bepaly下载

bepaly下载
bepaly下载app

打bur

仅从beplay体育能用吗$ 399.00

bepaly下载app