b***@163.com
b***@163.com
  • 发布:2023-03-15 09:24
  • 更新:2023-03-15 09:51
  • 阅读:226

云打包报Webview远程代码执行漏洞

分类:ASK社区

用例名称 Webview远程代码执行漏洞

风险编号 ASN_2021_18, CVE-2012-4008, CNVD-2012-4657, CWE-264, OWASP Mobile Top 10 2016 M7 – Client Code Quality(客户端代码质量), GB/T 22239-2019 信息安全技术 网络安全等级保护基本要求 8.1.4.8 数据保密性, 移动互联网应用软件安全通用技术规范 4.3.1 组件安全, SZDB/Z 204-2016 (7章3.4小节)
风险描述 Android系统通过WebView.addJavascriptInterface方法注册可供JavaScript调用的Java对象,以用于增强JavaScript的功能。但是系统并没有对注册Java类的方法调用的限制。导致攻击者可以利用反射机制调用未注册的其它任何Java类,最终导致JavaScript能力的无限增强。攻击者利用该漏洞可以根据客户端能力实现远程任意代码执行攻击。 WebView 远程代码执行漏洞触发前提条件: 1)使用addJavascriptInterface方法注册可供JavaScript调用的Java对象; 2)使用WebView加载外部网页或者本地网页; 3)Android系统版本低于4.2。

检测过程
1、基于深度静态检测技术DSAST进行破壳/逆向分析等获取客户端程序Java源文件。
2、对构成源程序的字符流进行扫描,通过词法分析,生成相关符号列表。
3、进行语法分析,整理成语法树,通过抽象语法树分析,将程序组织成树形结构,构造Java类和函数库。
4、进行语义分析,生成函数调用关系图,依据漏洞特征,遍历Java类和函数库,发现存在WebView远程代码执行的可能,具体表现为使用addJavascriptInterface接口。

相关文件名/行:
classes.dex
相关程序代码段如下:
第1处:
在【来自:DCloud】io.dcloud.feature.weex.adapter.webview.DCWXWebView 类的 private initWebView(Landroid/webkit/WebView;)V 方法,使用了函数 Landroid/webkit/WebView;->addJavascriptInterface(Ljava/lang/Object;Ljava/lang/String;)V
第2处:
在【来自:weex】com.taobao.weex.ui.view.WXWebView 类的 private initWebView(Landroid/webkit/WebView;)V 方法,使用了函数 Landroid/webkit/WebView;->addJavascriptInterface(Ljava/lang/Object;Ljava/lang/String;)V
风险等级
检测结果 存在风险,2处
修复建议 1、在客户端启动时检测Android版本,如果是Android4.2及以下版本则提示用户或者退出。
2、使用addJavascriptInterface接口时,
用以下方式增强安全性:
1) 使用HTTPS协议加载URL,应进行证书校验防止访问的页面被篡改挂马;
2) 使用HTTP协议加载URL,应进行白名单过滤、完整性校验等防止访问的页面被篡改;
3) 加载本地Html,应将html文件内置在APK中,以及进行对html页面完整性的校验 。
3、不需使用时可通过以下方式移除Javascript接口:
removeJavascriptInterface(""searchBoxJavaBridge_"");
removeJavascriptInterface(""accessibility"");
removeJavascriptInterface(""accessibilityTraversal"")。

现在在做等保测试,不知这个问题如何处理。HBuilderX 3.7.3

2023-03-15 09:24 负责人:无 分享
已邀请:
FullStack

FullStack - 【插件开发】【专治疑难杂症】【ios上架、马甲包、白包、过审、已成功上架过几百个】【多款插件已上架:https://ext.dcloud.net.cn/publisher?id=22130】【非诚勿扰】QQ:543610866

这是uni-app 与 原生交互 需要用到的代码

  • b***@163.com (作者)

    但是等保测评 测出是高危 如何处理,android 编译最小版本号是21

    2023-03-15 10:02

  • 1***@qq.com

    回复 b***@163.com: 楼主有解决吗?

    2024-08-12 11:58

要回复问题请先登录注册