前言:
之前没有接触过这个知识,恰好这次有一道题考了这方面的知识,就来详细的学习一下任意文件下载漏洞
任意下载漏洞简介
由于业务需求,很多网站往往需要提供文件(附件)下载的功能块,但是如果对下载的文件没有做限制,直接通过绝对路径对其文件进行下载,那么,恶意用户就可以利用这种方式下载服务器的敏感文件,对服务器进行进一步的威胁和攻击。
任意下载漏洞的危害
通过任意文件下载,可以下载服务器的任意文件,web业务的代码,服务器和系统的具体配置信息,也可以下载数据库的配置信息,以及对内网的信息探测等等。
通过上面的简单介绍,可以看出任意下载漏洞是很常见的,如果对用户查看或下载的文件不做限制,就又可能被利用,从而造成损害,接下来就来学习下任意下载漏洞是如何利用的。
任意下载漏洞的利用方式
存在方式
从链接上看,类似这些,有可能就存在任意下载漏洞
download.php?path=
download.php?file=
down.php?file=
data.php?file=
readfile.php?file=
read.php?filename=
题目解析
这里就以一道题来做为例子
查看源码,发现这个格式,猜测可能是任意文件下载或文件包含
打开发现是java编写的页面
这时我们就可以考虑是否可以用任意下载漏洞这种方法来做,尝试一下,但很奇怪的是无论我们构造任何参数都是Not Found,大师傅告诉我这道题需要切换请求方法才行,还是师傅经验深
输入,发现真的可以
filename=WEB-INF/web.xml
发现有两个flag的关键文件位置,先来查看一下com.wm.ctf.FlagController
filename=WEB