这个漏洞严格意义上利用的条件比较苛刻,但是我们还是可以借着这个漏洞学习一下文件下载漏洞的特点
1.安装xhcms
这里用的是xhcms1.0
下载地址RefineCMS-内容管理系统|RefineCMS-内容管理系统 v1.0下载_网站源码 - 站长源码 (chinaz.com)
下载之后就直接解压到www文件夹下,我这里的配置是php5.2+apache+mysql,如果发现空白页或者未安装不跳转的问题,可以查看是不是配置问题
访问install文件夹
安装之后打开首页
2.审计跟踪
先观察网页上面有没有下载的地方,可以直接找到,我们查看这个下载的链接网址
可以观察到网址上的问号前没有php名字,这个地方是index自动隐藏了,我们导入easy中查看
可以看到r参数是导向了处理的php文件,查看downloads文件,当然,我们可以直接在文件夹内搜索这个文件。
查看代码之后我们可以得到结论:line指代的是下载方式,cid指代文件的id,而且这个文件是从数据库中处理出来的,得到数据库的名字,查看
->我们需要可以在这个表插入文件或者更新文件的地方
全局搜索这个表名
我们看到了很多文件名,admin下的都是要登录后台的,我们需要先排查有没有可以直接上传的,可以发现只有这个了
和我们前面查看的相似
先尝试能不能直接访问这个后台发布,利用参数跳转查看
发现不行
这里我们打地址留成我们主机上d盘,上传成功
尝试下载
成功,也就是说我们可以下载到主机上的配置文件,但是这个要看管理员是否有上传失误的操作才能利用
3.思路梳理
链接文件地址<-downloads.php<-$down<-mysql表单download<-上传文件或更新文件<-newsofts.php