i***@163.com
i***@163.com
  • 发布:2020-09-08 18:17
  • 更新:2021-11-23 14:41
  • 阅读:2551

安卓打包 Webview远程代码执行漏洞、Webview明文存储密码风险、组件导出风险

分类:uni-app

1.Webview远程代码执行漏洞
【风险等级】高风险
【漏洞描述】
Webview是Android用于浏览网页的组件,其包含的接口函数addJavascriptInterface可以将Java类或方法导出以供JavaScript调用,实现网页JS与本地JAVA的交互。由于系统没有限制已注册JAVA类的方法调用,因此未注册的其它任何JAVA类也可以被反射机制调用,这样可能导致被篡改的URL中存在的恶意代码被执行,用户手机被安装木马程序,发送扣费短信,通信录或者短信被窃取,甚至手机被远程控制。
【修复建议】
取消使用addJavascriptInterface接口,以其他Java与JavaScript互通方案代替;若必须使用,则应对访问的url进行过滤限制或对html页面进行完整性校验,同时显示移除对指定的javascript接口的调用:removeJavascriptInterface(searchBoxJavaBridge_)emoveJavascriptInterface(accessibility);removeJavascriptInterface(accessibilityTraversal)。

2.Webview明文存储密码风险
【风险等级】高风险
【漏洞描述】
Android的Webview组件中默认打开了提示用户是否保存密码的功能,如果用户选择保存,用户名和密码将被明文存储到该应用目录databases/webview.db中。而本地明文存储的用户名和密码,不仅会被该应用随意浏览,其他恶意程序也可能通过提权或者root的方式访问该应用的webview数据库,从而窃取用户登录过的用户名信息以及密码。
【修复建议】
通过设置WebView.getSettings().setSavePassword(false)关闭webview组件的保存密码功能。

3.组件导出风险
【风险等级】中风险
【漏洞描述】
组成Apk的四个组件,Activity,Service,Broadcast Receiver 和Content Provider,如果设置了导出权限,都可能被系统或者第三方的应用程序直接调出并使用。组件导出可能导致登录界面被绕过、信息泄露、数据库SQL注入、DOS、恶意调用等风险。
【修复建议】
关闭AndroidManifest.xml中的组件导出权限,对于必须导出的组件必须限制于授权用户或者应用组件。

2020-09-08 18:17 负责人:无 分享
已邀请:
DCloud_Android_ST

DCloud_Android_ST

使用HX3.2.12+打安装包 以上漏洞问题均不存在
关于JavascriptInterface仅在低版本系统存在漏洞。目前最低版本支持4.4不存在该漏洞

  • 6***@qq.com

    是不是只要没有databases/webview.db这个文件就表示不会泄露密码吧?

    2022-03-31 15:07

  • DCloud_Android_ST

    回复 6***@qq.com: 不打包就不会发布 泄露什么 还有有事私信留言吧 不在此贴回复其他问题

    2022-03-31 15:10

  • maobuyi

    使用3.3.13打包了,漏洞依然存在

    2023-05-16 15:49

4***@qq.com

4***@qq.com

您说的这个问题 在代码的 哪里设置呀 WebView.getSettings().setSavePassword(false)关闭webview组件的保存密码功能

xiaozuo28

xiaozuo28 - 暂无

我也遇到了,请问该怎么解决呢?具体是怎么设置呢?

5***@qq.com

5***@qq.com

您好,请问后面怎么解决的

该问题目前已经被锁定, 无法添加新回复