首页 > 编程知识 正文

本地html跨域问题,浏览器允许跨域

时间:2023-05-06 18:17:13 阅读:47089 作者:406

漏洞原理:

WebView对象的行为是在WebSettings类中设置的,如果设置不正确,攻击者可以利用此漏洞打破Android沙箱隔离机制,通过一个APP应用程序攻击另一个APP应用程序来阻止其他APP应用程序

主要是android.webkit.WebSettings类的setAllowFileAccess ()、setJavaScriptEnabled )、setAllowFileAccessFromFileURLs )和setall setal 4种方法配置不正确(webview使用file协议且可以使用javaScript )的风险,以及与Activity组件一起暴露漏洞进行攻击。

setAllowFileAccess (

启用或禁用Webview中的文件访问。 默认值为true

webView.getSettings ().setallowfileaccess ) ) true;

setJavaScriptEnabled (

设置webview是否启用javascript运行。 默认值为false,如果设置为true,则启用javascript运行。

webview.getWebSettings ().setjavascriptenabled ) ) true;

setAllowFileAccessFromFileURLs (

设置是否允许用通过file url加载的文件中的Js代码读取其他本地文件。

请注意,如果//getallowuniversalaccessfromfileurls ()的值为true,则忽略此设置的值。 要启用最严格的安全策略,必须禁用此设置:

webView.getSettings ().setallowfileaccessfromfileurls ) ) false;

//Api等级15以下,默认为true

//Api等级Jelly_bean(API等级16、安卓4.1版、中文翻译果冻豆)以上默认为false

setallowuniversalaccessfromfileurls ()

设置在file url中加载的Javascript是否可以访问其他源代码(包括http、https等源代码)

webView.getSettings ().setallowuniversalaccessfromfileurls ) ) true;

//Api等级15以下,默认为true

//Api等级Jelly_bean(API等级16、安卓4.1版、中文翻译果冻豆)以上默认为false

漏洞危害:

攻击者利用配置不正确的风险,让用户单击攻击链接,在本地生成html文件,然后使用intent对象将恶意html的文件URL传递给被攻击app可导出的组件。 使被攻击app加载本地生成的html文件中的恶意js,达到窃取存储在用户其他app应用程序专用目录中的敏感喜悦和配置文件的目的。 导致隐私信息的泄露,对IM类软件导致聊天信息、联系方式等重要信息的泄露,对浏览器类软件多是cookie信息的泄露。

以某个APP为例,有形成该漏洞的原因和进行测试的方法。

1 )如图5所示,webview类继承webview类,设置为允许file协议,并启用了javascript执行;

2 )如果查看使用此X5Webview类的Activity,就会发现URL来自intent传递的对象,并且在不执行白名单处理的情况下直接启动了Activity。

3、然后发现这个活动可以导出。 图:

根据以上三点,攻击者可以使用恶意链接生成本地恶意攻击html,并将恶意html的file路径传递给可导出组件。 当此组件访问html文件并运行其中的恶意js时,攻击者将检索专用目录中的文件。

最后编辑: 2018-01-14作者: admin

这位作者好像有点懒,什么也没留下。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。