文件下载漏洞
1、 文件下载漏洞-思维导图
2、文件漏洞分类
关于文件漏洞:
- List item文件被解析,是文件包含漏洞;
- 显示源代码, 是文件读取漏洞;
- 提示文件下载,是文件下载漏洞。
3、靶场练习
右键点击图片,复制图像链接得到:
http://192.168.1.5/pikachu-master/vul/unsafedownload/execdownload.php?filename=ai.png
由上方链接可知filename=后面是要下载的文件名,而右键点击明星名字时获得:
http://192.168.1.5/pikachu-master/vul/unsafedownload/download/ai.png
这个是文件路径,我们从此路径下载图片的。
如果我们将ai.png替换成一个不在download文件夹下的文件,那就会出错的。
我们看一哈源代码:
http://192.168.1.5/pikachu-master/vul/unsafedownload/download/ai.png
这个是完整路径,当我们想要访问inc/function.php文件时,我们知道这个文件肯定在pikachu靶场下,但是肯定不在download文件夹下面,这个时候我们就要提供一个相对文件路径,
http://192.168.1.5/pikachu-master**/vul/unsafedownload/download/ai.png
所以当?filename=…/inc/function.php时,代表的是unsafedownload文件夹下的文件,
当?filename=…/…/inc/function.php时,代表的是vul文件夹下的文件,当?filename=…/…/…/inc/function.php时,代表的是pikachu-master文件夹下的文件,这个时候是我们想要的结果了。也就是
http://192.168.1.5/pikachu-master/vul/unsafedownload/execdownload.php?filename=../../../inc/function.php
成功下载function.php文件!
那么问题来了,我们现在是因为可以看到源代码的,所以知道他的配置文件的路径,那如果我们看不到他的源代码的话,怎么办?
1.用扫描工具爬行或扫描地址。
2.下载好的文件代码中去分析路径和包含文件获取。