昵称也有唯一键
建议搞一个专门的页面,用于提交这些信息,重复的信息就自动过滤掉,这样你们也不用人工查看所有用户提交的信息了,这个页面上你们还可以公示对每个风险的处理进程,是正在处理,还是等待排期等
hbuilder的版本号是3.1.18,我们检测出了很多高风险,大部分是下面这2个域名导致的
com.kwad.sdk.contentalliance.coupon.a.a
com.ak.torch.landingpage.a
这2个是什么SDK的域名?我们只添加了广告联盟里面那几个广告SDK。
另外下面这个风险是什么意思?其中nqhao.com是我们的域名。
Android主机名\证书弱校验风险 高风险 在实现的HostnameVerifier子类中未对主机名做效验或者未对服务端证书进行校验,这样会导致恶意程序利用中间人攻击绕过主机名效验和证书校验。 展开详情
漏洞代码:
<com.nqhao.CustomTrustMgr: void checkServerTrusted(java.security.cert.X509Certificate[],java.lang.String)>
文件位置:
classes2.dex
修复建议:
1.实现对主机的校验,包括主机名的校验以及主机证书的校验。 2.在HostnameVerify子类中实现verify函数实现对服务器端主机名的合法性校验 3.在X509TrustManager子类中实现checkServerTrusted函数效验服务器端证书的合法性
然后dcloud.io只检测出低风险,如下:
Broadcast Receiver组件暴露风险(含动态注册) 低风险 在android中使用Broadcast接收广播的过程中,当receiver没有进行合适的配置时,可能导致攻击者构造广播发送给被攻击recevier。导致被攻击应用接受到错误信息,从而导致进一步的危害。 展开详情
漏洞代码:
<io.dcloud.feature.ad.dcloud.ADHandler$AdData: void listenADReceive(android.content.Context,io.dcloud.feature.ad.dcloud.IADReceiver)>
文件位置:
classes.dex
修复建议:
1.如果应用的Receiver组件不必要导出,或者组件配置了intent filter标签,建议在AndroidManifest.xml文件中设置组件的“android:exported”属性为false 2.如果组件必须要提供给外部应用使用,建议对组件进行权限控制
SendBroadcast信息泄漏风险 低风险 Broadcast是android的常用组件之一,可用于程序间和程序内部用来传播消息和数据,当Broadcast使用不当时,可能会导致发送的信息被其他恶意应用获取,导致信息泄漏。 展开详情
漏洞代码:
<io.dcloud.feature.ad.dcloud.ADHandler$ADReceiver: void broadcastADReceive()>
文件位置:
classes.dex
修复建议:
1.建议使用显式调用方式发送Intent 2.进程内发送消息建议使用LocalBroadcastManager 3.使用权限限制接收范围,如使用sendBoardcast(Intent, receiverPermission)替代sendBoardcast(Intent)
Broadcast Receiver组件暴露风险(含动态注册) 低风险 在android中使用Broadcast接收广播的过程中,当receiver没有进行合适的配置时,可能导致攻击者构造广播发送给被攻击recevier。导致被攻击应用接受到错误信息,从而导致进一步的危害。 展开详情
漏洞代码:
<io.dcloud.c: void registerReceiver(io.dcloud.feature.internal.reflect.BroadcastReceiver,android.content.IntentFilter)>
文件位置:
classes.dex
修复建议:
1.如果应用的Receiver组件不必要导出,或者组件配置了intent filter标签,建议在AndroidManifest.xml文件中设置组件的“android:exported”属性为false 2.如果组件必须要提供给外部应用使用,建议对组件进行权限控制
2021-07-26 22:02