漏洞分析

0

高危漏洞

6

中危漏洞

4

低危漏洞

6

警告

文件名 com.greenpoint.android.mc10086.activity-1.apk
上传者 Andy0214
文件大小 19.612782478333MB
MD5 d0eec8c320687a6624c74d688d8214f1
包名 com.greenpoint.android.mc10086.activity
Main Activity com.leadeon.cmcc.base.StartPageActivity
Min SDK 17
Target SDK 27

权限列表

# 名称 说明 提示
0 android.permission.CALL_PHONE 允许应用程序在您不介入的情况下拨打电话。恶意应用程序可借此在您的话费单上产生意外通话费。请注意,此权限不允许应用程序拨打紧急呼救电话。 警告
1 android.permission.READ_SMS 允许应用程序读取您的手机或SIM卡中存储的短信。恶意应用程序可借此读取您的机密信息。 警告
2 android.permission.SEND_SMS 允许应用程序发送短信。恶意应用程序可能会不经您的确认就发送信息,给您带来费用。 警告
3 android.permission.ACCESS_COARSE_LOCATION 访问大概的位置源(例如蜂窝网络数据库)以确定手机的大概位置(如果可以)。恶意应用程序可借此确定您所处的大概位置。 注意
4 android.permission.ACCESS_FINE_LOCATION 访问精准的位置源,例如手机上的全球定位系统(如果有)。恶意应用程序可能会借此确定您所处的位置,并可能消耗额外的电池电量。 注意
5 android.permission.BLUETOOTH 允许应用程序查看本地蓝牙手机的配置,以及建立或接受与配对设备的连接。 注意
6 android.permission.BROADCAST_STICKY 允许应用程序发送顽固广播,这些广播在结束后仍会保留。恶意应用程序可能会借此使手机耗用太多内存,从而降低其速度或稳定性。 注意
7 android.permission.GET_TASKS 允许应用程序检索有关当前和最近运行的任务的信息。恶意应用程序可借此发现有关其他应用程序的保密信息。 注意
8 android.permission.READ_CONTACTS 允许应用程序读取您手机上存储的所有联系人(地址)数据。恶意应用程序可借此将您的数据发送给其他人。 注意
9 android.permission.READ_PHONE_STATE 允许应用程序访问设备的手机功能。有此权限的应用程序可确定此手机的号码和序列号,是否正在通话,以及对方的号码等。 注意
10 android.permission.RECEIVE_BOOT_COMPLETED 允许应用程序在系统完成启动后即自行启动。这样会延长手机的启动时间,而且如果应用程序一直运行,会降低手机的整体速度。 注意
11 android.permission.RECEIVE_MMS 允许应用程序接收和处理彩信。恶意应用程序可借此监视您的信息,或者将信息删除而不向您显示。 注意
12 android.permission.RECEIVE_SMS 允许应用程序接收和处理短信。恶意应用程序可借此监视您的信息,或者将信息删除而不向您显示。 注意
13 android.permission.RECEIVE_WAP_PUSH 允许应用程序接收和处理WAP信息。恶意应用程序可借此监视您的信息,或者将信息删除而不向您显示。 注意
14 android.permission.RECORD_AUDIO 允许应用程序访问录音路径。 注意
15 android.permission.SYSTEM_ALERT_WINDOW 允许应用程序显示系统警报窗口。恶意应用程序可借此掌控整个手机屏幕。 注意
16 android.permission.WRITE_CONTACTS 允许应用程序修改您手机上存储的联系人(地址)数据。恶意应用程序可借此清除或修改您的联系人数据。 注意
17 android.permission.WRITE_SETTINGS 允许应用程序修改系统设置方面的数据。恶意应用程序可借此破坏您的系统配置。 注意
18 android.permission.WRITE_SMS 允许应用程序写入手机或SIM卡中存储的短信。恶意应用程序可借此删除您的信息。 注意
19 android.permission.WRITE_SYNC_SETTINGS 允许应用程序修改同步设置,例如是否为\“联系人\”启用同步。 注意
20 android.permission.ACCESS_NETWORK_STATE 允许应用程序查看所有网络的状态。 提示
21 android.permission.ACCESS_WIFI_STATE 允许应用程序查看有关WLAN状态的信息。 提示
22 android.permission.AUTHENTICATE_ACCOUNTS 允许应用程序使用AccountManager的帐户身份验证程序功能,包括创建帐户以及获取和设置其密码。 提示
23 android.permission.CAMERA 允许应用程序使用相机拍照,这样应用程序可随时收集进入相机镜头的图像。 提示
24 android.permission.CHANGE_NETWORK_STATE 允许应用程序更改网络连接的状态。 提示
25 android.permission.CHANGE_WIFI_STATE 允许应用程序连接到WLAN接入点以及与WLAN接入点断开连接,并对配置的WLAN网络进行更改。 提示
26 android.permission.DEVICE_POWER 允许应用程序打开或关闭手机。 提示
27 android.permission.EXPAND_STATUS_BAR 允许应用程序展开或收拢状态栏。 提示
28 android.permission.FLASHLIGHT 允许应用程序控制闪光灯。 提示
29 android.permission.GET_ACCOUNTS 允许应用程序获取手机已知的帐户列表。 提示
30 android.permission.INTERNET 允许程序访问网络. 提示
31 android.permission.MANAGE_ACCOUNTS 允许应用程序执行添加、删除帐户及删除其密码之类的操作。 提示
32 android.permission.MOUNT_UNMOUNT_FILESYSTEMS 允许应用程序装载和卸载可移动存储器的文件系统。 提示
33 android.permission.READ_LOGS 允许应用程序从系统的各日志文件中读取信息。这样应用程序可以发现您的手机使用情况,但这些信息不应包含任何个人信息或保密信息。 提示
34 android.permission.READ_SYNC_SETTINGS 允许应用程序读取同步设置,例如是否为\“联系人\”启用同步。 提示
35 android.permission.RESTART_PACKAGES 允许程序自己重启或重启其他程序 提示
36 android.permission.USE_CREDENTIALS 允许应用程序请求身份验证标记。 提示
37 android.permission.VIBRATE 允许应用程序控制振动器。 提示
38 android.permission.WAKE_LOCK 允许应用程序防止手机进入休眠状态。 提示
39 android.permission.WRITE_APN_SETTINGS 允许应用程序修改APN设置,例如任何APN的代理和端口。 提示
40 android.permission.WRITE_EXTERNAL_STORAGE 允许应用程序写入SD卡。 提示

