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

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

缺陷编号:wooyun-2014-051788

漏洞标题:Easytalk V2.5 SQL注入一枚

相关厂商:nextsns.com

漏洞作者: ′雨。

提交时间:2014-02-23 13:01

修复时间:2014-05-24 13:01

公开时间:2014-05-24 13:01

漏洞类型:SQL注射漏洞

危害等级:高

自评Rank:20

漏洞状态:厂商已经确认

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

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

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

简要描述:

看官网上更新到了2.5。。 漏洞是少了不少。。
不好找了。。。找了很久都没找到什么。。
全局GET POST 转义。

详细说明:

Indexaction中

public function checkreset() {
parent::tologin();
$uModel=D('Users');
$urldata=$_REQUEST['urldata'];
parse_str(base64_decode($urldata));
$user_id=intval($user_id);
$user_name=str_replace(array("'",'"'," "),"",$user_name);
$mailadres=str_replace(array("'",'"'," "),"",$mailadres);
$code=str_replace(array("'",'"'," "),"",$checkcode);

if (time()-$dateline>3600*5 && $user_id && $user_name && $mailadres && $code) {
setcookie('setok', json_encode(array('lang'=>L('reset3'),'ico'=>2)),0,'/');//该地址已经过期,请重新“找回密码”
header('location:'.SITE_URL.'/?m=index&a=reset');
exit;
} else {

$user=$uModel->getUser("user_id='$user_id' AND user_name='$user_name' AND mailadres='$mailadres' AND resetcode='$code'");
if (!$user['user_id']) {
setcookie('setok', json_encode(array('lang'=>L('reset4'),'ico'=>2)),0,'/');//地址验证失败,请重新“找回密码”
header('location:'.SITE_URL.'/?m=index&a=reset');
exit;
}
}


parse_str 可以覆盖掉其他变量。
但是user_id被intval
mailadres username code 的单引号 双引号 都会被替换成空。
$user=$uModel->getUser("user_id='$user_id' AND user_name='$user_name' AND mailadres='$mailadres' AND resetcode='$code'");
看看语句 也都是被加了单引号的。
但是在这里 他并没有过滤转义符。
而且后面有3个可控的。 所以 可以来利用了。
因为user_id 被intval 所以无法利用。
从user_name开始利用 首先转义user_name后面的单引号
然后user_name 前面的单引号 和mailadres前面的单引号闭合。
然后再注释掉后面的 就可以来注入了。
而且 虽然全局 GET POST 转义 但是他这里解码 所以 无视转义的。
首先是不能进这个的 要不就不能注入了
if (time()-$dateline>3600*5 && $user_id && $user_name && $mailadres && $code) {
那就让code为false把。
而且空格还被过滤了。。
用/**/ 即可。

漏洞证明:

10.jpg


11.jpg


注入成功 有图 有真相。

修复方案:

过滤。。

版权声明:转载请注明来源 ′雨。@乌云


漏洞回应

厂商回应:

危害等级:高

漏洞Rank:20

确认时间:2014-02-23 13:28

厂商回复:

已解决

最新状态:

暂无