0

高危漏洞

6

中危漏洞

4

低危漏洞

10

警告

文件名 2_8ee7d2c47bd3e07bfed98e5816a034a3.apk
上传者 wafawf
文件大小 26.850608825684MB
MD5 0405ea8417e6b049d3fd90a271cf7b99
包名 com.yoosee
Main Activity com.jwkj.activity.LogoActivity
Min SDK 16
Target SDK 26

权限列表

# 名称 说明 提示
0 android.permission.ACCESS_COARSE_LOCATION 访问大概的位置源(例如蜂窝网络数据库)以确定手机的大概位置(如果可以)。恶意应用程序可借此确定您所处的大概位置。 注意
1 android.permission.ACCESS_FINE_LOCATION 访问精准的位置源,例如手机上的全球定位系统(如果有)。恶意应用程序可能会借此确定您所处的位置,并可能消耗额外的电池电量。 注意
2 android.permission.BLUETOOTH 允许应用程序查看本地蓝牙手机的配置,以及建立或接受与配对设备的连接。 注意
3 android.permission.BROADCAST_STICKY 允许应用程序发送顽固广播,这些广播在结束后仍会保留。恶意应用程序可能会借此使手机耗用太多内存,从而降低其速度或稳定性。 注意
4 android.permission.CHANGE_WIFI_MULTICAST_STATE 允许应用程序接收并非直接向您的设备发送的数据包。这样在查找附近提供的服务时很有用。这种操作所耗电量大于非多播模式。 注意
5 android.permission.GET_TASKS 允许应用程序检索有关当前和最近运行的任务的信息。恶意应用程序可借此发现有关其他应用程序的保密信息。 注意
6 android.permission.READ_PHONE_STATE 允许应用程序访问设备的手机功能。有此权限的应用程序可确定此手机的号码和序列号,是否正在通话,以及对方的号码等。 注意
7 android.permission.RECEIVE_BOOT_COMPLETED 允许应用程序在系统完成启动后即自行启动。这样会延长手机的启动时间,而且如果应用程序一直运行,会降低手机的整体速度。 注意
8 android.permission.RECORD_AUDIO 允许应用程序访问录音路径。 注意
9 android.permission.SYSTEM_ALERT_WINDOW 允许应用程序显示系统警报窗口。恶意应用程序可借此掌控整个手机屏幕。 注意
10 android.permission.WRITE_SECURE_SETTINGS 允许应用程序修改系统的安全设置数据。普通应用程序不能使用此权限。 注意
11 android.permission.WRITE_SETTINGS 允许应用程序修改系统设置方面的数据。恶意应用程序可借此破坏您的系统配置。 注意
12 android.permission.ACCESS_NETWORK_STATE 允许应用程序查看所有网络的状态。 提示
13 android.permission.ACCESS_WIFI_STATE 允许应用程序查看有关WLAN状态的信息。 提示
14 android.permission.BLUETOOTH_ADMIN 允许应用程序配置本地蓝牙手机,以及发现远程设备并与其配对。 提示
15 android.permission.CAMERA 允许应用程序使用相机拍照,这样应用程序可随时收集进入相机镜头的图像。 提示
16 android.permission.CHANGE_NETWORK_STATE 允许应用程序更改网络连接的状态。 提示
17 android.permission.CHANGE_WIFI_STATE 允许应用程序连接到WLAN接入点以及与WLAN接入点断开连接,并对配置的WLAN网络进行更改。 提示
18 android.permission.INTERNET 允许程序访问网络. 提示
19 android.permission.MOUNT_UNMOUNT_FILESYSTEMS 允许应用程序装载和卸载可移动存储器的文件系统。 提示
20 android.permission.READ_LOGS 允许应用程序从系统的各日志文件中读取信息。这样应用程序可以发现您的手机使用情况,但这些信息不应包含任何个人信息或保密信息。 提示
21 android.permission.RESTART_PACKAGES 允许程序自己重启或重启其他程序 提示
22 android.permission.VIBRATE 允许应用程序控制振动器。 提示
23 android.permission.WAKE_LOCK 允许应用程序防止手机进入休眠状态。 提示
24 android.permission.WRITE_EXTERNAL_STORAGE 允许应用程序写入SD卡。 提示

四大组件

组件名称

