好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

Discuz! 后台第三方插件上传任意后缀文件拿shell(

Discuz!利用插件拿Discuz!论坛shell的文章: http://HdhCmsTest2cto测试数据/Article/201307/230113.html

拿shell,我在这篇文章里面用到的插件是zend加密的,可能有系统不支持。

 

今天谈的这个利用插件拿shell,是未加密的插件,基本都支持吧,不挑版本系统。 

 

另外有小伙伴说,安装插件需要 安全密码,确实有的论坛需要安全密码。

绕过安全密码第一版:http://HdhCmsTest2cto测试数据/Article/201310/248549.html

 

 绕过安全密码第二版:http://HdhCmsTest2cto测试数据/Article/201310/248550.html

 

问题插件出在:[MZG]点广告赚积分 1.0 

 

http://addon.discuz测试数据/?@mzg_advertise.plugin

 

 

 

过程如下:

 

1.先搜索 [MZG] 找到 点广告赚积分。 

2. 安装插件,安装GBK还是UFT8随你系统编码选择。安装好插件后,选择 [添加广告]。

 

 

3. 添加广告里面的 LOGO 文件上传,选本地上传,这里面未限制文件后缀,可以上传任意后缀名文件。

 

 

4. 查看添加的广告,看到了吧?

 

 

5. 看下shell 

 

分析下代码:

 

 

未对文件后缀名做任何判断,导致上传任意文件,导致出现代码执行.

 

加上 过安全密码装插件第二版,完美后台拿shell!

 

 

漏洞 证明:

 

if (is_uploaded_file($_FILES['up_pic']['tmp_name']) and !$_FILES['up_pic']['error']) { $picarr = explode(".",$_FILES['up_pic']['name']); $newpic = $pic?$pic:'source/plugin/mzg_advertise/logo/'.$_G['timestamp'].'.'.$picarr[count($picarr)-1]; if (move_uploaded_file($_FILES['up_pic']['tmp_name'],$newpic)) { $pic = $newpic; } else { cpmsg("图片上传错误", $_POST['resturl']); } }  

修复方案: 下架插件

 

查看更多关于Discuz! 后台第三方插件上传任意后缀文件拿shell(的详细内容...

  阅读:60次