四大组件

组件名称

com.greenpoint.android.mc10086.activity.wxapi.WXEntryActivity
com.greenpoint.android.mc10086.activity.wxapi.WXPayEntryActivity
com.alipay.sdk.app.H5PayActivity
com.aspire.paygateway.cmpay.CmpayH5Activity
com.unionpay.uppay.PayActivity
com.leadeon.cmcc.base.StartPageActivity
com.leadeon.cmcc.base.GuideActivity
com.leadeon.cmcc.view.tabs.AppTabFragment
com.leadeon.cmcc.view.menu.setting.SettingActivity
com.leadeon.cmcc.view.mine.userinfo.AccountManagementActivity
com.leadeon.cmcc.view.home.bill.BillActivity
com.leadeon.cmcc.core.zxing.CaptureActivity
com.leadeon.cmcc.core.zxing.CaptureSuccessActivity
com.leadeon.cmcc.view.home.payhistory.PayHistoryActivity
com.leadeon.cmcc.view.home.traffic.TrafficCheckTonghuaActivity
com.leadeon.cmcc.view.home.traffic.TrafficTongHuaDetailActivity
com.leadeon.cmcc.view.home.traffic.TrafficShareActivity
com.leadeon.cmcc.view.home.traffic.TrafficCheckDetailActivity
com.leadeon.cmcc.view.home.traffic.TrafficOutDetailActivity
com.leadeon.cmcc.view.home.traffic.TrafficUseAdviceActivity
com.leadeon.cmcc.view.home.integral.IntegralDetallActivity
com.leadeon.cmcc.view.home.traffic.TrafficUsedListActivity
com.leadeon.cmcc.view.home.querybalance.AccountBalanceInquiryActivity
com.leadeon.cmcc.view.guizhou.AccountBalanceGzActivity
com.leadeon.cmcc.view.guangxi.AccountBalanceGXActivity
com.leadeon.cmcc.view.server.feedback.FeedbackActivity
com.leadeon.cmcc.view.server.feedback.ShowImageActivity
com.leadeon.cmcc.view.server.feedback.FeedbackHistoryActivity
com.leadeon.cmcc.view.server.smsspan.SmsspanActivity
com.leadeon.cmcc.view.server.userfulsms.UserfulSmsActicity
com.leadeon.cmcc.view.server.userfulnum.UserfulNumActivity
com.leadeon.cmcc.view.server.numberaddress.NumberAddressActivity
com.leadeon.cmcc.view.server.applications.ApplicationsActivity
com.leadeon.cmcc.view.mine.detail.DetailTypeActivity
com.leadeon.cmcc.view.mine.detail.DetailActivity
com.leadeon.cmcc.view.mine.detail.DetailFilterActivity
com.leadeon.cmcc.view.home.querybusiness.QueryBusinessActivity
com.leadeon.cmcc.view.home.citychoose.CityChooseActivity
com.leadeon.cmcc.view.home.provicecitychoose.ProvinceChooseActivity
com.leadeon.cmcc.view.home.provicecitychoose.ProCityChooseActivity
com.leadeon.cmcc.view.mine.html5.CommonHtml5Activity
com.leadeon.cmcc.view.menu.NewsCenterActivity
com.ailk.ech.jfmall.ipu.activity.IpuRootActivity
com.phonecard.scanner.ScannerActivity
com.mob.tools.MobUIShell
com.leadeon.sdk.share.ShareEditpageActivity
com.leadeon.sdk.share.TwoweiMaActivity
com.leadeon.cmcc.view.mine.userinfo.ChangeUserInfoActivity
com.leadeon.cmcc.base.WelcomeActivity
com.leadeon.cmcc.view.server.andnum.MsgBoxList
com.leadeon.cmcc.view.server.andnum.NewSMSActivity
com.leadeon.cmcc.view.server.andnum.AndTabActivity
com.leadeon.cmcc.view.server.andnum.SelectContactsToSendActivity
com.leadeon.cmcc.view.menu.setting.SettingParticularsActivity
com.leadeon.cmcc.view.menu.referrer.BindReferrerActivity
com.leadeon.cmcc.view.server.andnum.CallLogDetail
com.leadeon.cmcc.view.server.andnum.SelectSubContactActivity
com.leadeon.cmcc.view.menu.NewMobileNoticeActivity
com.leadeon.cmcc.view.menu.NewsOrderActivity
com.leadeon.cmcc.core.plugin.export.CmccBridgeActivityForLeadeon
com.leadeon.cmcc.core.plugin.export.CmccBridgeActivity
com.leadeon.cmcc.core.plugin.pluginaction.DownloadActivity
com.leadeon.cmcc.view.mine.userinfo.RealNameRegistrationActivity
com.leadeon.cmcc.view.mine.userinfo.VideoAuthenActivity
com.leadeon.cmcc.view.beijing.BJBillActivity
com.leadeon.cmcc.view.beijing.RecordDetailActivity
com.leadeon.cmcc.view.mine.html5.PushDispatchActivity
com.leadeon.cmcc.view.home.JFMallActivity
com.leadeon.cmcc.view.beijing.BlanceActivity
com.leadeon.cmcc.view.beijing.TrafficManagerActivity
com.leadeon.sdk.view.UserLoginActivity
com.leadeon.cmcc.view.beijing.FlowFillingActivity
com.leadeon.cmcc.view.home.paycentre.PayCentreActivity
com.leadeon.sdk.view.UnlockGesturePasswordActivity
com.leadeon.sdk.view.CreateGesturePasswordActivity
com.leadeon.sdk.view.ValidateGestureActivity
com.leadeon.cmcc.view.home.Terminal4gDialogActivity
com.leadeon.cmcc.view.home.MyOrdersActivity
com.leadeon.cmcc.view.plugincenter.PluginCenterActivity
com.greenpoint.android.mc10086.activity.stub.PluginStubActivityStandard2
com.greenpoint.android.mc10086.activity.stub.PluginStubActivityStandard0
com.greenpoint.android.mc10086.activity.stub.PluginStubActivity0
com.greenpoint.android.mc10086.activity.stub.PluginStubActivity1
com.greenpoint.android.mc10086.activity.stub.PluginStubActivity2
com.greenpoint.android.mc10086.activity.stub.PluginStubActivity3
com.greenpoint.android.mc10086.activity.stub.PluginStubActivity4
com.greenpoint.android.mc10086.activity.stub.PluginStubActivity5
com.greenpoint.android.mc10086.activity.stub.PluginStubActivity6
com.greenpoint.android.mc10086.activity.stub.PluginStubActivity7
com.greenpoint.android.mc10086.activity.stub.PluginStubActivity8
com.greenpoint.android.mc10086.activity.stub.PluginStubActivity9
com.greenpoint.android.mc10086.activity.stub.PluginStubActivity10
com.greenpoint.android.mc10086.activity.stub.PluginStubActivity11
com.greenpoint.android.mc10086.activity.stub.PluginStubActivity12
com.greenpoint.android.mc10086.activity.stub.PluginStubActivity13
com.tencent.bugly.beta.ui.BetaActivity
com.tencent.tinker.loader.hotplug.ActivityStubs$STDStub_00
com.tencent.tinker.loader.hotplug.ActivityStubs$STDStub_01
com.tencent.tinker.loader.hotplug.ActivityStubs$STDStub_02
com.tencent.tinker.loader.hotplug.ActivityStubs$STDStub_03
com.tencent.tinker.loader.hotplug.ActivityStubs$STDStub_04
com.tencent.tinker.loader.hotplug.ActivityStubs$STDStub_05
com.tencent.tinker.loader.hotplug.ActivityStubs$STDStub_06
com.tencent.tinker.loader.hotplug.ActivityStubs$STDStub_07
com.tencent.tinker.loader.hotplug.ActivityStubs$STDStub_08
com.tencent.tinker.loader.hotplug.ActivityStubs$STDStub_09
com.tencent.tinker.loader.hotplug.ActivityStubs$STDStub_00_T
com.tencent.tinker.loader.hotplug.ActivityStubs$STDStub_01_T
com.tencent.tinker.loader.hotplug.ActivityStubs$STDStub_02_T
com.tencent.tinker.loader.hotplug.ActivityStubs$SGTStub_00
com.tencent.tinker.loader.hotplug.ActivityStubs$SGTStub_01
com.tencent.tinker.loader.hotplug.ActivityStubs$SGTStub_02
com.tencent.tinker.loader.hotplug.ActivityStubs$SGTStub_03
com.tencent.tinker.loader.hotplug.ActivityStubs$SGTStub_04
com.tencent.tinker.loader.hotplug.ActivityStubs$SGTStub_05
com.tencent.tinker.loader.hotplug.ActivityStubs$SGTStub_06
com.tencent.tinker.loader.hotplug.ActivityStubs$SGTStub_07
com.tencent.tinker.loader.hotplug.ActivityStubs$SGTStub_08
com.tencent.tinker.loader.hotplug.ActivityStubs$SGTStub_09
com.tencent.tinker.loader.hotplug.ActivityStubs$SGTStub_00_T
com.tencent.tinker.loader.hotplug.ActivityStubs$SGTStub_01_T
com.tencent.tinker.loader.hotplug.ActivityStubs$SGTStub_02_T
com.tencent.tinker.loader.hotplug.ActivityStubs$SGTKStub_00
com.tencent.tinker.loader.hotplug.ActivityStubs$SGTKStub_01
com.tencent.tinker.loader.hotplug.ActivityStubs$SGTKStub_02
com.tencent.tinker.loader.hotplug.ActivityStubs$SGTKStub_03
com.tencent.tinker.loader.hotplug.ActivityStubs$SGTKStub_04
com.tencent.tinker.loader.hotplug.ActivityStubs$SGTKStub_05
com.tencent.tinker.loader.hotplug.ActivityStubs$SGTKStub_06
com.tencent.tinker.loader.hotplug.ActivityStubs$SGTKStub_07
com.tencent.tinker.loader.hotplug.ActivityStubs$SGTKStub_08
com.tencent.tinker.loader.hotplug.ActivityStubs$SGTKStub_09
com.tencent.tinker.loader.hotplug.ActivityStubs$SGTKStub_00_T
com.tencent.tinker.loader.hotplug.ActivityStubs$SGTKStub_01_T
com.tencent.tinker.loader.hotplug.ActivityStubs$SGTKStub_02_T
com.tencent.tinker.loader.hotplug.ActivityStubs$SIStub_00
com.tencent.tinker.loader.hotplug.ActivityStubs$SIStub_01
com.tencent.tinker.loader.hotplug.ActivityStubs$SIStub_02
com.tencent.tinker.loader.hotplug.ActivityStubs$SIStub_03
com.tencent.tinker.loader.hotplug.ActivityStubs$SIStub_04
com.tencent.tinker.loader.hotplug.ActivityStubs$SIStub_05
com.tencent.tinker.loader.hotplug.ActivityStubs$SIStub_06
com.tencent.tinker.loader.hotplug.ActivityStubs$SIStub_07
com.tencent.tinker.loader.hotplug.ActivityStubs$SIStub_08
com.tencent.tinker.loader.hotplug.ActivityStubs$SIStub_09
com.tencent.tinker.loader.hotplug.ActivityStubs$SIStub_00_T
com.tencent.tinker.loader.hotplug.ActivityStubs$SIStub_01_T
com.tencent.tinker.loader.hotplug.ActivityStubs$SIStub_02_T
cn.richinfo.richpush.ClickResultActivity
com.water.richprocess.KeepAliveActivity
com.huawei.hms.activity.BridgeActivity
com.cmcc.sso.sdk.securitycode.SsoSecurityCodeActivity
com.chinamobile.cmccsdk.view.LoginActivity
com.yanzhenjie.permission.PermissionActivity

