1.About WebView
在Android开发中,经常会使用WebView来实现WEB页面的展示,在Activiry中启动自己的浏览器,或者简单的展示一些在线内容等。WebView功能强大,应用广泛,但它是天使与恶魔的合体,一方面它增强了APP的上网体验,让APP功能更多样化,另一方面它也引入了很多的安全问题。在过去几年WebView中被披露的重大漏洞包括了任意代码执行漏洞、跨域、密码明文保存等,这些安全问题可以直接导致用户敏感信息泄露,移动终端被恶意攻击者控制。下文将详细介绍这一系列安全问题,罗列相关的一些案列,并提供相应安全开发建议。
2.WebView任意代码执行漏洞
已知的WebView任意代码执行漏洞有4个。较早被公布是CVE-2012-6636,揭露了WebView中addJavascriptInterface接口会引起远程代码执行漏洞。接着是CVE-2013-4710,针对某些特定机型会存在addJavascriptInterface API引起的远程代码执行漏洞。之后是CVE-2014-1939爆出WebView中内置导出的“searchBoxJavaBridge_”Java Object可能被利用,实现远程任意代码。再后来是CVE-2014-7224,类似于CVE-2014-1939,WebView内置导出“accessibility”和“accessibilityTraversal”两个Java Object接口,可被利用实现远程任意代码执行。
后文我们将围绕下面这段常见的示例代码展开:
CVE-2012-6636
Android系统为了方便APP中Java代码和网页中的Javascript脚本交互,在WebView控件中实现了addJavascriptInterface接口,对应示例代码中的③,网页中的JS脚本可以利用接口“myjs”调用App中的Java代码,而Java对象继承关系会导致很多Public的函数及getClass函数都可以在JS中被访问,结合Java的反射机制,攻击者还可以获得系统类的函数,进而可以进行任意代码执行。漏洞在2013年8月被披露后,很多APP都中招,其中浏览器APP成为重灾区。但截至目前任有很多APP中依然存在此漏洞,与以往不同的只是攻击入口发生了一定的变化。另外我们也发现一些小厂商的APP开发团队因为缺乏安全意识,依然还在APP中随心所欲的使用addjs接口,明目张胆踩雷。
出于安全考虑,Google在API 17中规定允许被调用的函数必须以@JavascriptInterface进行注解,理论上如果APP依赖的API为17或者以上,就不会受该问题的影响。但部分机型上,API 17依然受影响,并且如果APP存在此漏洞,且targetsdk小于17,那漏洞的影响可以覆盖到android4.4的终端,如果大于等于17,只能在android4.2的机型上触发,所以前一种情况的危害目前来看依旧很大。
CVE-2014-1939
在2014年发现在Android4.4以下的系统中,webkit中默认内置了“searchBoxJavaBridge_”, 代码位于“java/android/webkit/BrowserFrame.java”,该接口同样存在远程代码执行的威胁。
CVE-2014-7224
在2014年,研究人员Daoyuan Wu和Rocky Chang发现,当系统辅助功能服务被开启时,在Android4.4以下的系统中,由系统提供的WebView组件都默认导出”accessibility” 和”accessibilityTraversal”这两个接口,代码位于“android/webkit/AccessibilityInjector.java”,这两个接口同样存在远程任意代码执行的威胁。
常见挂马页面
扫码攻击
图片来自于某漏洞收集平台,通过二维码扫描触发WebView任意代码执行漏洞:
以聚美优品为例Ver 3.305,APK MD5:DD8B00EDA393526F66D25CA16E8C7B5C,相关代码位于com.jm.android.jumei.Controls.JuMeiCustomWebView.java中:
密码明文存储漏洞
WebView默认开启密码保存功能mWebView.setSavePassword(true),如果该功能未关闭,在用户输入密码时,会弹出提示框,询问用户是否保存密码,如果选择”是”,密码会被明文保到/data/data/com.package.name/databases/webview.db
4.WebView域控制不严格漏洞
setAllowFileAccess
Android中默认mWebView.setAllowFileAccess(true),在File域下,能够执行任意的JavaScript代码,同源策略跨域访问能够对私有目录文件进行访问等。APP对嵌入的WebView未对file:/// 形式的URL做限制,会导致隐私信息泄露,针对IM类软件会导致聊天信息、联系人等等重要信息泄露,针对浏览器类软件,则更多的是cookie信息泄露。
setAllowFileAccessFROMFileURLs
在JELLY_BEAN以前的版本默认是setAllowFileAccessFromFileURLs(true),允许通过file域url中的Javascript读取其他本地文件,在JELLY_BEAN及以后的版本中默认已被是禁止。
setAllowUniversalAccessFromFileURLs
在JELLY_BEAN以前的版本默认是setAllowUniversalAccessFromFileURLs(true),允许通过file域url中的Javascript访问其他的源,包括其他的本地文件和http,https源的数据。在JELLY_BEAN及以后的版本中默认已被禁止。
360手机浏览器缺陷可导致用户敏感数据泄漏
以360手机浏览器4.8版本为例,由于未对file域做安全限制,恶意APP调用360浏览器加载本地的攻击页面(比如恶意APP释放到SDCARD上的一个HTML)后,就可以获取360手机浏览器下的所有私有数据,包括webviewCookiesChromium.db下的cookie内容,攻击页面关键代码:
漏洞利用代码:
5.WebView file跨域漏洞
Android 2.3 webkit或者浏览器APP自建内核中会存在此类跨域漏洞。在处理转跳时存在漏洞,导致允许从http域跨向file域,实现跨域漏洞。以某浏览器4.5.0.511版本为例,写一个html,命名为filereach.html,存放在 服务器 上。该浏览器4.5.0.511的X5内核存在http域跨file域的漏洞。POC代码如下所示:
在浏览器中打开服务器上的filereach.html,将从http域跳转到file域
6.安全开发建议
1)使用腾讯御安全类漏洞扫描工具进行基础开发漏洞检测定位;
2)建议开发者通过以下方式移除该JavaScript接口:
3)出于安全考虑,为了防止Java层的函数被随便调用,Google在4.2版本之后,规定允许被调用的函数必须以@JavascriptInterface进行注解
4)通过WebSettings.setSavePassword(false)关闭密码保存提醒功能
5)通过以下设置,防止越权访问,跨域等安全问题:
setAllowFileAccess(false)
setAllowFileAccessFromFileURLs(false)
setAllowUniversalAccessFromFileURLs(false)
7.参考信息
win7旗舰版忘记密码打开带命令提示符的安全模式后还是跳回输入密码要怎么办
忘记电脑开机密码破解方法:1.U盘做个winpe,然后进去winpe清除密码即可;2.买个Ghost的装机光盘,然后开机进入光盘winpe清除密码即可;3.重装系统也可以;4.如果是Android系统的平板电脑忘记锁屏密码解决方法:可以重新刷包或者wipe data双清数据(注意备份平板电脑数据)。 5.人们一般对自己的私人电脑都会设置密码,这是对自己隐私保护的一种表现方式,可是相对的也会经常碰到一个尴尬的问题,那就是经常忘了电脑开机密码,碰到这么纠结的问题该怎么办呢,今天笔者就详细的来为大家讲解电脑开机密码忘记了怎么办。 具体来说,根据使用者的性质分为两种:普通用户和管理员普通用户密码忘记:a、重新启动电脑——进入系统登录界面时,按住Ctrl Alt键,连续点击Del键两次——出现新的登录页面——用户名输入:Administrator,密码不用填——回车即登录了;b、登录之后:打开控制面板——点击用户账户——进入更改账户——点击原来的“账户名”——更改我的密码——输入新密码——根据提示再次输入新密码——最后点击“更改密码”就全部完成了。 管理员密码忘记:对于管理员密码忘记,笔者这里出了三种方法,绝对清楚。 第一种:a、重新启动电脑,开机后一直按着F8键不动——会出现高级选项画面——松开手,选择“命令提示符的安全模式”——点击回车。 b、这时,系统会列出超级用户“administrator”和本地用户“*****”的选择菜单——用鼠标单击“administrator”——会进入命令行模式。 c、在命令行模式里输入:“net user ***** /add”——强制性将“*****”用户的口令更改,若想在此添加新用户,可以输入“net user abcdef 更改的口令 /add”——完成后可用“net localgroup administrators abcdef /add”命令将用户提升为系统管理组“administrators”的用户,并使其具有超级权限。 d、出现驱动计算机,选择正常模式运行,然后利用更改的口令登录“*****”用户就可以了。 第二种:用Windows xp系统安装光盘破解管理员密码a、首先将系统设为光盘启动——放入系统安装光盘——出现第一个选择界面点击回车——出现第二个选择界面后按“R”键开始修复安装——安装程序会复制文件。 文件复制完成后,系统将自动重启。 b、重启后,系统将进入图形化安装界面,此时需要密切注视界面的左下角——出现“正在安装设备”进度条——立即按下组合键“Shift F10”——会有一个命令提示符窗口出现。 c、在命令提示符窗口中输入“”——回车——打开“本地用户和组”管理工具——点击左侧的“用户”——再右击右侧的管理员账户——选择“设置密码”,这时,会弹出一个警告窗口。 点击“继续”——输入新密码——单击确定——关闭“本地用户和组”和“命令提示符”窗口——继续完成修复安装就全部完成了。 第三种a、删除系统安装目录system32 config下的SAM文件b、重新启动,此时管理员Administrator账 号已经没有密码了——用Administrator帐户登陆系统,不需要密码,进入系统后再重新设置登陆帐户密码即可。
上传到百度网盘的资料别人看得见吗
上传到网络网盘的资料别人是看不见的。 网络云网盘是私密空间,只有账号和密码登录后才能查看内容,或者只有把某个文件公开分享,生成分享链接,别人通过公开分享的链接点进去后,才能看到分享的文件,除此之外,任何人不能查看其他人的云端文件的。 延伸阅读:网络网盘简介:网络网盘是网络推出的一项云存储服务,是网络云的其中一个服务,首次注册即有机会获得15GB的空间,目前有Web版、Windows客户端、Android手机客户端、iPhone版、iPad版、WinPhone版等,用户可以轻松把自己的文件上传到网盘上,并可以跨终端随时随地查看和分享。 网络云网盘,是网络公司推出的一项提供用户Web、PC、Android、iPhone和WindowsPhone手机客户端多平台数据共享的云存储服务。 该服务依托于网络强大的云存储集群机制,发挥了网络强有力的云端存储优势,提供超大的网络存储空间。
妖精守卫者 破解版卸载数据包方法
妖精守卫者 破解版卸载数据包文件一般是通过电脑工具卸载和在手机上直接卸载两种方式。 方式一:通过电脑工具卸载推荐使用拇指玩游戏助手,一键轻松、彻底卸载数据包文件。 1、手机成功与电脑连接,打开拇指玩游戏助手2、选择我的游戏,你能清楚的看到你手机中的游戏是否含有数据包3、点击需要卸载游戏后面的“卸载”按钮,弹出提示后点击确定。 4、到这里就结束了,怎么样非常方便吧!方法二:手机上直接卸载从手机上卸载比使用《拇指玩游戏助手》要麻烦很多,因为需要知道游戏的包名,才能正确的删除数据包,否则很有可能删错文件,导致部分功能不能使用!但考虑到有些用户身边可能没有电脑但又想卸载数据包文件的时候,就需要通过这种方式,前提是手机上需要安装《ES文件浏览器》、《RE管理器》、《SolidExplorer》等类似软件,安装这些软件需要ROOT手机权限。 有人会问这个软件是干什么的呢,这类软件最大的特点在于它能够删除手机中自带的应用程序,新建文件夹,查看/编辑文件,删除文件。 等等,是个非常强大的软件。 小编这里用的是《SolidExplorer》 拿小编刚刚安装的游戏“勇者斗恶龙8”举例,这是一款带有数据包的游戏。 1、打开《SolidExplorer》选择内部储存 2、游戏的数据包文件一般在两个路径:1)Android/date/2)Android/obb/我们到这里面去找就好了。 3、通过文件后面显示的安装日期,我们在Android/obb/里面找到了我们要找的数据包4、按住要删除的数据包文件1-3秒,就会弹出功能选择项 5、选择删除,点击确认。 至此这个数据包文件就彻底从手机上删除了。 对于那种无法确定是否是数据包的文件,请谨慎操作。 这里也给大家介绍一个方便清理的软件《拇指玩游戏助手》,下载安装后点击开始扫描即可查询到残留的数据包文件,方便大家清理无用数据包,腾出更多的空间。 妖精守卫者 破解版官方介绍:厌倦了千篇一律的老式塔防游戏?Goblin Defenders:Battles of SteelnWood 打破了传统,因为它是一款全方位真正独特的游戏!为什么要像大多数其他游戏那样从一个方向击退大群的进攻者?厌倦了?那就试试击退从各个角度袭来的敌人!这就是 Goblin Defenders:Battles of SteelnWood 的特色所在!从四种枪开始,突破成群的攻击者,随着游戏的进展,稳步升级!但要注意,游戏变得越来越困难,因为敌人会从越来越多的方向进攻!因此,升级你的枪炮和…妖精守卫者版本:1.0发布:2013-09-25大小:110.47M分类:策略塔防语言:中文适用:1.0下载:6631次开发商:Alawar Entertainment, Inc.立即查看
发表评论