美文网首页
webview漏洞

webview漏洞

作者: 木叶纷飞 | 来源:发表于2021-06-01 16:01 被阅读0次

    1. webView绕过证书校验漏洞(客户端访问使用Https协议加密的url时,如果服务器证书校验错误,客户端应该拒绝继续加载页面)

    解决方案:如果服务器证书校验错误,客户端应该拒绝继续加载页面

    2 Webview明文存储密码风险,webview默认打开了提示用户是否保存密码的功能,需设置自动保存密码功能,通过设置webview.getSettings().setSavePassWord(false)关闭webview组件的保存密码功能。

    3. Webview File同源策略绕过漏洞:

    setAllowFileAccess(true);//设置为 false 将不能加载本地 html 文件

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

    setAllowFileAccessFromFileURLs(false);

    //设置是否允许通过fileurl加载的Javascript可以访问其他任何的源,也就是说,它包括其他的文件和http,https等其他的源(同源跨域访问)

    setAllowUniversalAccessFromFileURLs(false);

    if (url.startsWith("file://") {

        setJavaScriptEnabled(false);} else {

        setJavaScriptEnabled(true);}

    4. Webview远程代码执行漏洞:Webview是Android用于浏览网页的组件,其包含的接口函数addJavascriptInterface可以将Java类或方法导出以供JavaScript调用,实现网页JS与本地JAVA的交互。由于系统没有限制已注册JAVA类的方法调用,因此未注册的其它任何JAVA类也可以被反射机制调用,这样可能导致被篡改的URL中存在的恶意代码被执行,用户手机被安装木马程序,发送扣费短信,通信录或者短信被窃取,甚至手机被远程控制。

    5.未移除有风险的Webview系统隐藏接口android webview组件包含3个隐藏的系统接口:searchBoxJavaBridge, accessibilityTraversal以及accessibility,恶意程序可以利用它们实现远程代码执行。需通过显示调用removeJavascriptInterface移除这三个系统隐藏接口。

    mWebView.removeJavascriptInterface("searchBoxJavaBridge_");mWebView.removeJavascriptInterface("accessibility");mWebView.removeJavascriptInterface("accessibilityTraversal");

    6.WebView忽略SSL证书错误

    WebView调用onReceivedSslError方法时,直接执行handler.proceed()来忽略该证书错误。忽略SSL证书错误可能引起中间人攻击

    应用数据任意备份风险,allowBackup设置true时,会泄露用户敏感信息

    拒绝服务攻击漏洞,将不必要导出的组件相应的exported属性设置为false

    7.加固壳识别、JAVA代码反编译风险、应用签名未校验风险、WebView明文存储密码风险、WebView同源策略绕过漏洞、动态调试攻击风险违规行为

    相关文章

      网友评论

          本文标题:webview漏洞

          本文链接:https://www.haomeiwen.com/subject/coowsltx.html