com.leadeon.cmcc.view.tabs.KillNotificationsService
com.baidu.location.f
com.cmcc.sso.service.SsoService
com.leadeon.plugin.core.app.PluginProcessService
com.greenpoint.android.mc10086.activity.stub.PluginStubService1
com.greenpoint.android.mc10086.activity.stub.PluginStubService2
com.greenpoint.android.mc10086.activity.stub.PluginStubService3
com.greenpoint.android.mc10086.activity.stub.PluginStubService4
com.greenpoint.android.mc10086.activity.stub.PluginStubService5
com.tencent.bugly.beta.tinker.TinkerResultService
com.tencent.tinker.lib.service.TinkerPatchService
com.tencent.tinker.lib.service.TinkerPatchService$InnerService
com.tencent.tinker.lib.service.DefaultTinkerResultService
com.water.richprocess.KeepAliveService
com.water.richprocess.KeepAliveService$KeepAliveInnerService
com.water.richprocess.JobSchedulerService
com.water.richprocess.MySyncServic
com.water.richprocess.MyAuthService
com.water.richprocess.DaemonService2
com.xiaomi.push.service.XMPushService
com.xiaomi.push.service.XMJobService
com.xiaomi.mipush.sdk.PushMessageHandler
com.xiaomi.mipush.sdk.MessageHandleService
com.taobao.accs.ChannelService
com.taobao.accs.data.MsgDistributeService
com.taobao.accs.internal.AccsJobService
com.taobao.accs.ChannelService$KernelService
org.android.agoo.accs.AgooService
com.umeng.message.UmengIntentService
com.umeng.message.XiaomiIntentService
com.umeng.message.UmengMessageIntentReceiverService
com.umeng.message.UmengMessageCallbackHandlerService
com.umeng.message.UmengDownloadResourceService
com.chinamobile.cmccsdk.service.CMCCService