com.jwkj.activity.LogoActivity
com.jwkj.activity.MainActivity
com.jwkj.activity.LoginActivity
com.jwkj.CallActivity
com.jwkj.activity.VerifyPhoneActivity
com.jwkj.activity.AboutActivity
com.jwkj.VideoActivity
com.jwkj.activity.SettingSystemActivity
com.jwkj.activity.CutImageActivity
com.jwkj.activity.AccountInfoActivity
com.jwkj.activity.LocalDeviceListActivity
com.jwkj.activity.SettingBellRingActivity
com.jwkj.activity.SettingSdBellActivity
com.jwkj.activity.MainControlActivity
com.jwkj.activity.DeviceUpdateActivity
com.jwkj.activity.QRcodeActivity
com.jwkj.activity.AlarmRecordActivity
com.jwkj.activity.ForwardActivity
com.jwkj.activity.ForwardDownActivity
com.jwkj.activity.AlarmSetActivity
com.jwkj.VasPlayBackListActivity
com.jwkj.PlayBackListActivity
com.jwkj.PlayBackActivity
com.jwkj.activity.SysMsgActivity
com.jwkj.activity.SearchListActivity
com.jwkj.activity.ModifyBoundEmailActivity
com.jwkj.activity.ModifyAlarmIdActivity
com.jwkj.activity.AddAlarmMaskIdActivity
com.jwkj.activity.ModifyNpcPasswordActivity
com.jwkj.activity.AddContactActivity
com.jwkj.activity.AddContactNextActivity
com.jwkj.activity.ModifyContactActivity
com.jwkj.activity.ModifyLoginPasswordActivity
com.jwkj.activity.SysNotifyActivity
com.jwkj.activity.UnbindPhoneActivity
com.jwkj.activity.ModifyAccountEmailActivity
com.jwkj.activity.ModifyAccountPhoneActivity
com.jwkj.activity.ModifyAccountPhoneActivity2
com.jwkj.activity.ForgetPassword
com.jwkj.activity.ModifyNpcVisitorPasswordActivity
com.jwkj.activity.WifiListActivity
com.jwkj.activity.CreateQRcodeActivity
com.jwkj.activity.AlarmPushAccountActivity
com.jwkj.activity.ImageSeeActivity
com.jwkj.activity.ConfigureDeviceWiFiActivity
com.jwkj.activity.AddWaitActicity
com.jwkj.activity.RadarAddFirstActivity
com.jwkj.activity.DoorBellActivity
com.jwkj.activity.AddApDeviceActivity
com.jwkj.APdeviceMonitorActivity
com.jwkj.activity.ModifyApWifiPwd
com.jwkj.activity.AlarmWithPictrueActivity
com.jwkj.activity.ApMonitorActivity
com.jwkj.activity.AlarmPictrueActivity
com.jwkj.activity.MallActivity
com.jwkj.activity.RecommendInformationActivity
com.jwkj.activity.RecommendProductActivity
com.jwkj.activity.AddTimeGroupActivity
com.jwkj.activity.ModifySensorActivity
com.jwkj.activity.SendSoundWaveGuideActivity
com.jwkj.activity.DefenceAreaControlActivity
com.jwkj.activity.BindingLocationActivity
com.jwkj.activity.FTPControlActivity
com.jwkj.activity.DefenceSelectTimeActivity
com.jwkj.activity.RetPwdActivity
com.jwkj.activity.BindingLocationActivity2
com.jwkj.activity.RegisterActivity
com.jwkj.activity.RegisterByPhoneActivity
com.jwkj.activity.RetpwdByPhoneActivity
com.jwkj.activity.NetworkModeActivity
com.jwkj.activity.PrepareCameraActivity
com.jwkj.activity.DeviceReadyActivity
com.jwkj.activity.ApModeListActivity
com.jwkj.activity.WaitApConnectWifiActivity
com.jwkj.activity.UnableConnectWifiActivity
com.jwkj.MonitorActivity
com.jwkj.ApModeMonitorActivity
com.jwkj.PanoramaActivity
com.jwkj.ApModePanoramaActivity
com.yoosee.wxapi.WXEntryActivity
com.jwkj.activity.WXBindActivity
com.jwkj.activity.ChooseEmailTypeActivity
com.jwkj.activity.ApToSettingWifiActivity
com.jwkj.activity.WebPageActivity
com.jwkj.activity.FeedBackActivity
com.jwkj.activity.ChangeFocusZoomActivity
com.facebook.CustomTabActivity
com.jwkj.activity.ModifyRTSPPasswordActivity
com.jwkj.activity.ConfigurationDeviceActivity
com.jwkj.activity.DeviceBindMasterAndAddVisitorActivity
com.jwkj.activity.SetDevicePwdActivity
com.jwkj.activity.ShareAndVisitorListActivity
com.jwkj.activity.AddShareDeviceActivity
com.vexigon.libraries.onboarding.ui.activity.UserBenefitsActivity
com.jwkj.activity.VisitorPermissionSetActivity
com.jwkj.activity.whitelight.WhiteLightModeActivity
com.jwkj.activity.WhiteLightActivity
com.jwkj.activity.AddWhiteLightScheduleActivity
com.jwkj.activity.ChooseAddDeviceWayActivity
com.jwkj.PanormaPlayBackActivity
com.jwkj.activity.CreateLoginPwdActivity
com.jwkj.activity.QRcodeContentActivity
com.jwkj.activity.LocalPanoActivity
com.jwkj.activity.LocalCloudPanoActivity
com.jwkj.activity.PublicWebViewActivity
com.jwkj.activity.NotificationCenterActivity
com.jwkj.activity.vas.cloudmsg.CloudMsgDetailActivity
com.jwkj.activity.vas.cloudmsg.CloudMsgImgSeeActivity
com.jwkj.activity.vas.cloudservice.ValueAddedWebActivity
com.alipay.sdk.app.H5PayActivity
com.alipay.sdk.app.H5AuthActivity
com.yoosee.wxapi.WXPayEntryActivity
com.jwkj.activity.vas.cloudplayback.PlayBackDownloadListActivity
com.jwkj.activity.GarageLightSetActivity
com.jwkj.activity.DeviceAlreadyBoundActivity
com.jwkj.activity.SmartLinkConfigWifiActivity
com.jwkj.activity.ApConfigWifiActivity
com.jwkj.activity.FaceToFaceShareActivity
com.jwkj.activity.SocialToolShareActivity
com.jwkj.activity.UpdatePwdH5Activity
com.jwkj.activity.KillProgressActivity
com.facebook.FacebookActivity
com.jwkj.activity.GuardPlanActivity
com.jwkj.activity.GuardSetActivity
com.jwkj.activity.PushSetActivity
com.jwkj.activity.SmartDefenceAreaControlActivity
com.qq.e.ads.ADActivity
com.qq.e.ads.PortraitADActivity
com.qq.e.ads.LandscapeADActivity
com.jwsd.libzxing.activity.CaptureActivity
com.facebook.CustomTabMainActivity
com.google.android.gms.common.api.GoogleApiActivity
com.linecorp.linesdk.auth.internal.LineAuthenticationActivity
com.linecorp.linesdk.auth.internal.LineAuthenticationCallbackActivity
com.tencent.android.tpush.XGPushActivity
com.huawei.hms.activity.BridgeActivity

com.jwkj.global.PlaybackDownloadService
com.jwkj.global.MainService
com.jwkj.global.LogService
com.jwkj.global.CheckDeviceUpdateService
com.jwkj.global.GetDevicesStatusService
com.qq.e.comm.DownloadService
com.jwkj.service.LoadImageService
com.tencent.android.tpush.service.XGVipPushService
com.tencent.android.tpush.rpc.XGRemoteService
com.tencent.android.tpush.cloudctr.network.CloudControlDownloadService
com.meizu.cloud.pushsdk.NotificationService
com.xiaomi.push.service.XMPushService
com.xiaomi.push.service.XMJobService
com.xiaomi.mipush.sdk.PushMessageHandler
com.xiaomi.mipush.sdk.MessageHandleService

com.jwkj.global.AutoStartReceiver
com.thirdparty.push.XGPushReceiver
com.tencent.android.mipush.XMPushMessageReceiver
com.tencent.android.mzpush.MZPushMessageReceiver
com.tencent.android.hwpush.HWPushMessageReceiver
com.tencent.android.tpush.XGPushReceiver
com.tencent.android.tpush.cloudctr.network.CloudControlDownloadReceiver
com.huawei.hms.support.api.push.PushEventReceiver
com.meizu.cloud.pushsdk.SystemReceiver
com.xiaomi.push.service.receivers.NetworkStatusReceiver
com.xiaomi.push.service.receivers.PingReceiver

com.facebook.FacebookContentProvider
com.jwkj.utils.JWFileProvider
android.support.v4.content.FileProvider
com.prolificinteractive.materialcalendarview.MaterialCalendarViewInitProvider
com.tencent.mid.api.MidProvider
com.tencent.android.tpush.XGPushProvider
com.tencent.android.tpush.SettingsContentProvider
com.tencent.android.tpush.XGVipPushKAProvider
com.huawei.hms.update.provider.UpdateProvider
com.facebook.internal.FacebookInitProvider

第三方库

