### 简要描述: Discuz!利用插件拿Discuz!论坛shell的文章:http://zone.wooyun.org/content/5275 拿shell,我在这篇文章里面用到的插件是zend加密的,可能有系统不支持。 今天谈的这个利用插件拿shell,是未加密的插件,基本都支持吧,不挑版本系统。 另外有小伙伴说,安装插件需要 安全密码,确实有的论坛需要安全密码。 绕过安全密码第一版:http://www.wooyun.org/bugs/wooyun-2013-032644 我已经提交给官方了,所以失效了。 但是我后续还会上 绕过安全密码第二版。 ### 详细说明: 问题插件出在:[MZG]点广告赚积分 1.0 http://addon.discuz.com/?@mzg_advertise.plugin 过程如下: 1.先搜索 “MZG” 找到 点广告赚积分。 [<img src="https://images.seebug.org/upload/201308/24165725152fa27730cb2e8584100caa3525182c.jpg" alt="1.jpg" width="600" onerror="javascript:errimg(this);">](https://images.seebug.org/upload/201308/24165725152fa27730cb2e8584100caa3525182c.jpg) 2. 安装插件,安装GBK还是UFT8随你系统编码选择。安装好插件后,选择 “添加广告”。 [<img src="https://images.seebug.org/upload/201308/241715437ce4441070ec9a9045192428c05295e2.jpg" alt="2.jpg" width="600" onerror="javascript:errimg(this);">](https://images.seebug.org/upload/201308/241715437ce4441070ec9a9045192428c05295e2.jpg) 3. 添加广告里面的 LOGO 文件上传,选本地上传,这里面未限制文件后缀,可以上传任意后缀名文件。 [<img...
### 简要描述: Discuz!利用插件拿Discuz!论坛shell的文章:http://zone.wooyun.org/content/5275 拿shell,我在这篇文章里面用到的插件是zend加密的,可能有系统不支持。 今天谈的这个利用插件拿shell,是未加密的插件,基本都支持吧,不挑版本系统。 另外有小伙伴说,安装插件需要 安全密码,确实有的论坛需要安全密码。 绕过安全密码第一版:http://www.wooyun.org/bugs/wooyun-2013-032644 我已经提交给官方了,所以失效了。 但是我后续还会上 绕过安全密码第二版。 ### 详细说明: 问题插件出在:[MZG]点广告赚积分 1.0 http://addon.discuz.com/?@mzg_advertise.plugin 过程如下: 1.先搜索 “MZG” 找到 点广告赚积分。 [<img src="https://images.seebug.org/upload/201308/24165725152fa27730cb2e8584100caa3525182c.jpg" alt="1.jpg" width="600" onerror="javascript:errimg(this);">](https://images.seebug.org/upload/201308/24165725152fa27730cb2e8584100caa3525182c.jpg) 2. 安装插件,安装GBK还是UFT8随你系统编码选择。安装好插件后,选择 “添加广告”。 [<img src="https://images.seebug.org/upload/201308/241715437ce4441070ec9a9045192428c05295e2.jpg" alt="2.jpg" width="600" onerror="javascript:errimg(this);">](https://images.seebug.org/upload/201308/241715437ce4441070ec9a9045192428c05295e2.jpg) 3. 添加广告里面的 LOGO 文件上传,选本地上传,这里面未限制文件后缀,可以上传任意后缀名文件。 [<img src="https://images.seebug.org/upload/201308/24171913a86e97309d20750d05e3af7e73dd76e4.jpg" alt="3.jpg" width="600" onerror="javascript:errimg(this);">](https://images.seebug.org/upload/201308/24171913a86e97309d20750d05e3af7e73dd76e4.jpg) 4. 查看添加的广告,看到了吧? [<img src="https://images.seebug.org/upload/201308/24172140190e2741beecd9c30694f358c8e48c31.jpg" alt="4.jpg" width="600" onerror="javascript:errimg(this);">](https://images.seebug.org/upload/201308/24172140190e2741beecd9c30694f358c8e48c31.jpg) 5. 看下shell [<img src="https://images.seebug.org/upload/201308/24172341957eb18c55674ff8bc1c0efef2ab51ed.jpg" alt="5.jpg" width="600" onerror="javascript:errimg(this);">](https://images.seebug.org/upload/201308/24172341957eb18c55674ff8bc1c0efef2ab51ed.jpg) 分析下代码: [<img src="https://images.seebug.org/upload/201308/24172453be4d3ee8531885f0b9ecfb49644f28e9.jpg" alt="6.jpg" width="600" onerror="javascript:errimg(this);">](https://images.seebug.org/upload/201308/24172453be4d3ee8531885f0b9ecfb49644f28e9.jpg) 未对文件后缀名做任何判断,导致上传任意文件,导致出现代码执行. 加上 过安全密码装插件第二版,完美后台拿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']); } } ```