com.leadeon.cmcc.view.plugincenter.PluginUpdateReceiver
com.leadeon.cmcc.core.util.NetBroadcastReceiver
com.greenpoint.android.mc10086.activity.stub.PluginStubReceiver
com.water.richprocess.KeepAliveReceiver
com.water.richprocess.DaemonReceiver1
com.water.richprocess.DaemonReceiver2
cn.richinfo.richpush.receiver.HuaweiPushRevicer
com.huawei.hms.support.api.push.PushEventReceiver
com.xiaomi.push.service.receivers.NetworkStatusReceiver
com.xiaomi.push.service.receivers.PingReceiver
cn.richinfo.richpush.receiver.XiaoMiMessageReceiver
com.taobao.accs.EventReceiver
com.taobao.accs.ServiceReceiver
com.taobao.agoo.AgooCommondReceiver
com.umeng.message.NotificationProxyBroadcastReceiver

com.leadeon.cmcc.core.plugin.export.CmccBridgeContentProviderForLeadeon
android.support.v4.content.FileProvider
com.leadeon.cmcc.core.util.ProcessContentProvider
com.leadeon.cmcc.core.plugin.export.CmccBridgeContentProvider
com.leadeon.lib.tools.dpreference.PreferenceProvider
com.leadeon.plugin.core.manager.PluginManagerProvider
com.tencent.bugly.beta.utils.BuglyFileProvider
com.water.richprocess.MContentProvide
com.huawei.hms.update.provider.UpdateProvider
cn.richinfo.richpush.contentprovider.XProvider
com.umeng.message.provider.MessageProvider

第三方库

# 库名 介绍
0 com.tencent.bugly 腾讯Bugly,面向移动开发者提供最专业的Crash监控、崩溃分析等质量跟踪服务,为您修复用户的每一次Crash!
1 retrofit2 Type-safe REST client for Android and Java by Square, Inc.
2 com.alibaba.fastjson Fast JSON Processor https://github.com/alibaba/fastjson/wiki
3 com.squareup.picasso A powerful image downloading and caching library for Android.
4 okhttp3 An HTTP+SPDY client for Android and Java applications.

静态扫描发现风险点

风险等级 风险名称

中危

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

位置: assets/traffic.apk
com.leadeon.plugin.lib.http.retrofitutil.RetrofitUtil$2;

当移动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需要移除大部分日志打印代码。
经扫描该包仍存在大量打日志代码,共发现112处打日志代码.(此处扫描的日志打印代码,是指调用android.util.Log.* 打印的.)
详情如下:

