admin.php在对filemanager进行调用时,filemanager对文件目录没有很好的限定,导致可以下载服务器上任意可读文件,导致敏感信息泄露或者跨站。
详细说明:发现这个漏洞源于对的一次检测
社工进入后台,文件管理器能用,后缀限制,加上服务器有变态是智创IIS防火墙,涛涛电脑知识网,导致特殊文件夹,注入,解析漏洞等等,www.xuhantao.com,都不能用,最终发现这个漏洞,并在C盘下智创目录下载了智创IIS防火墙的配置文件,得到了防火墙账号及md5密码,通过web管理关掉防火墙,才得以进一步渗透。
来看admin目录下的filemanager.inc.php文件
"?mod=$mod&file=$file&action=edit&fname=$mkfile&dir=".urlencode($dir));
这是edit的代码,当然down就一样了,fname虽然不好限定,但是前后没有对$dir做任何限制,所以可以导致自定义dir来下载文件。
比如构造下载php.ini
/admin.php?mod=phpcms&file=filemanager&action=down&fname=C%3A%2php%2php.ini&dir=./php/
经测试可以下载任意可读文件,利用价值也是比较好的,比如旁站的时候读取别人的数据库配置文件。目测phpcms V9存在同样问题,没有测试,有兴趣的可以测试下。
修复方案:
你懂的。
作者:小胖子