本次推荐的模拟环境如下:https://portswigger.net/web-security;本次环境主要涉及目录穿越方面的漏洞,其中包含6个实验,每个实验都设有预期目标
1、文件路径遍历之相对路径
首先进入靶场,先看到这样一个页面,一开始不清楚这个就是靶场环境,还以为自己进入到什么奇怪的买东西的网站。
然后搞明白了这个就是靶场,开始测试,一开始点击View details
,抓包观察数据包,发现有一个productld=1
的参数,属实sb了在这里测试了目录穿越
点击图片链接,发现这里面才是我需要的参数filename=75.jpg
,开始抓包测试。
修改filename后的参数为../etc/passwd
,然后发送请求,逐次增加../
,多次尝试后成功得到/etc/passwd
文件的内容
2、文件路径遍历之绝对路径
预期目标:检索/etc/passwd
文件的内容
复制图片链接访问,并拦截请求包
逐次增加../
,无论增加多少都没能返回想要的内容,于是采用绝对路径,目录遍历成功
3、文件路径遍历之嵌套绕过
首先还是打开靶场,复制图片链接,这里再次测试了一下绝对路径,但是返回是No such file
接着我增加../
测试了一下,还是没能成功,可能存在过滤
采用双写的办法进行测试filename=....//....//....//etc/passwd
,成功绕过
4、文件路径遍历之编码绕过
前面三题三种办法,那估计往后每个题目一个新办法。
首先尝试的就是URL编码,在以前学习XSS的时候,就用到过URL编码,这里现把/
用URL编码转换,转换成%2F
,但是失败了
于是把%2F
再用URL编码一次,不懂为啥编码出来的东西不是很一样。
但是最后都能成功的实现目录遍历
5、文件路径遍历之路径验证
这次进入靶场抓包看到格式变掉了,变成了filename=/var/www/images/28.jpg
,要求特定的文件路径进行验证,我们可以在给定的文件路径后面多加几个../
进行测试
测试成功,成功目录遍历
6、文件路径遍历之文件名截断
复制图片链接访问,并拦截请求包
这里我们用%00
截断文件名获得/etc/passwd
的内容