# 库名 介绍
0 com.tencent.bugly 腾讯Bugly,面向移动开发者提供最专业的Crash监控、崩溃分析等质量跟踪服务,为您修复用户的每一次Crash!
1 com.tencent.map 腾讯地图Android SDK是一套基于Android2.3及以上设备的应用接口,通过该接口,您可以方便地访问腾讯地图为您提供的高质量地点数据和服务,构建丰富而实用的地图及位置服务类应用。腾讯地图Android SDK除提供创建底图、缩放、平滑移图等基础功能外,还提供定位、地址解析、反地址解析、周边搜索、路线方案等拓展服务,助你在应用开发中事半功倍。腾讯地图Android SDK的服务需要注册,免费的向第三方提供,任何非盈利性网站均可使用。

静态扫描发现风险点

风险等级 风险名称

中危

检测到当前标志被设置成true或没设置,这会导致adb调试备份允许恶意攻击者复制应用程序数据,造成数据泄露。

中危

检测到1处证书弱校验漏洞。

位置: assets/gdt_plugin/gdtadv2.jar
com.qq.e.comm.plugin.n.a.c.b$1;

当移动App客户端使用https或ssl/tls进行通信时,如果不校验证书的可信性,将存在中间人攻击漏洞,可导致信息泄露,传输数据被篡改,甚至通过中间人劫持将原有信息替换成恶意链接或恶意代码程序,以达到远程控制等攻击意图。建议:
对SSL证书进行强校验,包括签名CA是否合法、证书是否是自签名、主机域名是否匹配、证书是否过期等。

参考案例:
www.wooyun.org/bugs/wooyun-2014-079358

参考资料:
http://drops.wooyun.org/tips/3296
http://wolfeye.baidu.com/blog/webview-ignore-ssl-error/
https://jaq.alibaba.com/blog.htm?id=60

中危

该app需要移除大部分日志打印代码。
经扫描该包仍存在大量打日志代码,共发现87处打日志代码.(此处扫描的日志打印代码,是指调用android.util.Log.* 打印的.)
详情如下:

