漏洞分析

0

高危漏洞

6

中危漏洞

3

低危漏洞

9

警告

文件名 giraffe_doctor-release.apk
上传者 Nathan
文件大小 15.67099571228MB
MD5 786bcdba18af9673aecf282b2cb45ef9
包名 com.doctors_express.giraffe_doctor
Main Activity com.doctors_express.giraffe_doctor.ui.activity.SplashActivity
Min SDK 21
Target SDK 22

权限列表

# 名称 说明 提示
0 android.permission.CALL_PHONE 允许应用程序在您不介入的情况下拨打电话。恶意应用程序可借此在您的话费单上产生意外通话费。请注意,此权限不允许应用程序拨打紧急呼救电话。 警告
1 android.permission.ACCESS_COARSE_LOCATION 访问大概的位置源(例如蜂窝网络数据库)以确定手机的大概位置(如果可以)。恶意应用程序可借此确定您所处的大概位置。 注意
2 android.permission.ACCESS_FINE_LOCATION 访问精准的位置源,例如手机上的全球定位系统(如果有)。恶意应用程序可能会借此确定您所处的位置,并可能消耗额外的电池电量。 注意
3 android.permission.ACCESS_LOCATION_EXTRA_COMMANDS 访问额外的位置信息提供程序命令。恶意应用程序可借此干扰GPS或其他位置源的正常工作。 注意
4 android.permission.BLUETOOTH 允许应用程序查看本地蓝牙手机的配置,以及建立或接受与配对设备的连接。 注意
5 android.permission.READ_PHONE_STATE 允许应用程序访问设备的手机功能。有此权限的应用程序可确定此手机的号码和序列号,是否正在通话,以及对方的号码等。 注意
6 android.permission.RECEIVE_BOOT_COMPLETED 允许应用程序在系统完成启动后即自行启动。这样会延长手机的启动时间,而且如果应用程序一直运行,会降低手机的整体速度。 注意
7 android.permission.RECORD_AUDIO 允许应用程序访问录音路径。 注意
8 android.permission.SYSTEM_ALERT_WINDOW 允许应用程序显示系统警报窗口。恶意应用程序可借此掌控整个手机屏幕。 注意
9 android.permission.WRITE_SETTINGS 允许应用程序修改系统设置方面的数据。恶意应用程序可借此破坏您的系统配置。 注意
10 android.permission.ACCESS_NETWORK_STATE 允许应用程序查看所有网络的状态。 提示
11 android.permission.ACCESS_WIFI_STATE 允许应用程序查看有关WLAN状态的信息。 提示
12 android.permission.CAMERA 允许应用程序使用相机拍照,这样应用程序可随时收集进入相机镜头的图像。 提示
13 android.permission.CHANGE_NETWORK_STATE 允许应用程序更改网络连接的状态。 提示
14 android.permission.CHANGE_WIFI_STATE 允许应用程序连接到WLAN接入点以及与WLAN接入点断开连接,并对配置的WLAN网络进行更改。 提示
15 android.permission.INTERNET 允许程序访问网络. 提示
16 android.permission.MODIFY_AUDIO_SETTINGS 允许应用程序修改整个系统的音频设置,如音量和路由。 提示
17 android.permission.MOUNT_UNMOUNT_FILESYSTEMS 允许应用程序装载和卸载可移动存储器的文件系统。 提示
18 android.permission.VIBRATE 允许应用程序控制振动器。 提示
19 android.permission.WAKE_LOCK 允许应用程序防止手机进入休眠状态。 提示
20 android.permission.WRITE_EXTERNAL_STORAGE 允许应用程序写入SD卡。 提示

四大组件

组件名称

com.doctors_express.giraffe_doctor.ui.activity.SplashActivity
com.doctors_express.giraffe_doctor.ui.home.MainActivity
com.doctors_express.giraffe_doctor.ui.activity.RegisterActivity
com.doctors_express.giraffe_doctor.ui.activity.LoginActivity
com.doctors_express.giraffe_doctor.ui.activity.UnReadMessageActivity
com.doctors_express.giraffe_doctor.ui.activity.ReferralDetailActivity
com.doctors_express.giraffe_doctor.ui.activity.VisitDetailActivity
com.doctors_express.giraffe_doctor.ui.activity.PatientListActivity
com.doctors_express.giraffe_doctor.ui.activity.MedicalRecordListActivity
com.doctors_express.giraffe_doctor.ui.activity.DoctorProfileActivity
com.doctors_express.giraffe_doctor.ui.activity.AboutActivity
com.doctors_express.giraffe_doctor.ui.video.VideoChatViewActivity
com.doctors_express.giraffe_doctor.ui.activity.NoticeDialogActivity
com.doctors_express.giraffe_doctor.ui.activity.VideoAdviceActivity
com.doctors_express.giraffe_doctor.ui.activity.ApptAttrDetailActivity
com.doctors_express.giraffe_doctor.ui.activity.DoctorRecordActivity
com.nathan.imagePager.BigImagePagerActivity
cn.jpush.android.ui.PopWinActivity
cn.jpush.android.ui.PushActivity
com.luck.picture.lib.PictureSelectorActivity
com.luck.picture.lib.PictureBaseActivity
com.luck.picture.lib.PicturePreviewActivity
com.luck.picture.lib.PictureVideoPlayActivity
com.luck.picture.lib.PictureExternalPreviewActivity
com.yalantis.ucrop.UCropActivity
com.yalantis.ucrop.PictureMultiCuttingActivity
com.luck.picture.lib.PicturePlayAudioActivity
me.weyye.hipermission.PermissionActivity

