zoukankan      html  css  js  c++  java
  • Webview跨域访问风险

    漏洞原理:
    WebView对象的行为是通过WebSettings类进行设置的,如果配置不当,攻击者就可以利用该漏洞可以打破Android沙盒隔离机制,从而通过某个应用来攻击其它应用,盗取其它应用本地保存的配置文件、敏感信息等。

    主要利用了android.webkit.WebSettings类中setAllowFileAccess()、setJavaScriptEnabled()、setAllowFileAccessFromFileURLs()、setAllowUniversalAccessFromFileURLs()四个方法配置不当(允许webview使用file协议并允许使用javaScript)的风险,并配合Activity组件暴露漏洞进行攻击。

    <strong>setAllowFileAccess()</strong>
    // 启用或禁用Webview中的文件访问,默认是true
    webView.getSettings().setAllowFileAccess(true);
     
    <strong>setJavaScriptEnabled()</strong>
    // 设置webview是否启用javascript执行,默认是false,设置为true就是启用javascript执行。
    webview.getWebSettings().setJavaScriptEnabled(true);
     
    <strong>setAllowFileAccessFromFileURLs()</strong>
    // 设置是否允许通过 file url 加载的文件中Js代码读取其他的本地文件。
    // 需要注意的是如果getAllowUniversalAccessFromFileURLs()的值为true,则此设置的值将被忽略。要启用最严格的安全策略,应该禁用此设置:
    webView.getSettings().setAllowFileAccessFromFileURLs(false);
    // Api级别15及以下,默认是true
    // Api级别JELLY_BEAN(API级别16,android4.1版本代号,中文翻译果冻豆)及以上默认是false
     
    <strong>setAllowUniversalAccessFromFileURLs()</strong>
    // 设置是否允许通过 file url 加载的 Javascript 可以访问其他的源(包括http、https等源)
    webView.getSettings().setAllowUniversalAccessFromFileURLs(true);
    // Api级别15及以下,默认是true
    // Api级别JELLY_BEAN(API级别16,android4.1版本代号,中文翻译果冻豆)及以上默认是false
    View Code
  • 相关阅读:
    Win10 UWP Tile Generator
    Win10 BackgroundTask
    UWP Tiles
    UWP Ad
    Win10 build package error collections
    Win10 八步打通 Nuget 发布打包
    Win10 UI入门 pivot multiable DataTemplate
    Win10 UI入门 导航滑动条 求UWP工作
    UWP Control Toolkit Collections 求UWP工作
    Win10 UI入门 SliderRectangle
  • 原文地址:https://www.cnblogs.com/sprinng/p/8284006.html
Copyright © 2011-2022 走看看