2***@qq.com
2***@qq.com
  • 发布:2018-09-29 09:43
  • 更新:2019-01-23 17:01
  • 阅读:3986

H5App 安全检测出风险漏洞,怎么解决

分类:HBuilder

【高危】WebView远程代码执行
风险详情:
APP 在 Android API level 16 以及之前使用 addJavascriptInterface 方法时,存在敏感数据存储泄漏和被远程控制的风险。
修复建议:
1.避免在 API level 16 以及之前使用 addJavascriptInterface。
2.确保加载可信的 JavaScript。
风险代码:
io.dcloud.common.adapter.ui.AdaWebview.addJsInterface : 1017
invoke-virtual {v0 p2 p1} Lio/dcloud/common/adapter/ui/WebViewImpl;
addJavascriptInterface (Ljava/lang/Object; Ljava/lang/String;)V
io.dcloud.common.adapter.ui.WebViewImpl.addJavascriptInterface : 2657
invoke-super {p0 p1 p2} Landroid/webkit/WebView; addJavascriptInterface
(Ljava/lang/Object; Ljava/lang/String;)V
io.dcloud.common.adapter.ui.ReceiveJSValue.addJavascriptInterface : 55
invoke-virtual {v0 v1 v2} Lio/dcloud/common/adapter/ui/WebViewImpl;
addJavascriptInterface (Ljava/lang/Object; Ljava/lang/String;)V

【高危】WebView应用克隆风险
风险详情:
APP使用WebView访问网络,当开启了允许JS脚本访问本地文件,一旦访问恶意网址,存在被窃取APP数据并复制APP的运行环境,造成“应用克隆”的后果,可能造成严重的经济损失。
修复建议:
建议禁用setAllowFileAccessFromFileURLs和setAllowUniversalAccessFromFileURLs;若需要允许JS访问本地文件,则应使用白名单等策略进行严格的访问控制。
风险代码:
io.dcloud.common.adapter.ui.WebViewImpl.init : 2085
invoke-virtual {v0 v7} Landroid/webkit/WebSettings; setAllowFileAccessFromFileURLs (Z)V
v7 = 0x1
io.dcloud.common.adapter.ui.WebViewImpl.init : 2084
invoke-virtual {v0 v7} Landroid/webkit/WebSettings; setAllowUniversalAccessFromFileURLs
(Z)V
v7 = 0x1

【高危】WebView未校验HTTPS证书
风险详情: APP 的 WebView 证书认证错误时,未取消加载页面,存在中间人攻击风险。
修复建议: 使用 handler.cancel() 停止加载问题页面。
风险代码:
io.dcloud.feature.ad.a.e$1.onReceivedSslError : 90
invoke-virtual {p2} Landroid/webkit/SslErrorHandler; proceed ()V
Risk: invoke proceed() on SSL Error
io.dcloud.common.adapter.ui.WebLoadEvent.onReceivedSslError : 812
invoke-virtual {p2} Landroid/webkit/SslErrorHandler; proceed ()V
Risk: invoke proceed() on SSL Error
io.dcloud.WebviewActivity$2.onReceivedSslError : 259
invoke-virtual {p2} Landroid/webkit/SslErrorHandler; proceed ()V
Risk: invoke proceed() on SSL Error

【中危】WebView同源策略绕过
风险详情: APP 的 WebView 加载本地资源文件并启用 JavaScript 时,存在信息泄漏风险。
修复建议: 避免同时使用 File 协议与 JavaScript。
风险代码:
io.dcloud.WebviewActivity.a : 160
invoke-virtual {v0 v5} Landroid/webkit/WebSettings; setAllowFileAccess (Z)V
v5 = 0x1
io.dcloud.common.adapter.ui.WebViewImpl.init : 2085
invoke-virtual {v0 v7} Landroid/webkit/WebSettings; setAllowFileAccessFromFileURLs (Z)V
v7 = 0x1
io.dcloud.common.adapter.ui.WebViewImpl.init : 2084
invoke-virtual {v0 v7} Landroid/webkit/WebSettings; setAllowUniversalAccessFromFileURLs
(Z)V
v7 = 0x1
io.dcloud.feature.ad.a.e.<init> : 50
invoke-virtual {v0 v4} Landroid/webkit/WebSettings; setAllowFileAccess (Z)V
v4 = 0x1
io.dcloud.common.adapter.ui.WebViewImpl.init : 2135
invoke-virtual {v0 v7} Landroid/webkit/WebSettings; setAllowFileAccess (Z)V
v7 = 0x1

【中危】WebView暴露危险接口
风险详情:
APP 在 Android API level ≤16 使用 addJavascriptInterface 方法,并且未移除危险接口时,存在信息泄漏和被远程控制的风险。
修复建议:
1.避免在 API level ≤16 使用 addJavascriptInterface。
2.在必须使用 addJavascriptInterface时确保显式移除 searchBoxJavaBridge_、accessibility、accessibilityTraversal。
风险代码:
io.dcloud.common.adapter.ui.AdaWebview.addJsInterface : 1017
invoke-virtual {v0 p2 p1} Lio/dcloud/common/adapter/ui/WebViewImpl;
addJavascriptInterface (Ljava/lang/Object; Ljava/lang/String;)V
io.dcloud.common.adapter.ui.WebViewImpl.addJavascriptInterface : 2657
invoke-super {p0 p1 p2} Landroid/webkit/WebView; addJavascriptInterface
(Ljava/lang/Object; Ljava/lang/String;)V
io.dcloud.common.adapter.ui.ReceiveJSValue.addJavascriptInterface : 55
invoke-virtual {v0 v1 v2} Lio/dcloud/common/adapter/ui/WebViewImpl;
addJavascriptInterface (Ljava/lang/Object; Ljava/lang/String;)V

2018-09-29 09:43 负责人:无 分享
已邀请:
风衣

风衣

到处都在暴露dcloud安全风险问题,没有什么改进计划吗

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