com.doctors_express.giraffe_doctor.service.JobSchedulerService
cn.jpush.android.service.DownloadService
cn.jpush.android.service.PushService
cn.jpush.android.service.DaemonService

com.doctors_express.giraffe_doctor.receiver.MyReceiver
cn.jpush.android.service.PushReceiver
cn.jpush.android.service.AlarmReceiver

ezy.boost.update.UpdateFileProvider
com.luck.picture.lib.PictureFileProvider

第三方库

# 库名 介绍
0 com.alibaba.fastjson Fast JSON Processor https://github.com/alibaba/fastjson/wiki
1 android.support.transition A backport of the new Transitions API for Android.
2 cn.jpush.android.api 极光推送,使得开发者可以即时地向其应用程序的用户推送通知或者消息,与用户保持互动,从而有效地提高留存率,提升用户体验。平台提供整合了Android推送、iOS推送的统一推送服务。
3 okhttp3 An HTTP+SPDY client for Android and Java applications.
4 com.bumptech.glide An image loading and caching library for Android focused on smooth scrolling
5 com.alipay.sdk 支付宝移动支付功能
6 butterknife View "injection" library for Android.
7 uk.co.senab.photoview Implementation of ImageView for Android that supports zooming, by various touch gestures.
8 de.hdodenhof.circleimageview A fast circular ImageView perfect for profile images.
9 com.zhy.view An Android Library that allows users to pull down a menu and select different actions. It can be implemented inside ScrollView, GridView, ListView.
10 cn.iwgang.countdownview Android 倒计时控件
11 android.support.multidex DEPRECATED
12 com.flyco.tablayout An Android TabLayout Lib has two kinds of TabLayout at present.
13 com.antonyt.infiniteviewpager Augment Android's ViewPager with wrap-around functionality.

静态扫描发现风险点

风险等级 风险名称

中危

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

中危

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

位置: classes.dex
com.lzy.okgo.https.HttpsUtils$1;
com.nathan.common.commonutils.HttpsUtils$UnSafeTrustManager;

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

