pikachu通关教程-目录遍历漏洞(../../)

目录遍历漏洞也可以叫做信息泄露漏洞、非授权文件包含漏洞等.

原理:目录遍历漏洞的原理比较简单,就是程序在实现上没有充分过滤用户输入的../之类的目录跳转符,导致恶意用户可以通过提交目录跳转来遍历服务器上的任意文件。

这里的目录跳转符可以是../,也可是../的ASCII编码或者是unicode编码等

当我们依次点击,会有两条url。

复制代码
http://127.0.0.1:1000/pikachu/vul/dir/dir_list.php?title=jarheads.php
http://127.0.0.1:1000/pikachu/vul/dir/dir_list.php?title=truman.php

那我们可以猜测,假设他过滤存在问题,没有对../进行有效过滤,那我们就可以访问他的上级目录dir.php

可以去做一下CVE-2021-41773。靶场环境:

Vulhub - Docker-Compose file for vulnerability environment

关于方法这里总结网上的:

双写绕过

如果服务器后台过滤了.../,那我们可以输入..././ -> ../

复制代码
return super.execute(file, fullName != null ? fullName.replace("../", "") : "");

编码绕过

当服务器对../进行一个过滤是,我们可以进行url编码,例如:?filename=%2e%2e%2f/etc/passwd