JAVA安全之目录遍历漏洞


一、路径遍历

路径(目录)遍历是攻击者能够访问或存储应用程序运行位置之外的文件和目录的漏洞。这可能会导致从其他目录读取文件,并且在文件上传覆盖关键系统文件的情况下。

二、路径遍历是如何工作的

例如,假设我们有一个托管一些文件的应用程序,并且可以按以下格式请求它们:http://example.com/file=report.pdf现在作为攻击者,您当然对其他文件感兴趣,所以您尝试http://example.com/file=…/…/…/…/…/etc/passwd. 在这种情况下,您尝试走到文件系统的根目录,然后进入/etc/passwd以获取对该文件的访问权限。这…/称为点-点-斜线,这是此攻击的另一个名称。当然,这是一个非常简单的例子,在大多数情况下,这不会作为框架实现的控件来工作,所以我们需要更有创意,并在请求发送到服务器之前开始编码…/。例如,如果我们对 URL 进行编码,…/您将得到%2e%2e%2f并且接收到该请求的 Web 服务器将再次将其解码为…/.另请注意,避免应用程序过滤那些编码双重编码也可能有效。在系统 A 调用系统 B 的情况下,可能需要双重编码。系统 A 只会解码一次,并会使用仍然编码的 URL 调用 B。

三、webGoat靶场实验

3.1 目录遍历第二题

题目的要求是要我们,把图片上传到不是指定文件夹下的目录,先进行文件上传如下所示:
请添加图片描述
把图片上传到指定文件夹成功,如下所示:

请添加图片描述

使用../上传文件到上一层目录

请添加图片描述

3.2 目录遍历第三题

直接重写绕过:

请添加图片描述


猜你喜欢

转载自blog.csdn.net/qq_53568983/article/details/129739623
今日推荐