位置: classes.dex
com.doctors_express.giraffe_doctor.service.JobSchedulerService;->a()V==>android.util.Log;->d(Ljava/lang/String; Ljava/lang/String;)I
com.b.a.a;->b(Ljava/lang/String; Ljava/lang/String;)V==>android.util.Log;->e(Ljava/lang/String; Ljava/lang/String;)I
ezy.boost.update.s;->a(Ljava/lang/String;)V==>android.util.Log;->i(Ljava/lang/String; Ljava/lang/String;)I
com.luck.picture.lib.widget.longimage.SubsamplingScaleImageView;->a(Ljava/lang/String; [Ljava/lang/Object;)V==>android.util.Log;->d(Ljava/lang/String; Ljava/lang/String;)I
com.jzxiang.pickerview.a.b;->a(Landroid/view/View; I)Landroid/widget/TextView;==>android.util.Log;->e(Ljava/lang/String; Ljava/lang/String;)I
cn.jiguang.d.a;->b(Ljava/lang/String; Ljava/lang/String;)V==>android.util.Log;->d(Ljava/lang/String; Ljava/lang/String;)I
com.yalantis.ucrop.c.e;->a(Landroid/content/Context; Landroid/net/Uri; Ljava/lang/String; [Ljava/lang/String;)Ljava/lang/String;==>android.util.Log;->i(Ljava/lang/String; Ljava/lang/String;)I
com.youth.banner.Banner;->setImageList(Ljava/util/List;)V==>android.util.Log;->e(Ljava/lang/String; Ljava/lang/String;)I
com.yalantis.ucrop.c.a;->a(Landroid/content/Context;)I==>android.util.Log;->d(Ljava/lang/String; Ljava/lang/String;)I
com.lzy.okgo.utils.OkLogger;->v(Ljava/lang/String; Ljava/lang/String;)V==>android.util.Log;->v(Ljava/lang/String; Ljava/lang/String;)I
com.bumptech.glide.load.b.a.f;->b(I I Landroid/graphics/Bitmap$Config;)Landroid/graphics/Bitmap;==>android.util.Log;->d(Ljava/lang/String; Ljava/lang/String;)I
cn.jpush.android.e.a.c;->onProgressChanged(Landroid/webkit/WebView; I)V==>android.util.Log;->d(Ljava/lang/String; Ljava/lang/String;)I
com.qmuiteam.qmui.qqface.QMUIQQFaceView;->onMeasure(I I)V==>android.util.Log;->i(Ljava/lang/String; Ljava/lang/String;)I
com.lzy.okgo.utils.OkLogger;->i(Ljava/lang/String; Ljava/lang/String;)V==>android.util.Log;->i(Ljava/lang/String; Ljava/lang/String;)I
com.qmuiteam.qmui.widget.pullRefreshLayout.QMUIPullRefreshLayout;->h()V==>android.util.Log;->i(Ljava/lang/String; Ljava/lang/String;)I
com.yalantis.ucrop.b.b;->a(Landroid/net/Uri; Landroid/net/Uri;)V==>android.util.Log;->d(Ljava/lang/String; Ljava/lang/String;)I
com.doctors_express.giraffe_doctor.ui.video.VideoChatViewActivity;->checkSelfPermission(Ljava/lang/String; I)Z==>android.util.Log;->i(Ljava/lang/String; Ljava/lang/String;)I
com.doctors_express.giraffe_doctor.b.e$a;->onSensorChanged(Landroid/hardware/SensorEvent;)V==>android.util.Log;->d(Ljava/lang/String; Ljava/lang/String;)I
com.b.a.a;->d(Ljava/lang/String; Ljava/lang/String;)V==>android.util.Log;->i(Ljava/lang/String; Ljava/lang/String;)I
com.qmuiteam.qmui.widget.pullRefreshLayout.QMUIPullRefreshLayout;->onInterceptTouchEvent(Landroid/view/MotionEvent;)Z==>android.util.Log;->e(Ljava/lang/String; Ljava/lang/String;)I
cn.jpush.android.e.a.d;->a(Ljava/lang/reflect/Method;)Ljava/lang/String;==>android.util.Log;->w(Ljava/lang/String; Ljava/lang/String;)I
com.bumptech.glide.i;->a(Ljava/lang/Class; Ljava/lang/Class; Landroid/content/Context;)Lcom/bumptech/glide/load/c/l;==>android.util.Log;->d(Ljava/lang/String; Ljava/lang/String;)I
com.doctors_express.giraffe_doctor.service.JobSchedulerService;->onStartJob(Landroid/app/job/JobParameters;)Z==>android.util.Log;->d(Ljava/lang/String; Ljava/lang/String;)I
com.bumptech.glide.i.a;->b()[B==>android.util.Log;->d(Ljava/lang/String; Ljava/lang/String;)I
com.c.a.a.aw;->a(I Ljava/lang/String; Ljava/lang/String; Ljava/lang/Throwable;)V==>android.util.Log;->i(Ljava/lang/String; Ljava/lang/String;)I
uk.co.senab.photoview.b.c;->b(Ljava/lang/String; Ljava/lang/String;)I==>android.util.Log;->i(Ljava/lang/String; Ljava/lang/String;)I
com.bumptech.glide.load.b.b.i;->(Landroid/content/Context; Landroid/app/ActivityManager; Lcom/bumptech/glide/load/b/b/i$b;)V==>android.util.Log;->d(Ljava/lang/String; Ljava/lang/String;)I
io.agora.rtc.video.ViESurfaceRenderer;->(Landroid/view/SurfaceView;)V==>android.util.Log;->i(Ljava/lang/String; Ljava/lang/String;)I
com.doctors_express.giraffe_doctor.receiver.MyReceiver;->onReceive(Landroid/content/Context; Landroid/content/Intent;)V==>android.util.Log;->w(Ljava/lang/String; Ljava/lang/String;)I
com.bumptech.glide.d.k;->handleMessage(Landroid/os/Message;)Z==>android.util.Log;->w(Ljava/lang/String; Ljava/lang/String;)I
io.agora.rtc.video.ViESurfaceRenderer;->surfaceDestroyed(Landroid/view/SurfaceHolder;)V==>android.util.Log;->d(Ljava/lang/String; Ljava/lang/String;)I
com.bumptech.glide.g.a;->a(Ljava/lang/String;)V==>android.util.Log;->v(Ljava/lang/String; Ljava/lang/String;)I
com.c.a.a.aw;->a(I Ljava/lang/String; Ljava/lang/String; Ljava/lang/Throwable;)V==>android.util.Log;->v(Ljava/lang/String; Ljava/lang/String;)I
com.doctors_express.giraffe_doctor.receiver.MyReceiver;->a(Landroid/os/Bundle;)Ljava/lang/String;==>android.util.Log;->i(Ljava/lang/String; Ljava/lang/String;)I
uk.co.senab.photoview.b.c;->a(Ljava/lang/String; Ljava/lang/String;)I==>android.util.Log;->d(Ljava/lang/String; Ljava/lang/String;)I
com.doctors_express.giraffe_doctor.receiver.MyReceiver;->onReceive(Landroid/content/Context; Landroid/content/Intent;)V==>android.util.Log;->d(Ljava/lang/String; Ljava/lang/String;)I
com.bumptech.glide.load.b.a.f;->a(I)V==>android.util.Log;->d(Ljava/lang/String; Ljava/lang/String;)I
com.doctors_express.giraffe_doctor.service.JobSchedulerService;->a(Ljava/lang/String;)V==>android.util.Log;->d(Ljava/lang/String; Ljava/lang/String;)I
com.bumptech.glide.b.a;->f()Landroid/graphics/Bitmap;==>android.util.Log;->d(Ljava/lang/String; Ljava/lang/String;)I
io.agora.rtc.video.MediaCodecVideoDecoder;->disableVp8HwCodec()V==>android.util.Log;->w(Ljava/lang/String; Ljava/lang/String;)I
com.doctors_express.giraffe_doctor.ui.video.VideoChatViewActivity;->onRequestPermissionsResult(I [Ljava/lang/String; [I)V==>android.util.Log;->i(Ljava/lang/String; Ljava/lang/String;)I
com.bumptech.glide.load.resource.c.j;->a(Lcom/bumptech/glide/load/b/k; Ljava/io/OutputStream;)Z==>android.util.Log;->v(Ljava/lang/String; Ljava/lang/String;)I
com.yalantis.ucrop.UCropActivity;->onCreateOptionsMenu(Landroid/view/Menu;)Z==>android.util.Log;->i(Ljava/lang/String; Ljava/lang/String;)I
com.scwang.smartrefresh.layout.internal.pathview.a$b;->a(Landroid/graphics/Path; F F F F F F F Z Z)V==>android.util.Log;->w(Ljava/lang/String; Ljava/lang/String;)I
com.yalantis.ucrop.b.a;->a()Z==>android.util.Log;->i(Ljava/lang/String; Ljava/lang/String;)I
com.doctors_express.giraffe_doctor.ui.activity.SplashActivity$1;->onClose()V==>android.util.Log;->i(Ljava/lang/String; Ljava/lang/String;)I
com.bumptech.glide.load.b.i;->e()Lcom/bumptech/glide/load/b/k;==>android.util.Log;->d(Ljava/lang/String; Ljava/lang/String;)I
com.bumptech.glide.g.b.k$a$a;->onPreDraw()Z==>android.util.Log;->v(Ljava/lang/String; Ljava/lang/String;)I
com.c.a.a.aw;->a(I Ljava/lang/String; Ljava/lang/String; Ljava/lang/Throwable;)V==>android.util.Log;->w(Ljava/lang/String; Ljava/lang/String;)I
com.doctors_express.giraffe_doctor.ui.video.VideoChatViewActivity;->initializeAgoraEngine()V==>android.util.Log;->e(Ljava/lang/String; Ljava/lang/String;)I
com.doctors_express.giraffe_doctor.ui.activity.NoticeDialogActivity$1;->run()V==>android.util.Log;->d(Ljava/lang/String; Ljava/lang/String;)I
com.doctors_express.giraffe_doctor.ui.activity.SplashActivity$1;->onGuarantee(Ljava/lang/String; I)V==>android.util.Log;->i(Ljava/lang/String; Ljava/lang/String;)I
com.antonyt.infiniteviewpager.a;->a(Ljava/lang/String;)V==>android.util.Log;->d(Ljava/lang/String; Ljava/lang/String;)I
butterknife.ButterKnife;->unbind(Ljava/lang/Object;)V==>android.util.Log;->d(Ljava/lang/String; Ljava/lang/String;)I
com.doctors_express.giraffe_doctor.service.JobSchedulerService;->b(Ljava/lang/String;)V==>android.util.Log;->d(Ljava/lang/String; Ljava/lang/String;)I
io.agora.rtc.video.ViESurfaceRenderer;->saveBitmapToJPEG(I I)V==>android.util.Log;->i(Ljava/lang/String; Ljava/lang/String;)I
com.bumptech.glide.load.resource.bitmap.q;->a(Landroid/graphics/Bitmap; Lcom/bumptech/glide/load/b/a/c; I I)Landroid/graphics/Bitmap;==>android.util.Log;->v(Ljava/lang/String; Ljava/lang/String;)I
com.c.a.a.aw;->a(I Ljava/lang/String; Ljava/lang/String; Ljava/lang/Throwable;)V==>android.util.Log;->e(Ljava/lang/String; Ljava/lang/String;)I
com.yalantis.ucrop.c.f;->b()I==>android.util.Log;->d(Ljava/lang/String; Ljava/lang/String;)I
com.yalantis.ucrop.b.b;->a()V==>android.util.Log;->d(Ljava/lang/String; Ljava/lang/String;)I
com.lzy.okgo.utils.OkLogger;->w(Ljava/lang/String; Ljava/lang/String;)V==>android.util.Log;->w(Ljava/lang/String; Ljava/lang/String;)I
com.yalantis.ucrop.c.f;->a([B I)I==>android.util.Log;->d(Ljava/lang/String; Ljava/lang/String;)I
com.bumptech.glide.load.b.a.f;->a()V==>android.util.Log;->d(Ljava/lang/String; Ljava/lang/String;)I
com.b.a.a;->e(Ljava/lang/String; Ljava/lang/String;)V==>android.util.Log;->v(Ljava/lang/String; Ljava/lang/String;)I
com.qmuiteam.qmui.widget.pullRefreshLayout.QMUIPullRefreshLayout;->onNestedPreScroll(Landroid/view/View; I I [I)V==>android.util.Log;->i(Ljava/lang/String; Ljava/lang/String;)I
com.bumptech.glide.load.b.a.f;->a(Landroid/graphics/Bitmap;)Z==>android.util.Log;->v(Ljava/lang/String; Ljava/lang/String;)I
com.yalantis.ucrop.c.f;->a()I==>android.util.Log;->d(Ljava/lang/String; Ljava/lang/String;)I
com.qmuiteam.qmui.widget.textview.QMUILinkTextView$1;->handleMessage(Landroid/os/Message;)V==>android.util.Log;->d(Ljava/lang/String; Ljava/lang/String;)I
com.luck.picture.lib.g.c;->e(Ljava/lang/String;)V==>android.util.Log;->d(Ljava/lang/String; Ljava/lang/String;)I
cn.jiguang.d.a;->a(Ljava/lang/String; Ljava/lang/String;)V==>android.util.Log;->v(Ljava/lang/String; Ljava/lang/String;)I
com.luck.picture.lib.c.c;->b(Landroid/content/Context; Ljava/lang/String;)Ljava/io/File;==>android.util.Log;->e(Ljava/lang/String; Ljava/lang/String;)I
io.agora.rtc.video.ViESurfaceRenderer;->CreateBitmap(I I)Landroid/graphics/Bitmap;==>android.util.Log;->d(Ljava/lang/String; Ljava/lang/String;)I
com.yalantis.ucrop.view.TransformImageView;->c()V==>android.util.Log;->d(Ljava/lang/String; Ljava/lang/String;)I
com.bumptech.glide.load.resource.bitmap.ImageHeaderParser;->a(Lcom/bumptech/glide/load/resource/bitmap/ImageHeaderParser$a;)I==>android.util.Log;->d(Ljava/lang/String; Ljava/lang/String;)I
com.qmuiteam.qmui.widget.pullRefreshLayout.QMUIPullRefreshLayout;->onNestedPreFling(Landroid/view/View; F F)Z==>android.util.Log;->i(Ljava/lang/String; Ljava/lang/String;)I
com.bumptech.glide.load.resource.bitmap.n;->a(Ljava/io/InputStream; [B)I==>android.util.Log;->d(Ljava/lang/String; Ljava/lang/String;)I
com.luck.picture.lib.widget.longimage.SubsamplingScaleImageView;->a(Landroid/content/Context; Ljava/lang/String;)I==>android.util.Log;->w(Ljava/lang/String; Ljava/lang/String;)I
com.bumptech.glide.load.b.a.f;->d()V==>android.util.Log;->v(Ljava/lang/String; Ljava/lang/String;)I
com.qmuiteam.qmui.widget.pullRefreshLayout.QMUIPullRefreshLayout;->onLayout(Z I I I I)V==>android.util.Log;->d(Ljava/lang/String; Ljava/lang/String;)I
com.luck.picture.lib.g.c;->a([Ljava/lang/String; [I [Z)V==>android.util.Log;->e(Ljava/lang/String; Ljava/lang/String;)I
com.youth.banner.Banner$BannerPagerAdapter$1;->onClick(Landroid/view/View;)V==>android.util.Log;->e(Ljava/lang/String; Ljava/lang/String;)I
com.qmuiteam.qmui.widget.pullRefreshLayout.QMUIPullRefreshLayout;->onNestedScroll(Landroid/view/View; I I I I)V==>android.util.Log;->i(Ljava/lang/String; Ljava/lang/String;)I
io.agora.rtc.video.ViESurfaceRenderer;->SetCoordinates(F F F F)V==>android.util.Log;->i(Ljava/lang/String; Ljava/lang/String;)I
com.bumptech.glide.load.a.f;->a(Ljava/net/HttpURLConnection;)Ljava/io/InputStream;==>android.util.Log;->d(Ljava/lang/String; Ljava/lang/String;)I
com.nathan.common.commonutils.TimeUtil;->getExpiredHour2(Ljava/lang/String;)I==>android.util.Log;->e(Ljava/lang/String; Ljava/lang/String;)I
com.doctors_express.giraffe_doctor.ui.activity.AboutActivity$5;->check(Lezy/boost/update/d; Ljava/lang/String;)V==>android.util.Log;->e(Ljava/lang/String; Ljava/lang/String;)I
com.qmuiteam.qmui.widget.pullRefreshLayout.QMUIPullRefreshLayout;->onNestedScrollAccepted(Landroid/view/View; Landroid/view/View; I)V==>android.util.Log;->i(Ljava/lang/String; Ljava/lang/String;)I
com.qmuiteam.qmui.widget.pullRefreshLayout.QMUIPullRefreshLayout;->onStopNestedScroll(Landroid/view/View;)V==>android.util.Log;->i(Ljava/lang/String; Ljava/lang/String;)I
com.qmuiteam.qmui.widget.pullRefreshLayout.QMUIPullRefreshLayout;->onTouchEvent(Landroid/view/MotionEvent;)Z==>android.util.Log;->d(Ljava/lang/String; Ljava/lang/String;)I
com.bumptech.glide.load.b.c;->a(Ljava/lang/String; J Lcom/bumptech/glide/load/c;)V==>android.util.Log;->v(Ljava/lang/String; Ljava/lang/String;)I
com.qmuiteam.qmui.widget.textview.QMUILinkTextView;->onTouchEvent(Landroid/view/MotionEvent;)Z==>android.util.Log;->w(Ljava/lang/String; Ljava/lang/String;)I
com.qmuiteam.qmui.widget.pullRefreshLayout.QMUIPullRefreshLayout;->a(I)V==>android.util.Log;->i(Ljava/lang/String; Ljava/lang/String;)I
com.b.a.a;->c(Ljava/lang/String; Ljava/lang/String;)V==>android.util.Log;->w(Ljava/lang/String; Ljava/lang/String;)I
com.doctors_express.giraffe_doctor.receiver.MyReceiver;->a(Landroid/os/Bundle;)Ljava/lang/String;==>android.util.Log;->e(Ljava/lang/String; Ljava/lang/String;)I
com.yalantis.ucrop.view.TransformImageView;->setScaleType(Landroid/widget/ImageView$ScaleType;)V==>android.util.Log;->w(Ljava/lang/String; Ljava/lang/String;)I
com.doctors_express.giraffe_doctor.ui.activity.SplashActivity$1;->onDeny(Ljava/lang/String; I)V==>android.util.Log;->i(Ljava/lang/String; Ljava/lang/String;)I
com.qmuiteam.qmui.widget.pullRefreshLayout.QMUIPullRefreshLayout;->onMeasure(I I)V==>android.util.Log;->d(Ljava/lang/String; Ljava/lang/String;)I
cn.jpush.android.e.a.d;->a(Ljava/lang/String; I Ljava/lang/Object;)Ljava/lang/String;==>android.util.Log;->d(Ljava/lang/String; Ljava/lang/String;)I
io.agora.rtc.video.ViESurfaceRenderer;->changeDestRect(I I)V==>android.util.Log;->i(Ljava/lang/String; Ljava/lang/String;)I
me.weyye.hipermission.PermissionActivity;->onActivityResult(I I Landroid/content/Intent;)V==>android.util.Log;->e(Ljava/lang/String; Ljava/lang/String;)I
com.qmuiteam.qmui.widget.pullRefreshLayout.QMUIPullRefreshLayout;->onStartNestedScroll(Landroid/view/View; Landroid/view/View; I)Z==>android.util.Log;->i(Ljava/lang/String; Ljava/lang/String;)I
com.bumptech.glide.c.a;->c()V==>android.util.Log;->d(Ljava/lang/String; Ljava/lang/String;)I
com.yalantis.ucrop.c.f;->a(Lcom/yalantis/ucrop/c/f$a;)I==>android.util.Log;->d(Ljava/lang/String; Ljava/lang/String;)I
com.doctors_express.giraffe_doctor.ui.video.VideoChatViewActivity;->joinChannel()V==>android.util.Log;->d(Ljava/lang/String; Ljava/lang/String;)I
com.yalantis.ucrop.PictureMultiCuttingActivity;->onCreateOptionsMenu(Landroid/view/Menu;)Z==>android.util.Log;->i(Ljava/lang/String; Ljava/lang/String;)I
cn.jiguang.d.a;->c(Ljava/lang/String; Ljava/lang/String;)V==>android.util.Log;->i(Ljava/lang/String; Ljava/lang/String;)I
com.zhy.view.flowlayout.TagFlowLayout;->setMaxSelectCount(I)V==>android.util.Log;->w(Ljava/lang/String; Ljava/lang/String;)I
butterknife.ButterKnife;->findViewBinderForClass(Ljava/lang/Class;)Lbutterknife/ButterKnife$ViewBinder;==>android.util.Log;->d(Ljava/lang/String; Ljava/lang/String;)I
butterknife.ButterKnife;->bind(Ljava/lang/Object; Ljava/lang/Object; Lbutterknife/ButterKnife$Finder;)V==>android.util.Log;->d(Ljava/lang/String; Ljava/lang/String;)I
cn.jpush.android.e.a.d;->(Ljava/lang/String; Ljava/lang/Class;)V==>android.util.Log;->e(Ljava/lang/String; Ljava/lang/String;)I
com.yalantis.ucrop.b.b;->b(Landroid/net/Uri; Landroid/net/Uri;)V==>android.util.Log;->d(Ljava/lang/String; Ljava/lang/String;)I
com.bumptech.glide.load.b.a.f;->b(I)V==>android.util.Log;->w(Ljava/lang/String; Ljava/lang/String;)I
io.agora.rtc.video.ViESurfaceRenderer;->CreateByteBuffer(I I)Ljava/nio/ByteBuffer;==>android.util.Log;->i(Ljava/lang/String; Ljava/lang/String;)I
io.agora.rtc.video.ViESurfaceRenderer;->surfaceCreated(Landroid/view/SurfaceHolder;)V==>android.util.Log;->i(Ljava/lang/String; Ljava/lang/String;)I
com.scwang.smartrefresh.header.waveswipe.WaveView;->a(I)V==>android.util.Log;->w(Ljava/lang/String; Ljava/lang/String;)I
io.agora.rtc.video.VideoCaptureFactory$AndroidCameraInfo;->getNumberOfCameras(Landroid/content/Context;)I==>android.util.Log;->e(Ljava/lang/String; Ljava/lang/String;)I
cn.jiguang.d.a;->d(Ljava/lang/String; Ljava/lang/String;)V==>android.util.Log;->w(Ljava/lang/String; Ljava/lang/String;)I
com.bumptech.glide.load.b.a.f;->b(I I Landroid/graphics/Bitmap$Config;)Landroid/graphics/Bitmap;==>android.util.Log;->v(Ljava/lang/String; Ljava/lang/String;)I
com.doctors_express.giraffe_doctor.ui.video.VideoChatViewActivity$2;->onInterval(Lcn/iwgang/countdownview/CountdownView; J)V==>android.util.Log;->d(Ljava/lang/String; Ljava/lang/String;)I
com.lzy.okgo.utils.OkLogger;->e(Ljava/lang/String; Ljava/lang/String;)V==>android.util.Log;->e(Ljava/lang/String; Ljava/lang/String;)I
com.qmuiteam.qmui.widget.pullRefreshLayout.QMUIPullRefreshLayout;->onTouchEvent(Landroid/view/MotionEvent;)Z==>android.util.Log;->e(Ljava/lang/String; Ljava/lang/String;)I
com.qmuiteam.qmui.widget.pullRefreshLayout.QMUIPullRefreshLayout;->onInterceptTouchEvent(Landroid/view/MotionEvent;)Z==>android.util.Log;->d(Ljava/lang/String; Ljava/lang/String;)I
com.yalantis.ucrop.c.f;->a(Landroid/media/ExifInterface; I I Ljava/lang/String;)V==>android.util.Log;->d(Ljava/lang/String; Ljava/lang/String;)I
com.c.a.a.aw;->a(I Ljava/lang/String; Ljava/lang/String; Ljava/lang/Throwable;)V==>android.util.Log;->d(Ljava/lang/String; Ljava/lang/String;)I
com.b.a.a;->a(Ljava/lang/String; Ljava/lang/String;)V==>android.util.Log;->d(Ljava/lang/String; Ljava/lang/String;)I
io.agora.rtc.video.ViESurfaceRenderer;->DrawByteBuffer()V==>android.util.Log;->w(Ljava/lang/String; Ljava/lang/String;)I
cn.jiguang.d.a;->e(Ljava/lang/String; Ljava/lang/String;)V==>android.util.Log;->e(Ljava/lang/String; Ljava/lang/String;)I
com.bumptech.glide.load.b.a.f;->b(I)V==>android.util.Log;->d(Ljava/lang/String; Ljava/lang/String;)I
com.qmuiteam.qmui.widget.textview.QMUILinkTextView;->a(Ljava/lang/String;)Z==>android.util.Log;->w(Ljava/lang/String; Ljava/lang/String;)I
com.qmuiteam.qmui.qqface.QMUIQQFaceView;->onDraw(Landroid/graphics/Canvas;)V==>android.util.Log;->i(Ljava/lang/String; Ljava/lang/String;)I
com.youth.banner.Banner;->setBannerAnimation(Ljava/lang/Class;)Lcom/youth/banner/Banner;==>android.util.Log;->e(Ljava/lang/String; Ljava/lang/String;)I
com.bumptech.glide.load.b.a;->a(Ljava/lang/String; J)V==>android.util.Log;->v(Ljava/lang/String; Ljava/lang/String;)I
com.youth.banner.Banner;->initViewPagerScroll()V==>android.util.Log;->e(Ljava/lang/String; Ljava/lang/String;)I
com.lzy.okgo.utils.OkLogger;->d(Ljava/lang/String; Ljava/lang/String;)V==>android.util.Log;->d(Ljava/lang/String; Ljava/lang/String;)I
com.bumptech.glide.load.resource.bitmap.b;->a(Lcom/bumptech/glide/load/b/k; Ljava/io/OutputStream;)Z==>android.util.Log;->v(Ljava/lang/String; Ljava/lang/String;)I
com.doctors_express.giraffe_doctor.ui.home.MainActivity$19;->check(Lezy/boost/update/d; Ljava/lang/String;)V==>android.util.Log;->e(Ljava/lang/String; Ljava/lang/String;)I
com.bumptech.glide.load.resource.bitmap.ImageHeaderParser;->d()[B==>android.util.Log;->d(Ljava/lang/String; Ljava/lang/String;)I

中危

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

位置: classes.dex
cn.jpush.android.ui.FullScreenView;->initModule(Landroid.content.Context; Lcn.jpush.android.data.c;)V
cn.jpush.android.ui.PopWinActivity;->onCreate(Landroid.os.Bundle;)V

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

中危

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

位置: classes.dex
'10.0.0.172' used in: Lcom/c/a/a/w;->(Landroid/content/Context;)V
'file:///' used in: Lcom/luck/picture/lib/widget/longimage/e;->b(Ljava/lang/String;)Lcom/luck/picture/lib/widget/longimage/e;
'file:///' used in: Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->a(Landroid/content/Context; Ljava/lang/String;)I
'file:///' used in: Lcom/luck/picture/lib/widget/longimage/e;->(Landroid/net/Uri;)V
'file:///android_asset/' used in: Lcom/luck/picture/lib/widget/longimage/g;->a(Landroid/content/Context; Landroid/net/Uri;)Landroid/graphics/Bitmap;
'file:///android_asset/' used in: Lcom/bumptech/glide/load/c/a;->()V
'file:///android_asset/' used in: Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->a(Landroid/content/Context; Ljava/lang/String;)I
'file:///android_asset/' used in: Lcom/luck/picture/lib/widget/longimage/h;->a(Landroid/content/Context; Landroid/net/Uri;)Landroid/graphics/Point;
'file:///android_asset/' used in: Lcom/luck/picture/lib/widget/longimage/e;->a(Ljava/lang/String;)Lcom/luck/picture/lib/widget/longimage/e;
'http://116.62.30.126:8080/' used in: Lcom/doctors_express/giraffe_doctor/ui/activity/AboutActivity$4;->parse(Ljava/lang/String;)Lezy/boost/update/p;
'http://116.62.30.126:8080/' used in: Lcom/doctors_express/giraffe_doctor/ui/home/MainActivity$18;->parse(Ljava/lang/String;)Lezy/boost/update/p;
'http://192.168.50.74:8090/' used in: Lcom/doctors_express/giraffe_doctor/a/b;->a(I)Ljava/lang/String;
'http://alog.umeng.com/app_logs' used in: Lcom/c/a/c;->()V
'http://alog.umengcloud.com/app_logs' used in: Lcom/c/a/c;->()V
'http://m.alipay.com/?action=h5quit' used in: Lcom/alipay/sdk/d/b;->a(Landroid/webkit/WebView; Ljava/lang/String; Landroid/app/Activity;)Z
'http://mobilegw.alipay.com/mgw.htm' used in: Lcom/alipay/sdk/b/a;->()V
'http://schemas.android.com/apk/res/android' used in: Lcom/flyco/tablayout/SlidingTabLayout;->(Landroid/content/Context; Landroid/util/AttributeSet; I)V
'http://schemas.android.com/apk/res/android' used in: Lcom/flyco/tablayout/CommonTabLayout;->(Landroid/content/Context; Landroid/util/AttributeSet; I)V
'http://schemas.android.com/apk/res/android' used in: Landroid/support/v4/content/a/c;->a(Lorg/xmlpull/v1/XmlPullParser; Ljava/lang/String;)Z
'http://schemas.android.com/apk/res/android' used in: Lcom/flyco/tablayout/SegmentTabLayout;->(Landroid/content/Context; Landroid/util/AttributeSet; I)V
'https://api.parse.com' used in: Lcom/parse/ao;->()V
'https://cmnsguider.yunos.com:443/genDeviceToken' used in: Lcom/c/a/a/n;->b(Ljava/lang/String;)Ljava/lang/String;
'https://dev.giraffeio.com:8443/' used in: Lcom/doctors_express/giraffe_doctor/a/b;->a(I)Ljava/lang/String;
'https://ped.giraffeio.com:8443/' used in: Lcom/doctors_express/giraffe_doctor/a/b;->a(I)Ljava/lang/String;
'https://test.giraffeio.com:8443/' used in: Lcom/doctors_express/giraffe_doctor/a/b;->a(I)Ljava/lang/String;
'https://uop.umeng.com' used in: Lcom/c/a/a/w;->a()V

中危

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

位置: classes.dex
cn.jpush.android.ui.PopWinActivity;

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/

低危

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

位置: classes.dex
com.alibaba.fastjson.parser.deserializer.ASMDeserializerFactory;
a.d.c.c;
com.bumptech.glide.a.a;
com.luck.picture.lib.i.f;
cn.jiguang.api.utils.ProtocolUtil;
com.alibaba.fastjson.serializer.ASMSerializerFactory;
a.e.a;
io.a.c.a$c;
a.b.a$c;

低危

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

位置: classes.dex
com.lzy.okgo.https.HttpsUtils$2;->verify(Ljava.lang.String; Ljavax.net.ssl.SSLSession;)Z
com.nathan.common.commonutils.HttpsUtils$1;->verify(Ljava.lang.String; Ljavax.net.ssl.SSLSession;)Z
com.nathan.common.commonutils.HttpsUtils$UnSafeHostnameVerifier;->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

低危

检测到1处地方在自定义实现的WebViewClient类在onReceivedSslError调用proceed()方法。

位置: classes.dex
com.alipay.sdk.auth.AuthActivity$b;->onReceivedSslError(Landroid.webkit.WebView; Landroid.webkit.SslErrorHandler; Landroid.net.http.SslError;)V

Android WebView组件加载网页发生证书认证错误时,会调用WebViewClient类的onReceivedSslError方法,如果该方法实现调用了handler.proceed()来忽略该证书错误,则会受到中间人攻击的威胁,可能导致隐私泄露。建议:
当发生证书认证错误时,采用默认的处理方法handler.cancel(),停止加载问题页面当发生证书认证错误时,采用默认的处理方法handler.cancel(),停止加载问题页面。

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

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

警告

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

位置: classes.dex
cn.jpush.android.c.e;->a
me.weyye.hipermission.a;->b
com.parse.ParsePushBroadcastReceiver;->c
com.nathan.common.commonutils.DialogPermissionUtil;->startSettingIntent
ezy.boost.update.s;->a
com.doctors_express.giraffe_doctor.receiver.MyReceiver;->onReceive
com.doctors_express.giraffe_doctor.service.JobSchedulerService;->a

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

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

警告

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

service cn.jpush.android.service.DaemonService

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

警告

检测到1个导出的隐式Service组件。
service cn.jpush.android.service.DaemonService

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

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

警告

检测到3潜在的XSS漏洞。

位置: classes.dex
cn.jpush.android.d.a;->a(Landroid.webkit.WebSettings;)V
com.alipay.sdk.auth.AuthActivity;->onCreate(Landroid.os.Bundle;)V
com.alipay.sdk.d.b;->a(Landroid.app.Activity; Ljava.lang.String; Ljava.lang.String;)Landroid.webkit.WebView;

允许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

警告

检测到4处IvParameterSpec的使用。

位置: classes.dex
cn.jiguang.c.f.a.a;->a(Ljava.lang.String; Ljava.lang.String;)Ljava.lang.String;
cn.jiguang.c.f.a.a;->b(Ljava.lang.String; Ljava.lang.String;)Ljava.lang.String;
com.c.a.a.ar;->a([B [B)[B
com.c.a.a.ar;->b([B [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

警告

检测到2处provider的grantUriPermissions设置为true。
ezy.boost.update.UpdateFileProvider
com.luck.picture.lib.PictureFileProvider


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

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

警告

检测到1处socket通信。

位置: classes.dex
Lcn.jiguang.c.d.c;->a

Android应用通常使用PF_UNIX、PF_INET、PF_NETLINK等不同domain的socket来进行本地IPC或者远程网络通信,这些暴露的socket代表了潜在的本地或远程攻击面,历史上也出现过不少利用socket进行拒绝服务、root提权或者远程命令执行的案例特别是PF_INET类型的网络socket,可以通过网络与Android应用通信,其原本用于linux环境下开放网络服务,由于缺乏对网络调用者身份或者本地调用者id、permission等细粒度的安全检查机制,在实现不当的情况下,可以突破Android的沙箱限制,以被攻击应用的权限执行命令,通常出现比较严重的漏洞

参考案例:
http://www.wooyun.org/bugs/wooyun-2015-0148406
http://www.wooyun.org/bugs/wooyun-2015-0145365

参考资料:
http://wolfeye.baidu.com/blog/open-listen-port
http://blog.csdn.net/jltxgcy/article/details/50686858
https://www.bigniu.com/article/view/10
http://drops.wooyun.org/mobile/6973

警告

检测到 2处url没有使用安全的https链接。

位置: classes.dex
http://m.alipay.com/
http://mobilegw.alipay.com/

参考资料:
https://jaq.alibaba.com/blog.htm?id=60
https://developer.android.com/training/articles/security-ssl.html

警告

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

位置: classes.dex
okio.HashingSource;->(Lokio.Source; Lokio.ByteString; Ljava.lang.String;)V
cn.jiguang.c.f.a.a;->a([B I)[B
cn.jiguang.c.f.a.a;->a(Ljava.lang.String; Ljava.lang.String;)Ljava.lang.String;
okio.Buffer;->hmac(Ljava.lang.String; Lokio.ByteString;)Lokio.ByteString;
cn.jiguang.c.f.a.a;->b(Ljava.lang.String; Ljava.lang.String;)Ljava.lang.String;
cn.jiguang.c.f.a.a;->a(Ljava.lang.String; [B)[B
okio.ByteString;->hmac(Ljava.lang.String; Lokio.ByteString;)Lokio.ByteString;
com.c.a.a.ar;->a([B [B)[B
okio.HashingSink;->(Lokio.Sink; Lokio.ByteString; Ljava.lang.String;)V
com.c.a.a.ar;->b([B [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跨站漏洞。
开发中...

应用证书