位置: classes.dex
com.tencent.bugly.legu.crashreport.CrashReport;->putUserData(Landroid/content/Context; Ljava/lang/String; Ljava/lang/String;)V==>android.util.Log;->w(Ljava/lang/String; Ljava/lang/String;)I
com.tencent.bugly.legu.crashreport.CrashReport;->testNativeCrash()V==>android.util.Log;->w(Ljava/lang/String; Ljava/lang/String;)I
com.tencent.bugly.legu.crashreport.CrashReport;->getUserData(Landroid/content/Context; Ljava/lang/String;)Ljava/lang/String;==>android.util.Log;->e(Ljava/lang/String; Ljava/lang/String;)I
com.tencent.bugly.legu.crashreport.CrashReport;->getUserSceneTagId(Landroid/content/Context;)I==>android.util.Log;->e(Ljava/lang/String; Ljava/lang/String;)I
com.tencent.bugly.legu.crashreport.CrashReport;->setJavascriptMonitor(Landroid/webkit/WebView; Z Z)Z==>android.util.Log;->w(Ljava/lang/String; Ljava/lang/String;)I
com.tencent.bugly.legu.crashreport.CrashReport;->setIsAppForeground(Landroid/content/Context; Z)V==>android.util.Log;->w(Ljava/lang/String; Ljava/lang/String;)I
com.tencent.bugly.legu.crashreport.BuglyLog;->w(Ljava/lang/String; Ljava/lang/String;)V==>android.util.Log;->w(Ljava/lang/String; Ljava/lang/String;)I
com.tencent.bugly.legu.crashreport.CrashReport;->testANRCrash()V==>android.util.Log;->w(Ljava/lang/String; Ljava/lang/String;)I
com.tencent.StubShell.TxAppEntry;->getPackageName()Ljava/lang/String;==>android.util.Log;->d(Ljava/lang/String; Ljava/lang/String;)I
com.tencent.bugly.legu.crashreport.CrashReport;->getAppVer()Ljava/lang/String;==>android.util.Log;->w(Ljava/lang/String; Ljava/lang/String;)I
com.tencent.bugly.legu.proguard.v;->c(Ljava/lang/Runnable;)Z==>android.util.Log;->w(Ljava/lang/String; Ljava/lang/String;)I
com.tencent.bugly.legu.crashreport.CrashReport;->postCatchedException(Ljava/lang/Throwable; Z)V==>android.util.Log;->w(Ljava/lang/String; Ljava/lang/String;)I
com.tencent.bugly.legu.proguard.v;->a(Ljava/lang/Runnable;)Z==>android.util.Log;->w(Ljava/lang/String; Ljava/lang/String;)I
com.tencent.bugly.legu.crashreport.BuglyLog;->v(Ljava/lang/String; Ljava/lang/String;)V==>android.util.Log;->v(Ljava/lang/String; Ljava/lang/String;)I
com.tencent.bugly.legu.crashreport.CrashReport;->postCatchedException(Ljava/lang/Throwable; Z)V==>android.util.Log;->e(Ljava/lang/String; Ljava/lang/String;)I
com.tencent.bugly.legu.crashreport.BuglyLog;->i(Ljava/lang/String; Ljava/lang/String;)V==>android.util.Log;->i(Ljava/lang/String; Ljava/lang/String;)I
com.tencent.bugly.legu.crashreport.CrashReport;->isLastSessionCrash()Z==>android.util.Log;->w(Ljava/lang/String; Ljava/lang/String;)I
com.tencent.bugly.legu.crashreport.CrashReport;->closeNativeReport()V==>android.util.Log;->w(Ljava/lang/String; Ljava/lang/String;)I
com.tencent.bugly.legu.crashreport.CrashReport;->setSessionIntervalMills(J)V==>android.util.Log;->w(Ljava/lang/String; Ljava/lang/String;)I
com.tencent.bugly.legu.b;->a(Landroid/content/Context; Lcom/tencent/bugly/legu/BuglyStrategy;)V==>android.util.Log;->e(Ljava/lang/String; Ljava/lang/String;)I
com.tencent.bugly.legu.b;->a(Landroid/content/Context; Ljava/lang/String; Z Lcom/tencent/bugly/legu/BuglyStrategy;)V==>android.util.Log;->w(Ljava/lang/String; Ljava/lang/String;)I
com.tencent.bugly.legu.crashreport.CrashReport;->getAllUserDataKeys(Landroid/content/Context;)Ljava/util/Set;==>android.util.Log;->e(Ljava/lang/String; Ljava/lang/String;)I
com.tencent.bugly.legu.crashreport.CrashReport;->removeUserData(Landroid/content/Context; Ljava/lang/String;)Ljava/lang/String;==>android.util.Log;->e(Ljava/lang/String; Ljava/lang/String;)I
com.tencent.bugly.legu.crashreport.CrashReport;->testANRCrash()V==>android.util.Log;->e(Ljava/lang/String; Ljava/lang/String;)I
com.tencent.bugly.legu.crashreport.CrashReport;->setUserId(Landroid/content/Context; Ljava/lang/String;)V==>android.util.Log;->e(Ljava/lang/String; Ljava/lang/String;)I
com.tencent.bugly.legu.crashreport.CrashReport;->closeNativeReport()V==>android.util.Log;->e(Ljava/lang/String; Ljava/lang/String;)I
com.tencent.bugly.legu.crashreport.CrashReport;->testJavaCrash()V==>android.util.Log;->w(Ljava/lang/String; Ljava/lang/String;)I
com.tencent.bugly.legu.b;->a(Landroid/content/Context; Ljava/lang/String; Z Lcom/tencent/bugly/legu/BuglyStrategy;)V==>android.util.Log;->e(Ljava/lang/String; Ljava/lang/String;)I
com.tencent.bugly.legu.crashreport.CrashReport;->getAllUserDataKeys(Landroid/content/Context;)Ljava/util/Set;==>android.util.Log;->w(Ljava/lang/String; Ljava/lang/String;)I
com.tencent.bugly.legu.proguard.a;->a(Landroid/content/Context;)Ljava/lang/String;==>android.util.Log;->i(Ljava/lang/String; Ljava/lang/String;)I
com.tencent.bugly.legu.proguard.a;->c(Landroid/content/Context;)Ljava/lang/String;==>android.util.Log;->i(Ljava/lang/String; Ljava/lang/String;)I
com.tencent.bugly.legu.crashreport.CrashReport;->isLastSessionCrash()Z==>android.util.Log;->e(Ljava/lang/String; Ljava/lang/String;)I
com.tencent.bugly.legu.crashreport.CrashReport;->setIsDevelopmentDevice(Landroid/content/Context; Z)V==>android.util.Log;->w(Ljava/lang/String; Ljava/lang/String;)I
com.tencent.bugly.legu.crashreport.CrashReport;->getAppChannel()Ljava/lang/String;==>android.util.Log;->e(Ljava/lang/String; Ljava/lang/String;)I
com.tencent.bugly.legu.b;->a(Landroid/content/Context; Lcom/tencent/bugly/legu/BuglyStrategy;)V==>android.util.Log;->w(Ljava/lang/String; Ljava/lang/String;)I
com.tencent.bugly.legu.proguard.x;->b(Ljava/lang/String; Ljava/lang/String; Ljava/lang/String;)Z==>android.util.Log;->w(Ljava/lang/String; Ljava/lang/String;)I
com.tencent.bugly.legu.crashreport.BuglyLog;->d(Ljava/lang/String; Ljava/lang/String;)V==>android.util.Log;->d(Ljava/lang/String; Ljava/lang/String;)I
com.tencent.bugly.legu.crashreport.CrashReport;->getAppID()Ljava/lang/String;==>android.util.Log;->e(Ljava/lang/String; Ljava/lang/String;)I
com.tencent.bugly.legu.crashreport.CrashReport;->putSdkData(Landroid/content/Context; Ljava/lang/String; Ljava/lang/String;)V==>android.util.Log;->w(Ljava/lang/String; Ljava/lang/String;)I
com.tencent.bugly.legu.proguard.a;->b(Landroid/content/Context;)Ljava/lang/String;==>android.util.Log;->i(Ljava/lang/String; Ljava/lang/String;)I
com.tencent.bugly.legu.crashreport.CrashReport;->setUserSceneTag(Landroid/content/Context; I)V==>android.util.Log;->w(Ljava/lang/String; Ljava/lang/String;)I
com.tencent.bugly.legu.crashreport.CrashReport;->getAppVer()Ljava/lang/String;==>android.util.Log;->e(Ljava/lang/String; Ljava/lang/String;)I
com.tencent.bugly.legu.proguard.w;->a(I Ljava/lang/String; [Ljava/lang/Object;)Z==>android.util.Log;->e(Ljava/lang/String; Ljava/lang/String;)I
com.tencent.bugly.legu.crashreport.CrashReport;->setUserId(Ljava/lang/String;)V==>android.util.Log;->w(Ljava/lang/String; Ljava/lang/String;)I
com.tencent.bugly.legu.crashreport.CrashReport;->closeBugly()V==>android.util.Log;->w(Ljava/lang/String; Ljava/lang/String;)I
com.tencent.bugly.legu.crashreport.CrashReport;->getSdkExtraData()Ljava/util/Map;==>android.util.Log;->w(Ljava/lang/String; Ljava/lang/String;)I
com.tencent.bugly.legu.crashreport.CrashReport;->getUserSceneTagId(Landroid/content/Context;)I==>android.util.Log;->w(Ljava/lang/String; Ljava/lang/String;)I
com.tencent.bugly.legu.crashreport.CrashReport;->getUserDatasSize(Landroid/content/Context;)I==>android.util.Log;->w(Ljava/lang/String; Ljava/lang/String;)I
com.tencent.StubShell.SystemClassLoaderInjector;->fixAndroid(Landroid/content/Context; Landroid/app/Application;)V==>android.util.Log;->e(Ljava/lang/String; Ljava/lang/String;)I
com.tencent.bugly.legu.crashreport.BuglyLog;->e(Ljava/lang/String; Ljava/lang/String;)V==>android.util.Log;->e(Ljava/lang/String; Ljava/lang/String;)I
com.tencent.bugly.legu.proguard.w;->a(I Ljava/lang/String; [Ljava/lang/Object;)Z==>android.util.Log;->d(Ljava/lang/String; Ljava/lang/String;)I
com.tencent.bugly.legu.crashreport.CrashReport;->setUserId(Landroid/content/Context; Ljava/lang/String;)V==>android.util.Log;->w(Ljava/lang/String; Ljava/lang/String;)I
com.tencent.bugly.legu.crashreport.CrashReport;->removeUserData(Landroid/content/Context; Ljava/lang/String;)Ljava/lang/String;==>android.util.Log;->w(Ljava/lang/String; Ljava/lang/String;)I
com.tencent.bugly.legu.crashreport.CrashReport;->getAppID()Ljava/lang/String;==>android.util.Log;->w(Ljava/lang/String; Ljava/lang/String;)I
com.tencent.bugly.legu.crashreport.CrashReport;->getUserId()Ljava/lang/String;==>android.util.Log;->e(Ljava/lang/String; Ljava/lang/String;)I
com.tencent.bugly.legu.crashreport.CrashReport;->closeCrashReport()V==>android.util.Log;->w(Ljava/lang/String; Ljava/lang/String;)I
com.tencent.bugly.legu.crashreport.CrashReport;->setUserSceneTag(Landroid/content/Context; I)V==>android.util.Log;->e(Ljava/lang/String; Ljava/lang/String;)I
com.tencent.bugly.legu.Bugly;->init(Landroid/content/Context; Ljava/lang/String; Z Lcom/tencent/bugly/legu/BuglyStrategy;)V==>android.util.Log;->e(Ljava/lang/String; Ljava/lang/String;)I
com.tencent.bugly.legu.crashreport.CrashReport;->testNativeCrash()V==>android.util.Log;->e(Ljava/lang/String; Ljava/lang/String;)I
com.tencent.bugly.legu.crashreport.CrashReport;->startCrashReport()V==>android.util.Log;->w(Ljava/lang/String; Ljava/lang/String;)I
com.tencent.StubShell.a;->a(Ljava/lang/Object; Ljava/lang/ClassLoader; Z)Ljava/lang/Object;==>android.util.Log;->e(Ljava/lang/String; Ljava/lang/String;)I
com.tencent.bugly.legu.crashreport.CrashReport;->setAppVersion(Landroid/content/Context; Ljava/lang/String;)V==>android.util.Log;->w(Ljava/lang/String; Ljava/lang/String;)I
com.tencent.bugly.legu.crashreport.CrashReport;->setSdkExtraData(Landroid/content/Context; Ljava/lang/String; Ljava/lang/String;)V==>android.util.Log;->w(Ljava/lang/String; Ljava/lang/String;)I
com.tencent.bugly.legu.crashreport.CrashReport;->getUserId()Ljava/lang/String;==>android.util.Log;->w(Ljava/lang/String; Ljava/lang/String;)I
com.tencent.bugly.legu.proguard.w;->a(I Ljava/lang/String; [Ljava/lang/Object;)Z==>android.util.Log;->i(Ljava/lang/String; Ljava/lang/String;)I
com.tencent.bugly.legu.crashreport.CrashReport;->getUserDatasSize(Landroid/content/Context;)I==>android.util.Log;->e(Ljava/lang/String; Ljava/lang/String;)I
com.tencent.bugly.legu.crashreport.CrashReport;->testJavaCrash()V==>android.util.Log;->e(Ljava/lang/String; Ljava/lang/String;)I
com.tencent.bugly.legu.crashreport.CrashReport;->getUserData(Landroid/content/Context; Ljava/lang/String;)Ljava/lang/String;==>android.util.Log;->w(Ljava/lang/String; Ljava/lang/String;)I
com.tencent.bugly.legu.crashreport.CrashReport;->getAppChannel()Ljava/lang/String;==>android.util.Log;->w(Ljava/lang/String; Ljava/lang/String;)I
com.tencent.bugly.legu.proguard.w;->a(I Ljava/lang/String; [Ljava/lang/Object;)Z==>android.util.Log;->w(Ljava/lang/String; Ljava/lang/String;)I
com.tencent.bugly.legu.crashreport.CrashReport;->setUserId(Ljava/lang/String;)V==>android.util.Log;->e(Ljava/lang/String; Ljava/lang/String;)I

位置: assets/gdt_plugin/gdtadv2.jar
com.qq.e.comm.plugin.n.a.c.a.a;->b(I Ljava/lang/String; Ljava/lang/String;)V==>android.util.Log;->e(Ljava/lang/String; Ljava/lang/String;)I
com.qq.e.comm.plugin.n.a.c.a.a;->b(I Ljava/lang/String; Ljava/lang/String;)V==>android.util.Log;->v(Ljava/lang/String; Ljava/lang/String;)I
com.qq.e.comm.plugin.n.a.c.d;->b(Ljava/lang/String;)V==>android.util.Log;->e(Ljava/lang/String; Ljava/lang/String;)I
com.qq.e.comm.plugin.n.a.c.a.b;->a(Ljava/lang/String; Ljava/lang/String; Ljava/lang/String;)V==>android.util.Log;->d(Ljava/lang/String; Ljava/lang/String;)I
com.qq.e.comm.plugin.n.a.c.a.d;->a(Ljava/lang/String; Z)V==>android.util.Log;->d(Ljava/lang/String; Ljava/lang/String;)I
com.tencent.beacontsa.cover.f;->a(Ljava/lang/String; Ljava/lang/String; [Ljava/lang/Object;)V==>android.util.Log;->i(Ljava/lang/String; Ljava/lang/String;)I
com.qq.e.comm.plugin.n.a.c.a.a;->b(I Ljava/lang/String; Ljava/lang/String;)V==>android.util.Log;->d(Ljava/lang/String; Ljava/lang/String;)I
com.qq.e.comm.plugin.n.a.c.a.e;->a(Ljava/lang/String; Ljava/lang/String; Ljava/lang/String;)V==>android.util.Log;->d(Ljava/lang/String; Ljava/lang/String;)I
com.qq.e.comm.plugin.n.a.c.d;->a(Ljava/lang/String;)V==>android.util.Log;->d(Ljava/lang/String; Ljava/lang/String;)I
com.tencent.beacontsa.cover.g;->c()Ljava/lang/String;==>android.util.Log;->w(Ljava/lang/String; Ljava/lang/String;)I
com.tencent.beacontsa.cover.f;->a(Ljava/lang/String; Ljava/lang/String; [Ljava/lang/Object;)V==>android.util.Log;->e(Ljava/lang/String; Ljava/lang/String;)I
com.tencent.beacontsa.cover.f;->a(Ljava/lang/String; Ljava/lang/String; [Ljava/lang/Object;)V==>android.util.Log;->w(Ljava/lang/String; Ljava/lang/String;)I
com.qq.e.comm.plugin.n.a.c.a.a;->b(I Ljava/lang/String; Ljava/lang/String;)V==>android.util.Log;->i(Ljava/lang/String; Ljava/lang/String;)I
com.tencent.beacontsa.cover.f;->a(Ljava/lang/String; Ljava/lang/String; [Ljava/lang/Object;)V==>android.util.Log;->d(Ljava/lang/String; Ljava/lang/String;)I
com.qq.e.comm.plugin.n.a.c.a.a;->b(I Ljava/lang/String; Ljava/lang/String;)V==>android.util.Log;->w(Ljava/lang/String; Ljava/lang/String;)I
com.qq.e.comm.plugin.n.a.c.d;->c(Ljava/lang/String;)V==>android.util.Log;->w(Ljava/lang/String; Ljava/lang/String;)I

中危

检测到1个WebView远程执行漏洞。

位置: classes.dex
com.tencent.bugly.legu.crashreport.CrashReport;->setJavascriptMonitor(Landroid.webkit.WebView; Z Z)Z

Android API < 17之前版本存在远程代码执行安全漏洞,该漏洞源于程序没有正确限制使用addJavaScriptInterface方法,攻击者可以通过Java反射利用该漏洞执行任意Java对象的方法,导致远程代码执行安全漏洞。
(1)API等于高于17的Android系统。出于安全考虑,为了防止Java层的函数被随意调用,Google在4.2版本之后,规定允许被调用的函数必须以@JavascriptInterface进行注解。
(2)API等于高于17的Android系统。建议不要使用addJavascriptInterface接口,以免带来不必要的安全隐患,如果一定要使用该接口,建议使用证书校验。
(3)使用removeJavascriptInterface移除Android系统内部的默认内置接口:searchBoxJavaBridge_、accessibility、accessibilityTraversal。

参考案例:
www.wooyun.org/bugs/wooyun-2015-0140708
www.wooyun.org/bugs/wooyun-2016-0188252
http://drops.wooyun.org/papers/548

参考资料:
http://jaq.alibaba.com/blog.htm?id=48
http://blog.nsfocus.net/android-webview-remote-code-execution-vulnerability-analysis
https://developer.android.com/reference/android/webkit/WebView.html

中危

检测到27条敏感明文信息,建议移除。

位置: classes.dex
'http://android.bugly.qq.com/rqd/async' used in: Lcom/tencent/bugly/legu/crashreport/common/strategy/StrategyBean;->()V
'http://rqd.uu.qq.com/rqd/sync' used in: Lcom/tencent/bugly/legu/crashreport/common/strategy/StrategyBean;->()V

位置: assets/gdt_plugin/gdtadv2.jar
'http://%s/%s' used in: Lcom/qq/e/comm/plugin/q/a;->()V
'http://d.gdt.qq.com/fcg-bin/gdt_appdetail.fcg?ico=1&appid=' used in: Lcom/qq/e/comm/plugin/util/d;->a(Ljava/lang/String; I)Ljava/lang/String;
'http://d.gdt.qq.com/fcg-bin/gdt_appdetail.fcg?ico=1&op_appid=' used in: Lcom/qq/e/comm/plugin/util/d;->a(Ljava/lang/String; I)Ljava/lang/String;
'http://e.qq.com' used in: Lcom/qq/e/comm/plugin/r/b;->r()V
'http://mi.gdt.qq.com/gdt_mview.fcg' used in: Lcom/qq/e/comm/plugin/p/e$1;->onException(Ljava/lang/Exception;)V
'http://oth.update.mdt.qq.com:8080/beacon/vercheck' used in: Lcom/tencent/beacontsa/cover/h;->b()Z
'http://oth.update.mdt.qq.com:8080/beacon/vercheck' used in: Lcom/tencent/beacontsa/cover/e;->a(Z)V
'http://qzonestyle.gtimg.cn/qzone/biz/gdt/mob/sdk/v2/android01/appdetail.html' used in: Lcom/qq/e/comm/plugin/d/b;->a(Ljava/lang/String; Ljava/lang/String; Ljava/lang/String; Ljava/lang/String;)V
'http://qzonestyle.gtimg.cn/qzone/biz/gdt/mob/sdk/v2/android01/appwall.html' used in: Lcom/qq/e/comm/plugin/c/b;->g()Ljava/lang/String;
'http://qzonestyle.gtimg.cn/qzone/biz/gdt/mob/sdk/v2/android01/appwall.html' used in: Lcom/qq/e/comm/plugin/c/a;->b()Ljava/lang/String;
'http://qzonestyle.gtimg.cn/qzone/biz/gdt/mob/sdk/v2/android01/banner.html' used in: Lcom/qq/e/comm/plugin/d/a;->e()Ljava/lang/String;
'http://qzonestyle.gtimg.cn/qzone/biz/gdt/mob/sdk/v2/android01/download.html' used in: Lcom/qq/e/comm/plugin/h/a;->f()Ljava/lang/String;
'http://qzonestyle.gtimg.cn/qzone/biz/gdt/mob/sdk/v2/android01/grid.html#cacheOnly=true&supportUnionAPP=1' used in: Lcom/qq/e/comm/plugin/k/b;->a()V
'http://qzonestyle.gtimg.cn/qzone/biz/gdt/mob/sdk/v2/android01/grid.html#posid=' used in: Lcom/qq/e/comm/plugin/k/a;->onResume()V
'http://qzonestyle.gtimg.cn/qzone/biz/gdt/mob/sdk/v2/android01/interstitial.html' used in: Lcom/qq/e/comm/plugin/m/a;->g()Ljava/lang/String;
'http://qzonestyle.gtimg.cn/qzone/biz/gdt/mob/sdk/v2/android02/images/tsa_ad_logo.png' used in: Lcom/qq/e/comm/plugin/r/b;->q()V
'http://qzonestyle.gtimg.cn/qzone/biz/gdt/mob/sdk/v2/android02/splash.html#posid=' used in: Lcom/qq/e/comm/plugin/r/a;->g()V
'http://qzonestyle.gtimg.cn/qzone/biz/gdt/mob/sdk/v2/android03/js-release/%s/native.js' used in: Lcom/qq/e/comm/plugin/j/e;->()V
'http://t.gdt.qq.com/conv/sdk/spa/conv' used in: Lcom/qq/e/comm/plugin/p/a;->a(I Ljava/lang/String;)V
'http://t.gdt.qq.com/conv/src/6/conv' used in: Lcom/qq/e/comm/plugin/m/b;->e()V
'http://v.gdt.qq.com/gdt_stats.fcg' used in: Lcom/qq/e/comm/plugin/v/c/j;->a(Lcom/qq/e/comm/plugin/v/i; Lcom/qq/e/comm/plugin/v/b/e;)V
'https://%s/%s' used in: Lcom/qq/e/comm/plugin/s/i;->()V
'https://analytics.map.qq.com/?sf2' used in: Lc/t/m/li/tsa/w;->run()V
'https://analytics.map.qq.com/tr?mllc' used in: Lc/t/m/li/tsa/A;->a([B)Z
'https://lbs.map.qq.com/loc' used in: Lc/t/m/li/tsa/h;->a(I)Ljava/lang/String;

中危

检测到5处setSavePassword密码明文存储漏洞。

位置: classes.dex
com.tencent.bugly.legu.crashreport.CrashReport;

位置: assets/gdt_plugin/gdtadv2.jar
com.qq.e.comm.plugin.t.c;
com.qq.e.comm.plugin.w.d;
com.qq.e.comm.plugin.util.j;
com.qq.e.comm.plugin.v.d;

webview的保存密码功能默认设置为true。Webview会明文保存网站上的密码到本地私有文件”databases/webview.db”中。对于可以被root的系统环境或者配合其他漏洞(如webview的同源绕过漏洞),攻击者可以获取到用户密码。
建议:显示设置webView.getSetting().setSavePassword(false)。

参考案例:
www.wooyun.org/bugs/wooyun-2010-021420
www.wooyun.org/bugs/wooyun-2013-020246

参考资料:
http://wolfeye.baidu.com/blog/
www.claudxiao.net/2013/03/android-webview-cache/

低危

检测到4个WebView系统隐藏接口未移除。

位置: classes.dex
com.tencent.bugly.legu.crashreport.CrashReport;->setJavascriptMonitor(Landroid.webkit.WebView; Z Z)Z

位置: assets/gdt_plugin/gdtadv2.jar
com.qq.e.comm.plugin.t.c;->b(Landroid.webkit.WebView;)V
com.qq.e.comm.plugin.util.j;->i()Ljava.lang.String;
com.qq.e.comm.plugin.w.d;->b(Landroid.webkit.WebView;)V

android webview组件包含3个隐藏的系统接口:searchBoxJavaBridge_,accessibilityTraversal以及accessibility,恶意程序可以利用它们实现远程代码执行。
如果使用了WebView,那么使用WebView.removeJavascriptInterface(String name) API,显示的移除searchBoxJavaBridge_、accessibility、accessibilityTraversal这三个接口。

参考资料:
http://wolfeye.baidu.com/blog/android-webview/
http://blog.csdn.net/u013107656/article/details/51729398
http://wolfeye.baidu.com/blog/android-webview-cve-2014-7224/

低危

检测到1处使用了DES弱加密算法。

位置: classes.dex
'DES/CBC/PKCS5Padding' used in: Lcom/tencent/bugly/legu/proguard/af;->a([B)[B

使用弱加密算法会大大增加黑客攻击的概率,黑客可能会破解隐私数据、猜解密钥、中间人攻击等,造成隐私信息的泄漏,甚至造成财产损失。建议使用AES加密算法。

参考资料:
http://drops.wooyun.org/tips/15870
https://developer.android.com/training/articles/keystore.html
http://wolfeye.baidu.com/blog/weak-encryption/
http://www.freebuf.com/articles/terminal/99868.html

低危

非debug包,需要通过打包平台proguard脚本,移除大部分系统输出代码。
经扫描该包仍存在大量系统输出代码,共发现1处系统输出代码.(此处扫描的系统输出代码,是指调用System.out.print*输出的,本应在打包平台移除的系统输出代码.)
各个bundle系统输出代码详情如下:

位置: classes.dex
com.tencent.bugly.legu.proguard.f;

低危

检测到2处主机名弱校验检测漏洞。

位置: assets/gdt_plugin/gdtadv2.jar
com.qq.e.comm.plugin.n.a.c.b$a;->verify(Ljava.lang.String; Ljavax.net.ssl.SSLSession;)Z
com.qq.e.comm.plugin.util.w$a$1;->verify(Ljava.lang.String; Ljavax.net.ssl.SSLSession;)Z

自定义HostnameVerifier类,却不实现其verify方法验证域名直接返回true,直接接受任意域名。建议:
对SSL证书进行强校验,包括签名CA是否合法、证书是否是自签名、主机域名是否匹配、证书是否过期等。

参考资料:
http://drops.wooyun.org/tips/3296
https://www.91ri.org/12534.html

警告

检测到15处addFlags使用Intent.FLAG_ACTIVITY_NEW_TASK。

位置: assets/gdt_plugin/gdtadv2.jar
com.qq.e.comm.plugin.v.c.g;->a
com.qq.e.comm.plugin.p.a.a;->a
com.qq.e.comm.plugin.o.b;->showAD
com.qq.e.comm.plugin.p.a.a;->c
com.qq.e.comm.plugin.b.r;->a
com.qq.e.comm.plugin.p.a.c;->a
com.qq.e.comm.plugin.t.c$4;->shouldOverrideUrlLoading
com.qq.e.comm.plugin.v.c.k;->a
com.qq.e.comm.plugin.b.u;->a
com.qq.e.comm.plugin.b.z;->a
com.qq.e.comm.plugin.r.b;->r
com.qq.e.comm.plugin.u.a;->A
com.qq.e.comm.plugin.w.d$1;->onDownloadStart
com.qq.e.comm.plugin.w.d$3;->shouldOverrideUrlLoading
com.qq.e.comm.plugin.b.q;->a

APP创建Intent传递数据到其他Activity,如果创建的Activity不是在同一个Task中打开,就很可能被其他的Activity劫持读取到Intent内容,跨Task的Activity通过Intent传递敏感信息是不安全的。建议:
尽量避免使用包含FLAG_ACTIVITY_NEW_TASK标志的Intent来传递敏感信息。

参考资料:
http://wolfeye.baidu.com/blog/intent-data-leak

警告

检测到20个导出的组件接收其他app的消息,这些组件会被其他app引用并导致dos攻击。

activity com.jwkj.activity.MainActivity
activity com.jwkj.activity.LoginActivity
activity com.yoosee.wxapi.WXEntryActivity
activity com.facebook.CustomTabActivity
activity com.yoosee.wxapi.WXPayEntryActivity
activity com.linecorp.linesdk.auth.internal.LineAuthenticationCallbackActivity
service com.jwkj.global.PlaybackDownloadService
service com.jwkj.global.MainService
service com.jwkj.global.LogService
service com.tencent.android.tpush.rpc.XGRemoteService
service com.meizu.cloud.pushsdk.NotificationService
service com.xiaomi.mipush.sdk.PushMessageHandler
receiver com.jwkj.global.AutoStartReceiver
receiver com.thirdparty.push.XGPushReceiver
receiver com.tencent.android.mipush.XMPushMessageReceiver
receiver com.tencent.android.mzpush.MZPushMessageReceiver
receiver com.tencent.android.hwpush.HWPushMessageReceiver
receiver com.huawei.hms.support.api.push.PushEventReceiver
receiver com.meizu.cloud.pushsdk.SystemReceiver
receiver com.xiaomi.push.service.receivers.NetworkStatusReceiver

建议:
(1)最小化组件暴露。对不会参与跨应用调用的组件建议显示添加android:exported="false"属性。
(2)设置组件访问权限。对provider设置权限,同时将权限的protectionLevel设置为"signature"或"signatureOrSystem"。
(3)组件传输数据验证。对组件之间,特别是跨应用的组件之间的数据传入与返回做验证和增加异常处理,防止恶意调试数据传入,更要防止敏感数据返回。

参考案例:
http://www.wooyun.org/bugs/wooyun-2010-0169746
http://www.wooyun.org/bugs/wooyun-2010-0104965

参考资料:
http://jaq.alibaba.com/blog.htm?spm=0.0.0.0.Wz4OeC&id=55
《Android安全技术解密与防范》

警告

检测到4个导出的隐式Service组件。
service com.jwkj.global.PlaybackDownloadService
service com.jwkj.global.MainService
service com.jwkj.global.LogService
service com.tencent.android.tpush.rpc.XGRemoteService

建议:为了确保应用的安全性,启动Service时,请始终使用显式Intent,且不要为服务声明Intent过滤器。使用隐式Intent启动服务存在安全隐患,因为您无法确定哪些服务将响应Intent,且用户无法看到哪些服务已启动。从Android 5.0(API 级别 21)开始,如果使用隐式 Intent 调用 bindService(),系统会抛出异常。

参考资料:
https://developer.android.com/guide/components/intents-filters.html#Types

警告

检测4处組件設置了android.intent.category.BROWSABLE属性。
com.jwkj.activity.MainActivity
com.jwkj.activity.LoginActivity
com.facebook.CustomTabActivity
com.linecorp.linesdk.auth.internal.LineAuthenticationCallbackActivity


在AndroidManifest文件中定义了android.intent.category.BROWSABLE属性的组件,可以通过浏览器唤起,这会导致远程命令执行漏洞攻击。建议:
(1)APP中任何接收外部输入数据的地方都是潜在的攻击点,过滤检查来自网页的参数。
(2)不要通过网页传输敏感信息,有的网站为了引导已经登录的用户到APP上使用,会使用脚本动态的生成URL Scheme的参数,其中包括了用户名、密码或者登录态token等敏感信息,让用户打开APP直接就登录了。恶意应用也可以注册相同的URL Sechme来截取这些敏感信息。Android系统会让用户选择使用哪个应用打开链接,但是如果用户不注意,就会使用恶意应用打开,导致敏感信息泄露或者其他风险。

參考案例:
http://www.wooyun.org/bugs/wooyun-2014-073875
http://www.wooyun.org/bugs/wooyun-2014-067798

参考资料:
http://wolfeye.baidu.com/blog/intent-scheme-url/
http://www.jssec.org/dl/android_securecoding_en.pdf
http://drops.wooyun.org/mobile/15202
http://blog.csdn.net/l173864930/article/details/36951805
http://drops.wooyun.org/papers/2893

警告

检测到3潜在的XSS漏洞。

位置: assets/gdt_plugin/gdtadv2.jar
com.qq.e.comm.plugin.t.c;->onAfterCreate(Landroid.os.Bundle;)V
com.qq.e.comm.plugin.v.d;->k()V
com.qq.e.comm.plugin.w.d;->g()V

允许WebView执行JavaScript(setJavaScriptEnabled),有可能导致XSS攻击。建议尽量避免使用。
(1)API等于高高于17的Android系统。出于安全考虑,为了防止Java层的函数被随意调用,Google在4.2版本之后,规定允许被调用的函数必须以@JavascriptInterface进行注解。
(2)API等于高高于17的Android系统。建议不要使用addJavascriptInterface接口,以免带来不必要的安全隐患,如果一定要使用该接口,建议使用证书校验。
u(3)使用removeJavascriptInterface移除Android系统内部的默认内置接口:searchBoxJavaBridge_、accessibility、accessibilityTraversal。

参考案例:
www.wooyun.org/bugs/wooyun-2015-0140708
www.wooyun.org/bugs/wooyun-2016-0188252

参考资料:
http://jaq.alibaba.com/blog.htm?id=48
http://blog.nsfocus.net/android-webview-remote-code-execution-vulnerability-analysis

警告

检测到5处IvParameterSpec的使用。

位置: classes.dex
com.tencent.bugly.legu.proguard.a;->a(I [B [B)[B
com.tencent.bugly.legu.proguard.ae;->a([B)[B
com.tencent.bugly.legu.proguard.af;->a([B)[B

位置: assets/gdt_plugin/gdtadv2.jar
c.t.m.li.tsa.a;->b([B Ljava.lang.String;)[B
com.tencent.beacontsa.cover.f;->a(Z Ljava.lang.String; [B)[B

使用IVParameterSpec函数,如果使用了固定的初始化向量,那么密码文本可预测性高得多,容易受到字典攻击等。建议禁止使用常量初始化矢量构造IVParameterSpec,使用聚安全提供的安全组件。

参考资料:
http://drops.wooyun.org/tips/15870
https://developer.android.com/training/articles/keystore.html
http://wolfeye.baidu.com/blog/weak-encryption/
http://www.freebuf.com/articles/terminal/99868.html

警告

检测到3处provider的grantUriPermissions设置为true。
com.jwkj.utils.JWFileProvider
android.support.v4.content.FileProvider
com.huawei.hms.update.provider.UpdateProvider


grant-uri-permission若设置为true,可被其它程序员通过uri访问到content provider的内容,容易造成信息泄露。

参考资料:
https://security.tencent.com/index.php/blog/msg/6

警告

检测到1处使用空Intent构造PendingIntent。

位置: assets/gdt_plugin/gdtadv2.jar
com.qq.e.comm.plugin.b.b.b;->a(Z)Landroid.app.PendingIntent;

使用pendingIntent时候,如果使用了一个空Intent,会导致恶意用户劫持Intent的内容。禁止使用空intent去构造pendingIntent。建议:
禁止使用空intent去构造pendingIntent。

参考资料:
http://wolfeye.baidu.com/blog/pendingintent-leak-information
http://bbs.mob.com/thread-5249-1-1.html

警告

这个app应该声明permission的"android:protectionLevel"属性值为"signature"或者"signatureOrSystem",保证其他app无法注册或者从这个app接收消息。有安全隐患的permission如下:
android.permission.CAMERA normal

警告

检测到5处使用了加解密算法。密钥处理不当可能会导致信息泄露。

位置: classes.dex
com.tencent.bugly.legu.proguard.a;->a(I [B [B)[B
com.tencent.bugly.legu.proguard.ae;->a([B)[B

位置: assets/gdt_plugin/gdtadv2.jar
c.t.m.li.tsa.a;->b([B Ljava.lang.String;)[B
c.t.m.li.tsa.K;->b([B Ljava.lang.String;)[B
com.tencent.beacontsa.cover.f;->a(Z Ljava.lang.String; [B)[B

参考案例:
http://www.wooyun.org/bugs/wooyun-2010-0105766
http://www.wooyun.org/bugs/wooyun-2015-0162907
http://www.wooyun.org/bugs/wooyun-2010-0187287

参考资料:
http://drops.wooyun.org/tips/15870
https://developer.android.com/training/articles/keystore.html


动态扫描发现风险点

风险等级 风险名称

服务端分析

风险等级 风险名称

警告

检测到?处XSS漏洞。
开发中...

警告

检测到?处XSS跨站漏洞。
开发中...

应用证书