位置: classes.dex
com.tencent.legu.stat.common.Util;->isWifiNet(Landroid/content/Context;)Z==>android.util.Log;->e(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.legu.mid.util.Util;->getLocalXGAppList(Landroid/content/Context;)Ljava/util/Map;==>android.util.Log;->d(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.legu.stat.common.Util;->isNetworkAvailable(Landroid/content/Context;)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.legu.stat.common.Util;->getLinkedWay(Landroid/content/Context;)Ljava/lang/String;==>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.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.crashreport.CrashReport;->setUserId(Landroid/content/Context; Ljava/lang/String;)V==>android.util.Log;->e(Ljava/lang/String; Ljava/lang/String;)I
com.tencent.legu.mid.a.j;->run()V==>android.util.Log;->i(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.crashreport.CrashReport;->getAppChannel()Ljava/lang/String;==>android.util.Log;->e(Ljava/lang/String; Ljava/lang/String;)I
com.tencent.legu.stat.common.o;->a(Ljava/lang/String; I)V==>android.util.Log;->e(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.legu.stat.common.Util;->getWifiMacAddress(Landroid/content/Context;)Ljava/lang/String;==>android.util.Log;->e(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.legu.stat.common.Util;->getExternalStorageInfo(Landroid/content/Context;)Ljava/lang/String;==>android.util.Log;->e(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.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.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;->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.legu.stat.common.Util;->getSimOperator(Landroid/content/Context;)Ljava/lang/String;==>android.util.Log;->e(Ljava/lang/String; Ljava/lang/String;)I
com.tencent.legu.mid.util.Util;->isNetworkAvailable(Landroid/content/Context;)Z==>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;->e(Ljava/lang/String; Ljava/lang/String;)I
com.tencent.legu.mid.util.f;->c(Ljava/lang/Object;)V==>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;->setUserId(Landroid/content/Context; Ljava/lang/String;)V==>android.util.Log;->w(Ljava/lang/String; Ljava/lang/String;)I
com.tencent.legu.stat.common.StatLogger;->debug(Ljava/lang/Object;)V==>android.util.Log;->d(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.legu.mid.util.f;->e(Ljava/lang/Object;)V==>android.util.Log;->e(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;->getAppID()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.legu.stat.common.StatLogger;->info(Ljava/lang/Object;)V==>android.util.Log;->i(Ljava/lang/String; Ljava/lang/String;)I
com.tencent.legu.mid.util.Util;->getMidsByApps(Landroid/content/Context; I)Ljava/util/Map;==>android.util.Log;->w(Ljava/lang/String; Ljava/lang/String;)I
com.tencent.legu.MtaInstance;->b(Landroid/app/Application; Ljava/lang/String; Z)V==>android.util.Log;->d(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.crashreport.CrashReport;->closeCrashReport()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.legu.stat.common.Util;->getWifiTopN(Landroid/content/Context; I)Lorg/json/JSONArray;==>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;->testNativeCrash()V==>android.util.Log;->w(Ljava/lang/String; Ljava/lang/String;)I
com.tencent.legu.mid.util.f;->a(Ljava/lang/Exception;)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;->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.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.proguard.v;->a(Ljava/lang/Runnable;)Z==>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; Ljava/lang/String; Z Lcom/tencent/bugly/legu/BuglyStrategy;)V==>android.util.Log;->e(Ljava/lang/String; Ljava/lang/String;)I
com.tencent.legu.mid.util.Util;->getMidsByApps(Landroid/content/Context; I)Ljava/util/Map;==>android.util.Log;->d(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.legu.stat.StatConfig;->setBackgroundDelayTimestamp(J)V==>android.util.Log;->e(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.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;->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.crashreport.CrashReport;->getAppVer()Ljava/lang/String;==>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.legu.stat.common.StatLogger;->verbose(Ljava/lang/Object;)V==>android.util.Log;->v(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;->testJavaCrash()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.CrashReport;->getUserId()Ljava/lang/String;==>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;->startCrashReport()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;->e(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;->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.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;->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;->postCatchedException(Ljava/lang/Throwable; Z)V==>android.util.Log;->e(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.legu.mid.util.Util;->getMidsByApps(Landroid/content/Context; I)Ljava/util/Map;==>android.util.Log;->i(Ljava/lang/String; Ljava/lang/String;)I
com.tencent.legu.stat.common.o;->g(Landroid/content/Context;)Z==>android.util.Log;->i(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;->testANRCrash()V==>android.util.Log;->e(Ljava/lang/String; Ljava/lang/String;)I
com.tencent.legu.mid.util.f;->a(Ljava/lang/Object;)V==>android.util.Log;->i(Ljava/lang/String; Ljava/lang/String;)I
com.tencent.legu.mid.util.Util;->getToken(Landroid/content/Context; Ljava/lang/String;)Ljava/lang/String;==>android.util.Log;->i(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.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.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.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;->setIsDevelopmentDevice(Landroid/content/Context; Z)V==>android.util.Log;->w(Ljava/lang/String; Ljava/lang/String;)I
com.tencent.legu.mid.util.f;->g(Ljava/lang/Object;)V==>android.util.Log;->d(Ljava/lang/String; Ljava/lang/String;)I
com.tencent.legu.stat.common.StatLogger;->warn(Ljava/lang/Object;)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;->w(Ljava/lang/String; Ljava/lang/String;)I
com.tencent.legu.stat.common.Util;->isNetworkAvailable(Landroid/content/Context;)Z==>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;->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;->testNativeCrash()V==>android.util.Log;->e(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.legu.MtaInstance;->b(Landroid/app/Application; Ljava/lang/String; Z)V==>android.util.Log;->w(Ljava/lang/String; Ljava/lang/String;)I
com.tencent.legu.stat.common.StatLogger;->error(Ljava/lang/Object;)V==>android.util.Log;->e(Ljava/lang/String; Ljava/lang/String;)I
com.tencent.legu.stat.common.Util;->getDeviceID(Landroid/content/Context;)Ljava/lang/String;==>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;->e(Ljava/lang/String; Ljava/lang/String;)I

位置: assets/cmcc-sso-3.1.4.3.jaar
com.cmcc.sso.d.s;->b(Ljava/lang/String; Ljava/lang/String;)V==>android.util.Log;->w(Ljava/lang/String; Ljava/lang/String;)I
com.cmcc.sso.d.s;->b(Ljava/lang/String;)V==>android.util.Log;->i(Ljava/lang/String; Ljava/lang/String;)I
com.cmcc.sso.d.s;->a(Ljava/lang/String; Ljava/lang/String;)V==>android.util.Log;->d(Ljava/lang/String; Ljava/lang/String;)I
com.cmcc.sso.d.s;->c(Ljava/lang/String; Ljava/lang/String;)V==>android.util.Log;->e(Ljava/lang/String; Ljava/lang/String;)I

位置: assets/traffic.apk
com.leadeon.plugin.lib.controls.DragView;->onTouch(Landroid/view/View; Landroid/view/MotionEvent;)Z==>android.util.Log;->e(Ljava/lang/String; Ljava/lang/String;)I
com.leadeon.plugin.lib.tools.MyLog;->llog(I Ljava/lang/String; Ljava/lang/Object;)V==>android.util.Log;->d(Ljava/lang/String; Ljava/lang/String;)I
com.leadeon.plugin.lib.tools.MyLog;->llog(I Ljava/lang/String; Ljava/lang/Object;)V==>android.util.Log;->w(Ljava/lang/String; Ljava/lang/String;)I
com.squareup.picasso.StatsSnapshot;->dump()V==>android.util.Log;->i(Ljava/lang/String; Ljava/lang/String;)I
com.squareup.picasso.Utils;->log(Ljava/lang/String; Ljava/lang/String; Ljava/lang/String; Ljava/lang/String;)V==>android.util.Log;->d(Ljava/lang/String; Ljava/lang/String;)I
com.leadeon.plugin.lib.tools.MyLog;->llog(I Ljava/lang/String; Ljava/lang/Object;)V==>android.util.Log;->v(Ljava/lang/String; Ljava/lang/String;)I
com.leadeon.plugin.lib.tools.MyLog;->llog(I Ljava/lang/String; Ljava/lang/Object;)V==>android.util.Log;->i(Ljava/lang/String; Ljava/lang/String;)I
com.leadeon.plugin.lib.http.retrofitutil.RetrofitUtil$1;->log(Ljava/lang/String;)V==>android.util.Log;->e(Ljava/lang/String; Ljava/lang/String;)I
com.leadeon.plugin.lib.tools.MyLog;->llog(I Ljava/lang/String; Ljava/lang/Object;)V==>android.util.Log;->e(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

中危

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

位置: classes.dex
'10.0.0.172' used in: Lcom/tencent/legu/stat/common/StatCommonHelper;->getHttpProxy(Landroid/content/Context;)Lorg/apache/http/HttpHost;
'10.0.0.172' used in: Lcom/tencent/legu/mid/util/Util;->getHttpProxy(Landroid/content/Context;)Lorg/apache/http/HttpHost;
'10.0.0.200' used in: Lcom/tencent/legu/mid/a/a;->(Ljava/lang/String; Ljava/util/Map;)V
'10.0.0.200' used in: Lcom/tencent/legu/stat/common/StatCommonHelper;->getHttpProxy(Landroid/content/Context;)Lorg/apache/http/HttpHost;
'10.0.0.200' used in: Lcom/tencent/legu/mid/util/Util;->getHttpProxy(Landroid/content/Context;)Lorg/apache/http/HttpHost;
'ctwap@mycdma.cn' used in: Lcom/tencent/legu/mid/a/a;->(Ljava/lang/String; Ljava/util/Map;)V
'http://android.bugly.qq.com/rqd/async' used in: Lcom/tencent/bugly/legu/crashreport/common/strategy/StrategyBean;->()V
'http://pingma.qq.com:80/mstat/report' used in: Lcom/tencent/legu/stat/StatConfig;->()V
'http://rqd.uu.qq.com/rqd/sync' used in: Lcom/tencent/bugly/legu/crashreport/common/strategy/StrategyBean;->()V

位置: assets/cmcc-sso-3.1.4.3.jaar
'http://wap.cmpassport.com:8080/client/authRequest' used in: Lcom/cmcc/sso/a/c;->d(Landroid/content/Context;)Ljava/lang/String;
'http://www.cmpassport.com/openapi/NorthForwardServlet' used in: Lcom/cmcc/sso/auth/b;->b()V
'https://www.cmpassport.com/openapi/UASaveTokenInfo' used in: Lcom/cmcc/sso/d/a;->a(Landroid/content/Context; Ljava/lang/String; Ljava/lang/String;)Z
'www.cmpassport.com' used in: Lcom/cmcc/sso/auth/b;->b(I)V

位置: assets/traffic.apk
'10.0.0.172' used in: Lcom/leadeon/plugin/lib/http/retrofitutil/RetrofitUtil;->getRetrofit(Landroid/content/Context; Ljava/lang/Class;)Lretrofit2/Retrofit;
'10.0.0.200' used in: Lcom/leadeon/plugin/lib/http/retrofitutil/RetrofitUtil;->getRetrofit(Landroid/content/Context; Ljava/lang/Class;)Lretrofit2/Retrofit;
'file:///android_asset/' used in: Lcom/squareup/picasso/AssetRequestHandler;->()V
'http://111.20.119.234:2102/file.php' used in: Lcom/leadeon/plugin/lib/http/Urls;->changeUrlAdress()V
'http://111.20.119.234:2113' used in: Lcom/leadeon/plugin/lib/http/Urls;->changeUrlAdress()V
'http://111.20.119.234:9080' used in: Lcom/leadeon/plugin/lib/http/Urls;->changeUrlAdress()V
'http://111.20.119.234:9080/leadeon-cmcc-static' used in: Lcom/leadeon/plugin/lib/http/Urls;->changeUrlAdress()V
'http://111.20.119.234:9080/leadeon-cmcc-static/v2.0/pages/service/hallMap/businessHall.html?chnnlId=' used in: Lcom/leadeon/plugin/lib/http/Urls;->getUrlByCode()Ljava/util/HashMap;
'http://localhost/' used in: Lretrofit2/Response;->success(Ljava/lang/Object; Lokhttp3/Headers;)Lretrofit2/Response;
'http://localhost/' used in: Lretrofit2/Response;->error(I Lokhttp3/ResponseBody;)Lretrofit2/Response;
'http://localhost/' used in: Lretrofit2/Response;->success(Ljava/lang/Object;)Lretrofit2/Response;
'http://se.richinfo.cn:20001/client_search/' used in: Lcom/leadeon/plugin/lib/http/Urls;->changeUrlAdress()V
'http://search.10086.cn/client_search/' used in: Lcom/leadeon/plugin/lib/http/Urls;->changeUrlAdress()V
'http://search.10086.cn/staff/client_search/' used in: Lcom/leadeon/plugin/lib/http/Urls;->changeUrlAdress()V
'http://www.cmqrid.com/mobhall.action?method=login&mob=' used in: Lcom/leadeon/plugin/lib/http/Urls;->getUrlByCode()Ljava/util/HashMap;
'https://actest.10086.cn/AppSSO.action?targetChannelID=12011&targetUrl=http://club.10086.cn:8080/static/h5/cmccClub/app/index.html' used in: Lcom/leadeon/plugin/lib/http/Urls;->getUrlByCode()Ljava/util/HashMap;
'https://actest.10086.cn/AppSSO.action?targetChannelID=12011&targetUrl=http://club.10086.cn:8080/static/h5/cmccClub/app/indexm.html' used in: Lcom/leadeon/plugin/lib/http/Urls;->getUrlByCode()Ljava/util/HashMap;
'https://actest.10086.cn/AppSSO.action?targetChannelID=12011&targetUrl=http://club.10086.cn:8080/static/h5/cmccClub/app/office/gotone.html' used in: Lcom/leadeon/plugin/lib/http/Urls;->getUrlByCode()Ljava/util/HashMap;
'https://actest.10086.cn/AppSSO.action?targetChannelID=12011&targetUrl=http://club.10086.cn:8080/static/h5/cmccClub/app/office/mzone.html' used in: Lcom/leadeon/plugin/lib/http/Urls;->getUrlByCode()Ljava/util/HashMap;
'https://app.10086.cn/file.php' used in: Lcom/leadeon/plugin/lib/http/Urls;->changeUrlAdress()V
'https://app.10086.cn/leadeon-cmcc-static' used in: Lcom/leadeon/plugin/lib/http/Urls;->changeUrlAdress()V
'https://app.10086.cn/leadeon-cmcc-static-test' used in: Lcom/leadeon/plugin/lib/http/Urls;->changeUrlAdress()V
'https://app.10086.cn/leadeon-cmcc-static-test/v2.0/pages/service/hallMap/businessHall.html?chnnlId=' used in: Lcom/leadeon/plugin/lib/http/Urls;->getUrlByCode()Ljava/util/HashMap;
'https://app.10086.cn/leadeon-cmcc-static-test/v2.0/pages/service/hallMap/businessHall_list.html' used in: Lcom/leadeon/plugin/lib/http/Urls;->getUrlByCode()Ljava/util/HashMap;
'https://app.10086.cn/leadeon-cmcc-static/v2.0/pages/service/hallMap/businessHall.html?chnnlId=' used in: Lcom/leadeon/plugin/lib/http/Urls;->getUrlByCode()Ljava/util/HashMap;
'https://app.10086.cn/leadeon-cmcc-static/v2.0/pages/service/hallMap/businessHall_list.html ' used in: Lcom/leadeon/plugin/lib/http/Urls;->getUrlByCode()Ljava/util/HashMap;
'https://clientaccess.10086.cn' used in: Lcom/leadeon/plugin/lib/http/Urls;->changeUrlAdress()V
'https://login.10086.cn/AppSSO.action?targetChannelID=12011&targetUrl=http://club.10086.cn/static/h5/cmccClub/app/index.html' used in: Lcom/leadeon/plugin/lib/http/Urls;->getUrlByCode()Ljava/util/HashMap;
'https://login.10086.cn/AppSSO.action?targetChannelID=12011&targetUrl=http://club.10086.cn/static/h5/cmccClub/app/indexm.html' used in: Lcom/leadeon/plugin/lib/http/Urls;->getUrlByCode()Ljava/util/HashMap;
'https://login.10086.cn/AppSSO.action?targetChannelID=12011&targetUrl=http://club.10086.cn/static/h5/cmccClub/app/office/gotone.html' used in: Lcom/leadeon/plugin/lib/http/Urls;->getUrlByCode()Ljava/util/HashMap;
'https://login.10086.cn/AppSSO.action?targetChannelID=12011&targetUrl=http://club.10086.cn/static/h5/cmccClub/app/office/mzone.html' used in: Lcom/leadeon/plugin/lib/http/Urls;->getUrlByCode()Ljava/util/HashMap;
'https://push.clientaccess.10086.cn' used in: Lcom/leadeon/plugin/lib/http/Urls;->changeUrlAdress()V

中危

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

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

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/

中危

检测到1使用全局可读写操作文件。

位置: classes.dex
com.tencent.legu.mid.api.a;->(Landroid.content.Context;)V===>getSharedPreferences

在使用getDir、getSharedPreferences(SharedPreference)或openFileOutput时,如果设置了全局的可读权限,攻击者恶意读取文件内容,获取敏感信息。在设置文件属性时如果设置全局可写,攻击者可能会篡改、伪造内容,可以能会进行诈骗等行为,造成用户财产损失。建议:
(1)使用MODE_PRIVATE模式创建内部存储文件。
(2)加密存储敏感数据。
(3)避免在文件中存储明文和敏感信息。

参考案例:
http://wooyun.org/bugs/wooyun-2010-047172
http://wooyun.org/bugs/wooyun-2010-054438
http://wooyun.org/bugs/wooyun-2010-0151270

参考资料:
https://jaq.alibaba.com/blog.htm?id=56
https://jaq.alibaba.com/blog.htm?id=58
http://wolfeye.baidu.com/blog/global-rw-of-file
http://wolfeye.baidu.com/blog/global-rw-of-sharepreference/

低危

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

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

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脚本,移除大部分系统输出代码。
经扫描该包仍存在大量系统输出代码,共发现4处系统输出代码.(此处扫描的系统输出代码,是指调用System.out.print*输出的,本应在打包平台移除的系统输出代码.)
各个bundle系统输出代码详情如下:

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

位置: assets/cmcc-sso-3.1.4.3.jaar
com.cmcc.sso.d.c;

位置: assets/traffic.apk
com.leadeon.plugin.lib.tools.AndroidUtils;
com.leadeon.plugin.lib.tools.AppUtils;

低危

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

位置: assets/traffic.apk
com.leadeon.plugin.lib.http.retrofitutil.RetrofitUtil$3;->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

警告

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

activity com.greenpoint.android.mc10086.activity.wxapi.WXEntryActivity
activity com.greenpoint.android.mc10086.activity.wxapi.WXPayEntryActivity
activity com.mob.tools.MobUIShell
activity com.leadeon.cmcc.view.mine.html5.PushDispatchActivity
activity cn.richinfo.richpush.ClickResultActivity
service com.water.richprocess.KeepAliveService
service com.water.richprocess.MySyncServic
service com.water.richprocess.MyAuthService
service com.xiaomi.mipush.sdk.PushMessageHandler
service com.taobao.accs.ChannelService
service com.taobao.accs.data.MsgDistributeService
service org.android.agoo.accs.AgooService
service com.umeng.message.UmengIntentService
service com.umeng.message.XiaomiIntentService
service com.umeng.message.UmengMessageIntentReceiverService
receiver com.leadeon.cmcc.core.util.NetBroadcastReceiver
receiver com.water.richprocess.KeepAliveReceiver
receiver cn.richinfo.richpush.receiver.HuaweiPushRevicer
receiver com.huawei.hms.support.api.push.PushEventReceiver
receiver com.xiaomi.push.service.receivers.NetworkStatusReceiver
receiver cn.richinfo.richpush.receiver.XiaoMiMessageReceiver
receiver com.taobao.accs.EventReceiver
receiver com.taobao.accs.ServiceReceiver
receiver com.taobao.agoo.AgooCommondReceiver

建议:
(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安全技术解密与防范》

警告

检测到9个导出的隐式Service组件。
service com.water.richprocess.KeepAliveService
service com.water.richprocess.MySyncServic
service com.water.richprocess.MyAuthService
service com.taobao.accs.ChannelService
service com.taobao.accs.data.MsgDistributeService
service org.android.agoo.accs.AgooService
service com.umeng.message.UmengIntentService
service com.umeng.message.XiaomiIntentService
service com.umeng.message.UmengMessageIntentReceiverService

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

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

警告

检测2处組件設置了android.intent.category.BROWSABLE属性。
com.leadeon.cmcc.base.StartPageActivity
com.mob.tools.MobUIShell


在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

警告

检测到10处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
com.tencent.legu.mid.util.a;->d()Ljavax.crypto.spec.IvParameterSpec;
com.tencent.legu.mid.util.a;->a(Ljava.lang.String; Ljava.lang.String;)V

位置: assets/cmcc-sso-3.1.4.3.jaar
com.cmcc.proxy.b;->b(Ljava.lang.String; Ljava.lang.String;)Ljava.lang.String;
com.cmcc.proxy.b;->c(Ljava.lang.String; Ljava.lang.String;)Ljava.lang.String;
com.cmcc.proxy.b;->d(Ljava.lang.String; Ljava.lang.String;)Ljava.lang.String;

位置: assets/traffic.apk
com.leadeon.plugin.lib.tools.Des3Utils;->decode(Ljava.lang.String; Ljava.lang.String;)Ljava.lang.String;
com.leadeon.plugin.lib.tools.Des3Utils;->encode(Ljava.lang.String; Ljava.lang.String;)Ljava.lang.String;

使用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。
android.support.v4.content.FileProvider
com.tencent.bugly.beta.utils.BuglyFileProvider
com.huawei.hms.update.provider.UpdateProvider


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

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

警告

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

位置: classes.dex
com.tencent.legu.mid.util.a;->a()Ljavax.crypto.SecretKey;
com.tencent.legu.mid.util.Util;->getHMAC(Ljava.lang.String; Ljava.lang.String;)[B
com.tencent.bugly.legu.proguard.a;->a(I [B [B)[B
com.tencent.bugly.legu.proguard.ae;->a([B)[B
com.tencent.legu.mid.util.a;->a(Ljava.lang.String; Ljava.lang.String;)V

位置: assets/cmcc-sso-3.1.4.3.jaar
com.cmcc.proxy.b;->c(Ljava.lang.String; Ljava.lang.String;)Ljava.lang.String;
com.cmcc.proxy.b;->d(Ljava.lang.String; Ljava.lang.String;)Ljava.lang.String;
com.cmcc.proxy.b;->b(Ljava.lang.String; Ljava.lang.String;)Ljava.lang.String;

位置: assets/traffic.apk
okio.ByteString;->hmac(Ljava.lang.String; Lokio.ByteString;)Lokio.ByteString;
okio.HashingSource;->(Lokio.Source; Lokio.ByteString; Ljava.lang.String;)V
okio.Buffer;->hmac(Ljava.lang.String; Lokio.ByteString;)Lokio.ByteString;
okio.HashingSink;->(Lokio.Sink; Lokio.ByteString; Ljava.lang.String;)V

参考案例:
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跨站漏洞。
开发中...

应用证书