漏洞分析

0

高危漏洞

6

中危漏洞

3

低危漏洞

6

警告

文件名 3dafc809ac0d2564bd26f5d4e437f5b0_d
上传者 biubiubiu
文件大小 29.586318016052MB
MD5 3dafc809ac0d2564bd26f5d4e437f5b0
包名 com.apicloud.qaq
Main Activity com.uzmap.pkg.EntranceActivity
Min SDK 14
Target SDK 22

权限列表

# 名称 说明 提示
0 android.permission.ACCESS_COARSE_LOCATION 访问大概的位置源(例如蜂窝网络数据库)以确定手机的大概位置(如果可以)。恶意应用程序可借此确定您所处的大概位置。 注意
1 android.permission.ACCESS_FINE_LOCATION 访问精准的位置源,例如手机上的全球定位系统(如果有)。恶意应用程序可能会借此确定您所处的位置,并可能消耗额外的电池电量。 注意
2 android.permission.BLUETOOTH 允许应用程序查看本地蓝牙手机的配置,以及建立或接受与配对设备的连接。 注意
3 android.permission.READ_PHONE_STATE 允许应用程序访问设备的手机功能。有此权限的应用程序可确定此手机的号码和序列号,是否正在通话,以及对方的号码等。 注意
4 android.permission.RECEIVE_BOOT_COMPLETED 允许应用程序在系统完成启动后即自行启动。这样会延长手机的启动时间,而且如果应用程序一直运行,会降低手机的整体速度。 注意
5 android.permission.RECORD_AUDIO 允许应用程序访问录音路径。 注意
6 android.permission.WRITE_SETTINGS 允许应用程序修改系统设置方面的数据。恶意应用程序可借此破坏您的系统配置。 注意
7 android.permission.ACCESS_NETWORK_STATE 允许应用程序查看所有网络的状态。 提示
8 android.permission.ACCESS_WIFI_STATE 允许应用程序查看有关WLAN状态的信息。 提示
9 android.permission.BLUETOOTH_ADMIN 允许应用程序配置本地蓝牙手机,以及发现远程设备并与其配对。 提示
10 android.permission.CAMERA 允许应用程序使用相机拍照,这样应用程序可随时收集进入相机镜头的图像。 提示
11 android.permission.CHANGE_WIFI_STATE 允许应用程序连接到WLAN接入点以及与WLAN接入点断开连接,并对配置的WLAN网络进行更改。 提示
12 android.permission.FLASHLIGHT 允许应用程序控制闪光灯。 提示
13 android.permission.INTERNET 允许程序访问网络. 提示
14 android.permission.MOUNT_UNMOUNT_FILESYSTEMS 允许应用程序装载和卸载可移动存储器的文件系统。 提示
15 android.permission.READ_LOGS 允许应用程序从系统的各日志文件中读取信息。这样应用程序可以发现您的手机使用情况,但这些信息不应包含任何个人信息或保密信息。 提示
16 android.permission.VIBRATE 允许应用程序控制振动器。 提示
17 android.permission.WAKE_LOCK 允许应用程序防止手机进入休眠状态。 提示
18 android.permission.WRITE_EXTERNAL_STORAGE 允许应用程序写入SD卡。 提示

四大组件

组件名称

com.uzmap.pkg.EntranceActivity
com.uzmap.pkg.uzmodules.uzFNScanner.Zxing.CaptureActivity
com.uzmap.pkg.uzmodules.uzimageBrowser.activity.GalleryActivity
com.uzmap.pkg.uzmodules.uzimageBrowser.activity.ImageActivity
com.meiqia.meiqiasdk.activity.MQConversationActivity
com.meiqia.meiqiasdk.activity.MQPhotoPreviewActivity
com.meiqia.meiqiasdk.activity.MQPhotoPickerActivity
com.meiqia.meiqiasdk.activity.MQPhotoPickerPreviewActivity
com.meiqia.meiqiasdk.activity.MQMessageFormActivity
com.meiqia.meiqiasdk.activity.MQWebViewActivity
com.meiqia.meiqiasdk.activity.MQInquiryFormActivity
com.meiqia.meiqiasdk.activity.MQCollectInfoActivity

com.uzmap.pkg.uzsocket.UPnsService
com.amap.api.location.APSService
com.meiqia.core.MeiQiaService

com.uzmap.pkg.uzapp.UPExtraBridge

com.uzmap.pkg.uzapp.UProvider
com.uzmap.pkg.uzapp.DataProvider

第三方库

# 库名 介绍
0 okhttp3 An HTTP+SPDY client for Android and Java applications.
1 com.nostra13.universalimageloader Powerful and flexible library for loading, caching and displaying images on Android.
2 org.simple.eventbus A lightweight eventbus library for android, simplifies communication between Activities, Fragments, Threads, Services, etc.
3 com.google.zxing Official ZXing ("Zebra Crossing") project home
4 android.support.multidex DEPRECATED
5 com.amap.api 高德LBS开放平台将高德最专业的定位、地图、搜索、导航等能力,以API、SDK等形式向广大开发者免费开放

静态扫描发现风险点

风险等级 风险名称

中危

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

位置: classes.dex
com.lidroid.xutils.util.OtherUtils$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

中危

检测到1处中间人攻击漏洞。

位置: classes.dex
com.lidroid.xutils.util.OtherUtils;->trustAllHttpsURLConnection()V

setHostnameVerifier方法设置ALLOW_ALL_HOSTNAME_VERIFIER,直接接受任意域名,可能造成中间人攻击漏洞。建议:
对SSL证书进行强校验,包括签名CA是否合法、证书是否是自签名、主机域名是否匹配、证书是否过期等。

参考案例:
http://www.wooyun.org/bugs/wooyun-2010-042710
http://www.wooyun.org/bugs/wooyun-2010-052339
http://www.wooyun.org/bugs/wooyun-2016-0190773

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

中危

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

位置: classes.dex
com.meiqia.meiqiasdk.apicloud.EasDelegate;->onApplicationCreate(Landroid/content/Context; Lcom/uzmap/pkg/uzcore/uzmodule/AppInfo;)V==>android.util.Log;->d(Ljava/lang/String; Ljava/lang/String;)I
com.meiqia.core.bt;->a()V==>android.util.Log;->d(Ljava/lang/String; Ljava/lang/String;)I
com.uzmap.pkg.uzmodules.uzimageBrowser.view.largeimage.BlockImageLoader$LoadImageInfoTask;->onPostExecute()V==>android.util.Log;->d(Ljava/lang/String; Ljava/lang/String;)I
com.uzmap.pkg.uzmodules.uzFNScanner.Zxing.camera.FlashlightManager;->()V==>android.util.Log;->v(Ljava/lang/String; Ljava/lang/String;)I
com.uzmap.pkg.uzcore.UZCoreUtil;->execRootCmd(Ljava/lang/String;)Ljava/lang/String;==>android.util.Log;->d(Ljava/lang/String; Ljava/lang/String;)I
com.meiqia.meiqiasdk.third.photoview.log.LoggerDefault;->w(Ljava/lang/String; Ljava/lang/String;)I==>android.util.Log;->w(Ljava/lang/String; Ljava/lang/String;)I
com.uzmap.pkg.uzmodules.uzimageBrowser.activity.BaseActivity;->getBitmap(Ljava/lang/String;)Landroid/graphics/Bitmap;==>android.util.Log;->i(Ljava/lang/String; Ljava/lang/String;)I
com.meiqia.core.bt;->a(Ljava/util/List;)V==>android.util.Log;->d(Ljava/lang/String; Ljava/lang/String;)I
com.meiqia.core.bt;->c(Landroid/database/sqlite/SQLiteDatabase; Lcom/meiqia/core/bean/MQMessage;)V==>android.util.Log;->d(Ljava/lang/String; Ljava/lang/String;)I
com.meiqia.core.b.a;->c(Ljava/lang/String; Ljava/lang/String;)V==>android.util.Log;->d(Ljava/lang/String; Ljava/lang/String;)I
com.uzmap.pkg.a.i.p;->a(Ljava/lang/String;)V==>android.util.Log;->w(Ljava/lang/String; Ljava/lang/String;)I
com.uzmap.pkg.uzmodules.uzimageBrowser.view.largeimage.BlockImageLoader$LoadImageInfoTask;->doInBackground()V==>android.util.Log;->d(Ljava/lang/String; Ljava/lang/String;)I
com.uzmap.pkg.uzmodules.uzimageBrowser.view.largeimage.BlockImageLoader$LoadBlockTask;->onPostExecute()V==>android.util.Log;->d(Ljava/lang/String; Ljava/lang/String;)I
com.lidroid.xutils.bitmap.download.DefaultDownloader;->downloadToStream(Ljava/lang/String; Ljava/io/OutputStream; Lcom/lidroid/xutils/BitmapUtils$BitmapLoadTask;)J==>android.util.Log;->v(Ljava/lang/String; Ljava/lang/String;)I
com.meiqia.meiqiasdk.activity.MQConversationActivity;->setClientOnline(Z)V==>android.util.Log;->i(Ljava/lang/String; Ljava/lang/String;)I
com.uzmap.pkg.uzmodules.uzimageBrowser.activity.ImageActivity;->initView()V==>android.util.Log;->i(Ljava/lang/String; Ljava/lang/String;)I
com.uzmap.pkg.uzmodules.uzFNScanner.Zxing.camera.CameraConfigurationManager;->findBestPreviewSizeValue(Ljava/lang/CharSequence; Landroid/graphics/Point;)Landroid/graphics/Point;==>android.util.Log;->w(Ljava/lang/String; Ljava/lang/String;)I
com.uzmap.pkg.uzmodules.UIActionSelector.UIActionSelector;->updateAreas()V==>android.util.Log;->i(Ljava/lang/String; Ljava/lang/String;)I
com.uzmap.pkg.uzmodules.uzimageBrowser.view.largeimage.BlockImageLoader$LoadThumbnailTask;->onPostExecute()V==>android.util.Log;->d(Ljava/lang/String; Ljava/lang/String;)I
org.simple.eventbus.SubsciberMethodHunter;->removeMethodsFromMap(Ljava/lang/Object;)V==>android.util.Log;->d(Ljava/lang/String; Ljava/lang/String;)I
com.meiqia.meiqiasdk.third.photoview.log.LoggerDefault;->i(Ljava/lang/String; Ljava/lang/String;)I==>android.util.Log;->i(Ljava/lang/String; Ljava/lang/String;)I
com.uzmap.pkg.uzmodules.uzimageBrowser.log.LoggerDefault;->w(Ljava/lang/String; Ljava/lang/String;)I==>android.util.Log;->w(Ljava/lang/String; Ljava/lang/String;)I
com.uzmap.pkg.uzmodules.UIActionSelector.widget.WheelRecycle;->recycleView(Landroid/view/View; I)V==>android.util.Log;->v(Ljava/lang/String; Ljava/lang/String;)I
com.meiqia.core.b.g;->a(Ljava/lang/String;)V==>android.util.Log;->e(Ljava/lang/String; Ljava/lang/String;)I
com.meiqia.meiqiasdk.third.photoview.log.LoggerDefault;->v(Ljava/lang/String; Ljava/lang/String;)I==>android.util.Log;->v(Ljava/lang/String; Ljava/lang/String;)I
com.uzmap.pkg.uzmodules.uzimageBrowser.activity.GalleryActivity$ImageListAdapter;->getCount()I==>android.util.Log;->v(Ljava/lang/String; Ljava/lang/String;)I
com.uzmap.pkg.uzmodules.UIActionSelector.widget.WheelView;->onTouchEvent(Landroid/view/MotionEvent;)Z==>android.util.Log;->i(Ljava/lang/String; Ljava/lang/String;)I
com.uzmap.pkg.uzmodules.UIActionSelector.UIActionSelector;->updateCities()V==>android.util.Log;->i(Ljava/lang/String; Ljava/lang/String;)I
com.uzmap.pkg.uzmodules.uzUIChatBox.UzUIChatBox;->inputBarHeightCallBack(Landroid/view/View;)V==>android.util.Log;->e(Ljava/lang/String; Ljava/lang/String;)I
com.lidroid.xutils.util.LogUtils;->d(Ljava/lang/String;)V==>android.util.Log;->d(Ljava/lang/String; Ljava/lang/String;)I
com.meiqia.core.bt;->b(Ljava/util/List;)V==>android.util.Log;->d(Ljava/lang/String; Ljava/lang/String;)I
com.uzmap.pkg.uzcore.b.a$b;->a(Landroid/net/Uri;)Z==>android.util.Log;->d(Ljava/lang/String; Ljava/lang/String;)I
com.uzmap.pkg.uzmodules.uzimageBrowser.gestures.CupcakeGestureDetector;->onTouchEvent(Landroid/view/MotionEvent;)Z==>android.util.Log;->i(Ljava/lang/String; Ljava/lang/String;)I
com.apicloud.devlop.uzAMap.UzAMap$2;->OnIndoorBuilding(Lcom/amap/api/maps/model/IndoorBuildingInfo;)V==>android.util.Log;->e(Ljava/lang/String; Ljava/lang/String;)I
com.nrs.utils.tools.CrashHandler;->saveCrashLogToFile(Ljava/lang/Throwable;)Ljava/lang/String;==>android.util.Log;->v(Ljava/lang/String; Ljava/lang/String;)I
com.uzmap.pkg.uzkit.request.Request$1;->onFinish(Lcom/uzmap/pkg/uzkit/request/HttpResult;)V==>android.util.Log;->e(Ljava/lang/String; Ljava/lang/String;)I
com.uzmap.pkg.uzmodules.UIActionSelector.widget.WheelRecycle;->recycleItems(Landroid/widget/LinearLayout; I Lcom/uzmap/pkg/uzmodules/UIActionSelector/widget/ItemsRange;)I==>android.util.Log;->v(Ljava/lang/String; Ljava/lang/String;)I
com.uzmap.pkg.uzmodules.uzFNScanner.Zxing.decoding.CaptureActivityHandlerView;->handleMessage(Landroid/os/Message;)V==>android.util.Log;->d(Ljava/lang/String; Ljava/lang/String;)I
com.meiqia.core.b.e;->a(Ljava/lang/Throwable;)V==>android.util.Log;->e(Ljava/lang/String; Ljava/lang/String;)I
com.uzmap.pkg.uzcore.b.a;->a(Ljava/lang/String; Z)V==>android.util.Log;->d(Ljava/lang/String; Ljava/lang/String;)I
com.meiqia.meiqiasdk.third.photoview.log.LoggerDefault;->d(Ljava/lang/String; Ljava/lang/String;)I==>android.util.Log;->d(Ljava/lang/String; Ljava/lang/String;)I
com.uzmap.pkg.uzmodules.uzFNScanner.Zxing.camera.CameraManager;->getFramingRect()Landroid/graphics/Rect;==>android.util.Log;->e(Ljava/lang/String; Ljava/lang/String;)I
com.uzmap.pkg.a.h.g;->c(Ljava/lang/String; Ljava/lang/String;)V==>android.util.Log;->w(Ljava/lang/String; Ljava/lang/String;)I
com.uzmap.pkg.uzmodules.UIActionSelector.widget.WheelView;->doScroll(I)V==>android.util.Log;->v(Ljava/lang/String; Ljava/lang/String;)I
com.uzmap.pkg.uzmodules.uzimageBrowser.ImageLoader$1;->entryRemoved(Z Ljava/lang/String; Landroid/graphics/Bitmap; Landroid/graphics/Bitmap;)V==>android.util.Log;->i(Ljava/lang/String; Ljava/lang/String;)I
com.uzmap.pkg.uzmodules.uzFNScanner.Zxing.camera.PreviewCallback;->onPreviewFrame([B Landroid/hardware/Camera;)V==>android.util.Log;->d(Ljava/lang/String; Ljava/lang/String;)I
com.meiqia.meiqiasdk.apicloud.UZMeiQia;->callbackSuc(Lcom/uzmap/pkg/uzcore/uzmodule/UZModuleContext;)V==>android.util.Log;->e(Ljava/lang/String; Ljava/lang/String;)I
com.uzmap.pkg.a.a.d;->a(Lcom/uzmap/pkg/uzcore/external/Alarm;)Landroid/content/ContentValues;==>android.util.Log;->d(Ljava/lang/String; Ljava/lang/String;)I
com.uzmap.pkg.uzmodules.UIActionSelector.adapter.AbstractWheelTextAdapter;->getTextView(Landroid/view/View; I)Landroid/widget/TextView;==>android.util.Log;->e(Ljava/lang/String; Ljava/lang/String;)I
com.uzmap.pkg.uzmodules.uzimageBrowser.view.largeimage.BlockImageLoader$LoadBlockTask;->(Lcom/uzmap/pkg/uzmodules/uzimageBrowser/view/largeimage/BlockImageLoader$Position; Lcom/uzmap/pkg/uzmodules/uzimageBrowser/view/largeimage/BlockImageLoader$BlockData; I I I Landroid/graphics/BitmapRegionDecoder; Lcom/uzmap/pkg/uzmodules/uzimageBrowser/view/largeimage/BlockImageLoader$OnImageLoadListener; Lcom/uzmap/pkg/uzmodules/uzimageBrowser/view/largeimage/BlockImageLoader$OnLoadStateChangeListener;)V==>android.util.Log;->d(Ljava/lang/String; Ljava/lang/String;)I
com.lidroid.xutils.util.LogUtils;->e(Ljava/lang/String;)V==>android.util.Log;->e(Ljava/lang/String; Ljava/lang/String;)I
com.amap.api.services.a.bo;->f(Ljava/lang/String;)V==>android.util.Log;->i(Ljava/lang/String; Ljava/lang/String;)I
com.uzmap.pkg.uzmodules.uzFNScanner.Zxing.camera.CameraConfigurationManager;->setDesiredCameraParameters(Landroid/hardware/Camera;)V==>android.util.Log;->d(Ljava/lang/String; Ljava/lang/String;)I
com.uzmap.pkg.uzmodules.uzUIChatBox.UzUIChatBox;->clickExtraBtnHideTable()V==>android.util.Log;->i(Ljava/lang/String; Ljava/lang/String;)I
com.uzmap.pkg.uzmodules.UIActionSelector.widget.WheelView;->rebuildItems()Z==>android.util.Log;->v(Ljava/lang/String; Ljava/lang/String;)I
com.meiqia.core.bt;->a(J)V==>android.util.Log;->d(Ljava/lang/String; Ljava/lang/String;)I
com.uzmap.pkg.uzmodules.uzimageBrowser.PhotoViewAttacher;->getImageView()Landroid/widget/ImageView;==>android.util.Log;->i(Ljava/lang/String; Ljava/lang/String;)I
com.uzmap.pkg.uzmodules.uzFNScanner.Zxing.camera.CameraConfigurationManager;->setZoom(Landroid/hardware/Camera$Parameters;)V==>android.util.Log;->w(Ljava/lang/String; Ljava/lang/String;)I
com.nrs.utils.tools.CrashHandler;->getDeviceInfo(Landroid/content/Context;)V==>android.util.Log;->d(Ljava/lang/String; Ljava/lang/String;)I
com.meiqia.core.b.g;->b(Ljava/lang/String;)V==>android.util.Log;->d(Ljava/lang/String; Ljava/lang/String;)I
com.uzmap.pkg.uzmodules.UIActionSelector.widget.WheelRecycle;->getCachedView(Ljava/util/List;)Landroid/view/View;==>android.util.Log;->v(Ljava/lang/String; Ljava/lang/String;)I
com.uzmap.pkg.uzmodules.UIActionSelector.widget.WheelView;->invalidateWheel(Z)V==>android.util.Log;->v(Ljava/lang/String; Ljava/lang/String;)I
com.uzmap.pkg.uzmodules.uzimageBrowser.view.largeimage.BlockImageLoader$LoadImageInfoTask;->(Lcom/uzmap/pkg/uzmodules/uzimageBrowser/view/largeimage/BlockImageLoader$LoadData; Lcom/uzmap/pkg/uzmodules/uzimageBrowser/view/largeimage/BlockImageLoader$OnImageLoadListener; Lcom/uzmap/pkg/uzmodules/uzimageBrowser/view/largeimage/BlockImageLoader$OnLoadStateChangeListener;)V==>android.util.Log;->d(Ljava/lang/String; Ljava/lang/String;)I
com.uzmap.pkg.uzmodules.uzFNScanner.Zxing.camera.CameraConfigurationManager;->getCameraResolution(Landroid/hardware/Camera$Parameters; Landroid/graphics/Point;)Landroid/graphics/Point;==>android.util.Log;->d(Ljava/lang/String; Ljava/lang/String;)I
com.meiqia.core.bt;->a(Lcom/meiqia/core/bean/MQMessage;)V==>android.util.Log;->d(Ljava/lang/String; Ljava/lang/String;)I
com.loc.v;->f(Ljava/lang/String;)V==>android.util.Log;->i(Ljava/lang/String; Ljava/lang/String;)I
com.lidroid.xutils.util.LogUtils;->i(Ljava/lang/String;)V==>android.util.Log;->i(Ljava/lang/String; Ljava/lang/String;)I
com.uzmap.pkg.uzmodules.UIActionSelector.UIActionSelector$DataLoadAsyncTask$1;->onClick(Landroid/view/View;)V==>android.util.Log;->i(Ljava/lang/String; Ljava/lang/String;)I
com.uzmap.pkg.uzmodules.uzimageBrowser.log.LoggerDefault;->d(Ljava/lang/String; Ljava/lang/String;)I==>android.util.Log;->d(Ljava/lang/String; Ljava/lang/String;)I
com.uzmap.pkg.uzmodules.uzimageBrowser.log.LoggerDefault;->i(Ljava/lang/String; Ljava/lang/String;)I==>android.util.Log;->i(Ljava/lang/String; Ljava/lang/String;)I
com.uzmap.pkg.uzmodules.UIActionSelector.widget.WheelView;->checkClick(F)V==>android.util.Log;->i(Ljava/lang/String; Ljava/lang/String;)I
com.uzmap.pkg.a.h.g;->a(Ljava/lang/String; Ljava/lang/String;)V==>android.util.Log;->i(Ljava/lang/String; Ljava/lang/String;)I
com.uzmap.pkg.uzmodules.uzimageBrowser.view.largeimage.BlockImageLoader;->stopLoad()V==>android.util.Log;->d(Ljava/lang/String; Ljava/lang/String;)I
com.uzmap.pkg.uzmodules.UIActionSelector.UIActionSelector$6;->run()V==>android.util.Log;->i(Ljava/lang/String; Ljava/lang/String;)I
com.uzmap.pkg.uzmodules.uzFNScanner.Zxing.decoding.DecodeHandlerView;->decode([B I I)V==>android.util.Log;->d(Ljava/lang/String; Ljava/lang/String;)I
com.uzmap.pkg.a.i.e.b;->a(Ljava/lang/String; Ljava/lang/String;)Lcom/uzmap/pkg/a/i/e/a;==>android.util.Log;->e(Ljava/lang/String; Ljava/lang/String;)I
com.uzmap.pkg.uzmodules.uzimageBrowser.activity.SeekArc;->init()V==>android.util.Log;->d(Ljava/lang/String; Ljava/lang/String;)I
com.meiqia.meiqiasdk.activity.MQConversationActivity$11;->onFailure(I Ljava/lang/String;)V==>android.util.Log;->i(Ljava/lang/String; Ljava/lang/String;)I
com.meiqia.core.bt;->a(Lcom/meiqia/core/bean/MQMessage; J)V==>android.util.Log;->d(Ljava/lang/String; Ljava/lang/String;)I
com.uzmap.pkg.uzmodules.uzFNScanner.Zxing.decoding.CaptureActivityHandler;->handleMessage(Landroid/os/Message;)V==>android.util.Log;->d(Ljava/lang/String; Ljava/lang/String;)I
com.uzmap.pkg.uzmodules.UIActionSelector.widget.WheelScroller$2;->handleMessage(Landroid/os/Message;)V==>android.util.Log;->v(Ljava/lang/String; Ljava/lang/String;)I
com.uzmap.pkg.uzmodules.UIActionSelector.widget.WheelView;->onDraw(Landroid/graphics/Canvas;)V==>android.util.Log;->v(Ljava/lang/String; Ljava/lang/String;)I
com.uzmap.pkg.uzmodules.uzimageBrowser.activity.ImageActivity$MyAdapter;->instantiateItem(Landroid/view/ViewGroup; I)Ljava/lang/Object;==>android.util.Log;->i(Ljava/lang/String; Ljava/lang/String;)I
com.uzmap.pkg.uzmodules.uzimageBrowser.log.LoggerDefault;->e(Ljava/lang/String; Ljava/lang/String;)I==>android.util.Log;->e(Ljava/lang/String; Ljava/lang/String;)I
com.uzmap.pkg.uzmodules.uzimageBrowser.view.largeimage.BlockImageLoader$LoadBlockTask;->doInBackground()V==>android.util.Log;->d(Ljava/lang/String; Ljava/lang/String;)I
com.uzmap.pkg.uzmodules.UIActionSelector.UIActionSelector$4;->onAnimationStart(Landroid/view/animation/Animation;)V==>android.util.Log;->i(Ljava/lang/String; Ljava/lang/String;)I
com.apicloud.devlop.uzAMap.MapAnnotations$3;->onClick(Landroid/view/View;)V==>android.util.Log;->e(Ljava/lang/String; Ljava/lang/String;)I
com.uzmap.pkg.uzmodules.uzimageBrowser.view.largeimage.BlockImageLoader$LoadImageInfoTask;->onCancelled()V==>android.util.Log;->d(Ljava/lang/String; Ljava/lang/String;)I
com.uzmap.pkg.uzmodules.uzimageBrowser.log.LoggerDefault;->v(Ljava/lang/String; Ljava/lang/String;)I==>android.util.Log;->v(Ljava/lang/String; Ljava/lang/String;)I
com.uzmap.pkg.uzmodules.UIActionSelector.widget.WheelView;->buildViewForMeasuring()V==>android.util.Log;->v(Ljava/lang/String; Ljava/lang/String;)I
com.uzmap.pkg.uzmodules.uzFNScanner.Zxing.camera.CameraManager;->stopPreview()V==>android.util.Log;->i(Ljava/lang/String; Ljava/lang/String;)I
com.uzmap.pkg.uzmodules.uzFNScanner.Zxing.camera.CameraManager;->getLandFramingRect()Landroid/graphics/Rect;==>android.util.Log;->e(Ljava/lang/String; Ljava/lang/String;)I
com.uzmap.pkg.a.a.c;->a(Landroid/content/Context; I I [I J Ljava/lang/String;)I==>android.util.Log;->d(Ljava/lang/String; Ljava/lang/String;)I
com.meiqia.meiqiasdk.apicloud.UZMeiQia;->callbackFail(Lcom/uzmap/pkg/uzcore/uzmodule/UZModuleContext; I Ljava/lang/String;)V==>android.util.Log;->e(Ljava/lang/String; Ljava/lang/String;)I
com.apicloud.devlop.uzAMap.test.TestMapSimple$1;->onCameraChangeFinish(Lcom/amap/api/maps/model/CameraPosition;)V==>android.util.Log;->e(Ljava/lang/String; Ljava/lang/String;)I
com.uzmap.pkg.uzmodules.UIActionSelector.UIActionSelector;->onChanged(Lcom/uzmap/pkg/uzmodules/UIActionSelector/widget/WheelView; I I)V==>android.util.Log;->i(Ljava/lang/String; Ljava/lang/String;)I
com.uzmap.pkg.uzmodules.uzimageBrowser.view.largeimage.BlockImageLoader;->release(Lcom/uzmap/pkg/uzmodules/uzimageBrowser/view/largeimage/BlockImageLoader$LoadData;)V==>android.util.Log;->d(Ljava/lang/String; Ljava/lang/String;)I
com.uzmap.pkg.uzmodules.UIActionSelector.UIActionSelector;->onItemClicked(Lcom/uzmap/pkg/uzmodules/UIActionSelector/widget/WheelView; I)V==>android.util.Log;->v(Ljava/lang/String; Ljava/lang/String;)I
com.uzmap.pkg.uzmodules.uzimageBrowser.view.largeimage.BlockImageLoader$LoadBlockTask;->onCancelled()V==>android.util.Log;->d(Ljava/lang/String; Ljava/lang/String;)I
com.uzmap.pkg.uzmodules.uzimageBrowser.PhotoViewAttacher;->onTouch(Landroid/view/View; Landroid/view/MotionEvent;)Z==>android.util.Log;->i(Ljava/lang/String; Ljava/lang/String;)I
com.uzmap.pkg.a.a.e;->a(Landroid/content/Context; Landroid/net/Uri; Ljava/lang/String; [Ljava/lang/String;)I==>android.util.Log;->d(Ljava/lang/String; Ljava/lang/String;)I
com.uzmap.pkg.uzmodules.uzimageBrowser.view.largeimage.BlockImageLoader;->loadSmallDatas(Lcom/uzmap/pkg/uzmodules/uzimageBrowser/view/largeimage/BlockImageLoader$LoadData; I Ljava/util/List; I I I I)Ljava/util/List;==>android.util.Log;->d(Ljava/lang/String; Ljava/lang/String;)I
com.uzmap.pkg.uzmodules.uzimageBrowser.activity.SeekArc;->onDraw(Landroid/graphics/Canvas;)V==>android.util.Log;->v(Ljava/lang/String; Ljava/lang/String;)I
com.uzmap.pkg.uzmodules.uzimageBrowser.activity.ImageActivity$MyAdapter$1;->onClick(Landroid/view/View;)V==>android.util.Log;->i(Ljava/lang/String; Ljava/lang/String;)I
com.uzmap.pkg.uzmodules.uzimageBrowser.view.largeimage.BlockImageLoader;->loadImageBlocks(Ljava/util/List; F Landroid/graphics/Rect; I I)V==>android.util.Log;->d(Ljava/lang/String; Ljava/lang/String;)I
com.uzmap.pkg.uzmodules.UIActionSelector.widget.WheelView;->onMeasure(I I)V==>android.util.Log;->v(Ljava/lang/String; Ljava/lang/String;)I
com.uzmap.pkg.uzmodules.uzimageBrowser.activity.BaseActivity$1;->onLoadFailed(Landroid/view/View; Ljava/lang/String; Landroid/graphics/drawable/Drawable;)V==>android.util.Log;->i(Ljava/lang/String; Ljava/lang/String;)I
com.uzmap.pkg.uzmodules.uzimageBrowser.view.largeimage.BlockImageLoader$LoadThumbnailTask;->(Lcom/uzmap/pkg/uzmodules/uzimageBrowser/view/largeimage/BlockImageLoader$LoadData; Landroid/graphics/BitmapRegionDecoder; I I I Lcom/uzmap/pkg/uzmodules/uzimageBrowser/view/largeimage/BlockImageLoader$OnImageLoadListener; Lcom/uzmap/pkg/uzmodules/uzimageBrowser/view/largeimage/BlockImageLoader$OnLoadStateChangeListener;)V==>android.util.Log;->d(Ljava/lang/String; Ljava/lang/String;)I
com.uzmap.pkg.uzmodules.uzimageBrowser.view.largeimage.BlockImageLoader$LoadThumbnailTask;->onCancelled()V==>android.util.Log;->d(Ljava/lang/String; Ljava/lang/String;)I
com.uzmap.pkg.uzmodules.UIActionSelector.widget.WheelView;->onMeasure(I I)V==>android.util.Log;->i(Ljava/lang/String; Ljava/lang/String;)I
com.uzmap.pkg.uzmodules.uzFNScanner.Zxing.camera.AutoFocusCallback;->onAutoFocus(Z Landroid/hardware/Camera;)V==>android.util.Log;->d(Ljava/lang/String; Ljava/lang/String;)I
com.uzmap.pkg.uzmodules.uzFNScanner.utlis.ScanUtil;->makeSaveFile(Ljava/lang/String;)Ljava/io/File;==>android.util.Log;->e(Ljava/lang/String; Ljava/lang/String;)I
com.apicloud.devlop.uzAMap.MapAnnotations$MyMoveListener;->move(D)V==>android.util.Log;->e(Ljava/lang/String; Ljava/lang/String;)I
com.uzmap.pkg.uzkit.a.l;->c(Ljava/lang/String;)V==>android.util.Log;->w(Ljava/lang/String; Ljava/lang/String;)I
com.meiqia.meiqiasdk.third.photoview.log.LoggerDefault;->e(Ljava/lang/String; Ljava/lang/String;)I==>android.util.Log;->e(Ljava/lang/String; Ljava/lang/String;)I
com.loc.a;->a(Ljava/lang/String; I Ljava/lang/String; [Ljava/lang/String;)V==>android.util.Log;->i(Ljava/lang/String; Ljava/lang/String;)I
com.uzmap.pkg.uzmodules.UIActionSelector.widget.WheelView;->onLayout(Z I I I I)V==>android.util.Log;->v(Ljava/lang/String; Ljava/lang/String;)I
com.uzmap.pkg.a.h.g;->b(Ljava/lang/String; Ljava/lang/String;)V==>android.util.Log;->d(Ljava/lang/String; Ljava/lang/String;)I
com.uzmap.pkg.uzmodules.UIActionSelector.widget.WheelLinearLayout;->getChildStaticTransformation(Landroid/view/View; Landroid/view/animation/Transformation;)Z==>android.util.Log;->v(Ljava/lang/String; Ljava/lang/String;)I
com.meiqia.core.b.a;->a(Ljava/lang/String; [B)V==>android.util.Log;->d(Ljava/lang/String; Ljava/lang/String;)I
com.uzmap.pkg.uzmodules.uzimageBrowser.activity.SeekArc;->onMeasure(I I)V==>android.util.Log;->v(Ljava/lang/String; Ljava/lang/String;)I
com.loc.v;->a(Landroid/content/Context; Ljava/lang/String; Ljava/lang/String; Lorg/json/JSONObject;)V==>android.util.Log;->i(Ljava/lang/String; Ljava/lang/String;)I
com.uzmap.pkg.uzmodules.uzFNScanner.Zxing.camera.CameraConfigurationManager;->initFromCameraParameters(Landroid/hardware/Camera; I I Z)V==>android.util.Log;->d(Ljava/lang/String; Ljava/lang/String;)I
com.lidroid.xutils.util.LogUtils;->w(Ljava/lang/String;)V==>android.util.Log;->w(Ljava/lang/String; Ljava/lang/String;)I
com.uzmap.pkg.uzkit.request.Request;->run()V==>android.util.Log;->e(Ljava/lang/String; Ljava/lang/String;)I
com.apicloud.devlop.uzAMap.MapOffline;->onCheckUpdate(Z Ljava/lang/String;)V==>android.util.Log;->i(Ljava/lang/String; Ljava/lang/String;)I
com.lidroid.xutils.util.LogUtils;->v(Ljava/lang/String;)V==>android.util.Log;->v(Ljava/lang/String; Ljava/lang/String;)I
com.uzmap.pkg.uzmodules.uzFNScanner.Zxing.decoding.DecodeHandler;->decode([B I I)V==>android.util.Log;->d(Ljava/lang/String; Ljava/lang/String;)I
com.uzmap.pkg.a.h.g;->d(Ljava/lang/String; Ljava/lang/String;)V==>android.util.Log;->e(Ljava/lang/String; Ljava/lang/String;)I

中危

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

位置: classes.dex
com.uzmap.pkg.uzcore.uzmodule.c;->a(Z Ljava.lang.String;)V
com.uzmap.pkg.uzcore.uzmodule.c;->a(Z Ljava.lang.String;)V
com.uzmap.pkg.uzcore.uzmodule.c;->a(Z Ljava.lang.String;)V
com.loc.h;->a()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

中危

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

位置: classes.dex
'data:image/jpeg;base64,' used in: Lcom/uzmap/pkg/uzkit/UZUtility;->bitmapToBase64(Ljava/lang/String;)Ljava/lang/String;
'developer@apicloud.com' used in: Lcom/uzmap/pkg/uzcore/b/d;->c(Ljava/lang/String; Ljava/lang/String;)Lcom/uzmap/pkg/uzcore/b/d;
'file:///android_asset/' used in: Lcom/uzmap/pkg/uzkit/UZUtility;->assetFileExists(Ljava/lang/String;)Z
'file:///android_asset/' used in: Lcom/uzmap/pkg/uzcore/ag;->j(Ljava/lang/String;)Z
'file:///android_asset/' used in: Lcom/uzmap/pkg/uzmodules/uzimageBrowser/activity/GalleryActivity$ImageListAdapter;->getView(I Landroid/view/View; Landroid/view/ViewGroup;)Landroid/view/View;
'file:///android_asset/' used in: Lcom/uzmap/pkg/uzmodules/uzimageBrowser/activity/ImageActivity$MyAdapter;->instantiateItem(Landroid/view/ViewGroup; I)Ljava/lang/Object;
'file:///android_asset/' used in: Lcom/uzmap/pkg/uzcore/b/e;->a(Ljava/lang/String;)Lcom/uzmap/pkg/uzcore/b/d;
'file:///android_asset/' used in: Lcom/uzmap/pkg/uzcore/b/e;->c(Ljava/lang/String; Z)Lcom/uzmap/pkg/uzcore/b/d;
'file:///android_asset/uzmap/https.p12' used in: Lcom/uzmap/pkg/a/i/c/b;->a()Ljavax/net/ssl/SSLSocketFactory;
'file:///android_asset/uzmap/https.p12' used in: Lcom/uzmap/pkg/a/i/c/b;->()V
'file:///android_asset/widget/' used in: Lcom/uzmap/pkg/uzcore/b/d;->c(Ljava/lang/String; Ljava/lang/String;)Lcom/uzmap/pkg/uzcore/b/d;
'file:///android_asset/widget/' used in: Lcom/uzmap/pkg/uzcore/b/d;->g(Ljava/lang/String;)Lcom/uzmap/pkg/uzcore/b/d;
'file:///android_asset/widget/index.html' used in: Lcom/uzmap/pkg/uzcore/b/d;->c(Ljava/lang/String; Ljava/lang/String;)Lcom/uzmap/pkg/uzcore/b/d;
'file:///android_asset/widget/index.html' used in: Lcom/uzmap/pkg/openapi/SuperFragment;->onCreateView(Landroid/view/LayoutInflater; Landroid/view/ViewGroup; Landroid/os/Bundle;)Landroid/view/View;
'file:///android_asset/widget/index.html' used in: Lcom/uzmap/pkg/openapi/SuperWebview;->getDefaultStartUrl()Ljava/lang/String;
'http://abroad.apilocate.amap.com/mobile/binary' used in: Lcom/loc/db;->a(Lcom/loc/de;)V
'http://abroad.apilocate.amap.com/mobile/binary' used in: Lcom/loc/di;->a(Landroid/content/Context;)V
'http://abroad.apilocate.amap.com/mobile/binary' used in: Lcom/loc/di;->c(Landroid/content/Context;)V
'http://abroad.apilocate.amap.com/mobile/binary' used in: Lcom/loc/dn;->a(Lcom/amap/api/location/AMapLocation;)Z
'http://apiinit.amap.com/v3/log/init' used in: Lcom/amap/api/col/n3/nc;->()V
'http://apiinit.amap.com/v3/log/init' used in: Lcom/amap/api/services/a/bh;->()V
'http://apilocate.amap.com/mobile/binary' used in: Lcom/loc/di;->c(Landroid/content/Context;)V
'http://apilocate.amap.com/mobile/binary' used in: Lcom/amap/api/col/n3/ru;->()V
'http://apilocate.amap.com/mobile/binary' used in: Lcom/loc/di;->()V
'http://apilocatesrc.amap.com/mobile/binary' used in: Lcom/loc/db;->b(Lcom/loc/de;)V
'http://apilocatesrc.amap.com/mobile/binary' used in: Lcom/loc/db;->a(Lcom/loc/de;)V
'http://m5.amap.com/' used in: Lcom/autonavi/amap/mapcore/maploader/AMapLoader;->doRequest()V
'http://m5.amap.com/' used in: Lcom/autonavi/ae/gmap/GLMapEngine;->createAMapInstance(Lcom/autonavi/ae/gmap/GLMapEngine$InitParam;)V
'http://m5.amap.com/ws/mapapi/shortaddress/transform' used in: Lcom/amap/api/services/a/i;->d()Ljava/lang/String;
'http://meiqia.com/' used in: Lcom/meiqia/core/b/e;->b(Ljava/lang/Throwable;)Ljava/lang/String;
'http://mpsapi.amap.com/' used in: Lcom/autonavi/ae/gmap/GLMapEngine;->createAMapInstance(Lcom/autonavi/ae/gmap/GLMapEngine$InitParam;)V
'http://restapi.amap.com' used in: Lcom/amap/api/col/n3/jk;->(Landroid/content/Context; I Lcom/amap/api/col/n3/jg;)V
'http://restapi.amap.com' used in: Lcom/loc/s;->a(Landroid/content/Context;)Ljava/net/Proxy;
'http://restapi.amap.com' used in: Lcom/amap/api/services/a/bm;->a(Landroid/content/Context;)Ljava/net/Proxy;
'http://restapi.amap.com' used in: Lcom/amap/api/col/n3/ih;->()V
'http://restapi.amap.com' used in: Lcom/amap/api/col/n3/ni;->a(Landroid/content/Context;)Ljava/net/Proxy;
'http://restapi.amap.com/' used in: Lcom/amap/api/col/n3/it;->setRouteRequestState(I)V
'http://restapi.amap.com/' used in: Lcom/amap/api/col/n3/iu;->setRouteRequestState(I)V
'http://restapi.amap.com/v3' used in: Lcom/amap/api/col/n3/ku;->c()Ljava/lang/String;
'http://restapi.amap.com/v3' used in: Lcom/amap/api/col/n3/lb;->c()Ljava/lang/String;
'http://restapi.amap.com/v3' used in: Lcom/amap/api/services/a/i;->a()Ljava/lang/String;
'http://restapi.amap.com/v3/assistant/inputtips?' used in: Lcom/amap/api/col/n3/kn;->c()Ljava/lang/String;
'http://restapi.amap.com/v3/config/district?' used in: Lcom/loc/a;->b(I Landroid/os/Bundle;)V
'http://restapi.amap.com/v3/direction/walking' used in: Lcom/amap/api/col/n3/jl;->runTask()V
'http://restapi.amap.com/v3/direction/walking' used in: Lcom/amap/api/col/n3/jl$1;->c()Ljava/lang/String;
'http://restapi.amap.com/v3/direction/walking' used in: Lcom/amap/api/col/n3/iu;->setRouteRequestState(I)V
'http://restapi.amap.com/v3/geocode/regeo' used in: Lcom/loc/dd;->a(Landroid/content/Context; D D)Ljava/lang/String;
'http://restapi.amap.com/v3/iasdkauth' used in: Lcom/amap/api/col/n3/nb$b;->c()Ljava/lang/String;
'http://restapi.amap.com/v3/iasdkauth' used in: Lcom/loc/m$b;->c()Ljava/lang/String;
'http://restapi.amap.com/v3/iasdkauth' used in: Lcom/amap/api/services/a/bg$b;->i()Ljava/lang/String;
'http://restapi.amap.com/v3/place/around?' used in: Lcom/loc/a;->b(I Landroid/os/Bundle;)V
'http://restapi.amap.com/v3/place/text?' used in: Lcom/loc/a;->b(I Landroid/os/Bundle;)V
'http://restapi.amap.com/v4' used in: Lcom/amap/api/services/a/i;->b()Ljava/lang/String;
'http://restapi.amap.com/v4' used in: Lcom/amap/api/col/n3/bt;->c()Ljava/lang/String;
'http://restapi.amap.com/v4' used in: Lcom/amap/api/col/n3/ge;->c()Ljava/lang/String;
'http://restapi.amap.com/v4/direction/bicycling' used in: Lcom/amap/api/col/n3/jj$1;->c()Ljava/lang/String;
'http://restapi.amap.com/v4/direction/bicycling' used in: Lcom/amap/api/col/n3/it;->setRouteRequestState(I)V
'http://restapi.amap.com/v4/direction/bicycling' used in: Lcom/amap/api/col/n3/jj;->runTask()V
'http://restapi.amap.com/v4/grasproad/driving?' used in: Lcom/amap/api/col/n3/mv;->c()Ljava/lang/String;
'http://restapi.amap.com/v4/gridmap?' used in: Lcom/amap/api/col/n3/gr$a;->(Lcom/amap/api/col/n3/gr; I I I Ljava/lang/String;)V
'http://restapi.amap.com/v4/stats/alitts' used in: Lcom/amap/api/col/n3/jk;->(Landroid/content/Context; I Lcom/amap/api/col/n3/jg;)V
'http://s.amap.com/' used in: Lcom/amap/api/col/n3/iu;->requestHttp(I I I Ljava/lang/String; Ljava/lang/String; [B I)V
'http://s.amap.com/' used in: Lcom/amap/api/col/n3/it;->requestHttp(I I I Ljava/lang/String; Ljava/lang/String; [B I)V
'http://wap.amap.com/' used in: Lcom/amap/api/maps/AMapUtils;->getLatestAMapApp(Landroid/content/Context;)V
'http://wb.amap.com/?n=%f,%f,%f,%f,%d&sourceapplication=openapi/0' used in: Lcom/amap/api/services/a/ba;->()V
'http://wb.amap.com/?p=%s,%f,%f,%s,%s&sourceapplication=openapi/0' used in: Lcom/amap/api/services/a/ba;->()V
'http://wb.amap.com/?q=%f,%f,%s&sourceapplication=openapi/0' used in: Lcom/amap/api/services/a/ba;->()V
'http://wb.amap.com/?r=%f,%f,%s,%f,%f,%s,%d,%d,%d,%s,%s,%s&sourceapplication=openapi/0' used in: Lcom/amap/api/services/a/ba;->()V
'http://wprd0%d.is.autonavi.com/appmaptile?' used in: Lcom/amap/api/col/n3/gr$a;->(Lcom/amap/api/col/n3/gr; I I I Ljava/lang/String;)V
'http://yuntuapi.amap.com' used in: Lcom/amap/api/services/a/i;->c()Ljava/lang/String;
'https://a.apicloud.com' used in: Lcompile/Properties;->mamHost()Ljava/lang/String;
'https://a.apicloud.com' used in: Lcompile/Properties;->()V
'https://adiu.amap.com/ws/device/adius' used in: Lcom/loc/bj;->c()Ljava/lang/String;
'https://adiu.amap.com/ws/device/adius' used in: Lcom/amap/api/col/n3/pp;->c()Ljava/lang/String;
'https://adiu.amap.com/ws/device/adius' used in: Lcom/amap/api/services/a/da;->i()Ljava/lang/String;
'https://as.apicloud.com' used in: Lcompile/Properties;->storeHost()Ljava/lang/String;
'https://d.apicloud.com' used in: Lcompile/Properties;->mcmHost()Ljava/lang/String;
'https://eco-api-upload.meiqia.com/upload' used in: Lcom/meiqia/core/cm;->b(Ljava/io/File; Lcom/meiqia/core/cm$b; Lcom/meiqia/core/callback/OnFailureCallBack;)V
'https://eco-api-upload.meiqia.com/upload' used in: Lcom/meiqia/core/cm;->a(Ljava/io/File; Lcom/meiqia/core/cm$b; Lcom/meiqia/core/callback/OnFailureCallBack;)V
'https://eco-api.meiqia.com/' used in: Lcom/meiqia/meiqiasdk/util/HttpUtils;->getAuthCode()Lorg/json/JSONObject;
'https://eco-api.meiqia.com/client/attrs' used in: Lcom/meiqia/core/cm;->a(Ljava/util/Map; Lcom/meiqia/core/callback/OnClientInfoCallback;)V
'https://eco-api.meiqia.com/client/device_token' used in: Lcom/meiqia/core/cm;->a(Ljava/lang/String; Lcom/meiqia/core/callback/OnRegisterDeviceTokenCallback;)V
'https://eco-api.meiqia.com/client/end_conversation' used in: Lcom/meiqia/core/cm;->a(Lcom/meiqia/core/callback/SimpleCallback;)V
'https://eco-api.meiqia.com/client/file_downloaded' used in: Lcom/meiqia/core/cm;->a(J J Ljava/lang/String; J Lcom/meiqia/core/callback/SimpleCallback;)V
'https://eco-api.meiqia.com/client/forms' used in: Lcom/meiqia/core/cm;->a(Ljava/lang/String; Ljava/util/Map; Ljava/util/Map; Lcom/meiqia/core/callback/SimpleCallback;)V
'https://eco-api.meiqia.com/client/inputting' used in: Lcom/meiqia/core/cm;->b(Ljava/lang/String;)V
'https://eco-api.meiqia.com/client/queue/position' used in: Lcom/meiqia/core/cm;->a(Lcom/meiqia/core/cm$d;)V
'https://eco-api.meiqia.com/client/send_msg' used in: Lcom/meiqia/core/c;->a(Lcom/meiqia/core/bean/MQMessage; Lcom/meiqia/core/callback/OnMessageSendCallback;)V
'https://eco-api.meiqia.com/client/tickets' used in: Lcom/meiqia/core/cm;->a(Ljava/util/Map; Lcom/meiqia/core/cm$g;)V
'https://eco-api.meiqia.com/client/tickets_v2' used in: Lcom/meiqia/core/cm;->a(Ljava/util/Map; Lcom/meiqia/core/cm$f;)V
'https://eco-api.meiqia.com/client/tickets_v2/' used in: Lcom/meiqia/core/cm;->a(J Lcom/meiqia/core/cm$e;)V
'https://eco-api.meiqia.com/client/tickets_v2/' used in: Lcom/meiqia/core/cm;->a(Ljava/util/Map; J Lcom/meiqia/core/cm$f;)V
'https://eco-api.meiqia.com/client/tickets_v2/' used in: Lcom/meiqia/core/cm;->a(Ljava/util/Map; Lcom/meiqia/core/callback/OnGetMessageListCallback;)V
'https://eco-api.meiqia.com/conversation/' used in: Lcom/meiqia/core/cm;->a(Ljava/lang/String; I Ljava/lang/String; Lcom/meiqia/core/callback/SimpleCallback;)V
'https://eco-api.meiqia.com/conversation/' used in: Lcom/meiqia/core/cm;->a(Ljava/lang/String; I I I Ljava/lang/String; I Lcom/meiqia/core/callback/OnGetMessageListCallback;)V
'https://eco-api.meiqia.com/knowledge/questions/' used in: Lcom/meiqia/core/cm;->a(J I Lcom/meiqia/core/callback/OnEvaluateRobotAnswerCallback;)V
'https://eco-api.meiqia.com/scheduler' used in: Lcom/meiqia/core/cm;->a(Ljava/util/Map; Lcom/meiqia/core/cm$a;)V
'https://eco-api.meiqia.com/sdk/get_dev_client_id' used in: Lcom/meiqia/core/cm;->b(Ljava/lang/String; Lcom/meiqia/core/callback/OnGetClientCallback;)V
'https://eco-api.meiqia.com/sdk/init' used in: Lcom/meiqia/core/cm;->a(Ljava/util/Map; Lcom/meiqia/core/cm$e;)V
'https://eco-api.meiqia.com/sdk/init_sdk_user' used in: Lcom/meiqia/core/cm;->a(Ljava/lang/String; Lcom/meiqia/core/callback/OnGetClientCallback;)V
'https://eco-api.meiqia.com/sdk/statistics' used in: Lcom/meiqia/core/cm;->a(Ljava/lang/String; Ljava/util/Map; Lcom/meiqia/core/callback/SimpleCallback;)V
'https://m5.amap.com/ws/mapapi/shortaddress/transform' used in: Lcom/amap/api/services/a/i;->d()Ljava/lang/String;
'https://notify.bugsnag.com' used in: Lcom/meiqia/core/b/e;->a(Ljava/lang/String; Lokhttp3/Callback;)V
'https://p.apicloud.com' used in: Lcompile/Properties;->pushHost()Ljava/lang/String;
'https://r.apicloud.com' used in: Lcompile/Properties;->analysisHost()Ljava/lang/String;
'https://restapi.amap.com/v3' used in: Lcom/amap/api/col/n3/ku;->c()Ljava/lang/String;
'https://restapi.amap.com/v3' used in: Lcom/amap/api/col/n3/lb;->c()Ljava/lang/String;
'https://restapi.amap.com/v3' used in: Lcom/amap/api/services/a/i;->a()Ljava/lang/String;
'https://restapi.amap.com/v3/iasdkauth' used in: Lcom/amap/api/col/n3/nb$b;->c()Ljava/lang/String;
'https://restapi.amap.com/v3/iasdkauth' used in: Lcom/loc/m$b;->c()Ljava/lang/String;
'https://restapi.amap.com/v3/iasdkauth' used in: Lcom/amap/api/services/a/bg$b;->i()Ljava/lang/String;
'https://restapi.amap.com/v4' used in: Lcom/amap/api/services/a/i;->b()Ljava/lang/String;
'https://s.apicloud.com' used in: Lcompile/Properties;->msmHost()Ljava/lang/String;
'https://yuntuapi.amap.com' used in: Lcom/amap/api/services/a/i;->c()Ljava/lang/String;

中危

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

位置: classes.dex
com.uzmap.pkg.a.k.e;
com.apicloud.devlop.uzAMap.MapAnnotations;
com.loc.h;

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/

低危

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

位置: classes.dex
com.loc.h;->a()V
com.apicloud.devlop.uzAMap.MapAnnotations;->getInfoWindow(Lcom.amap.api.maps.model.Marker;)Landroid.view.View;

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/

低危

检测2处Intent Scheme URI漏洞。

位置: classes.dex
Lcom/uzmap/pkg/a/j/f;->b(Ljava/lang/String;)Z
Lcom/uzmap/pkg/uzcore/uzmodule/b/c;->a(Lcom/uzmap/pkg/uzcore/uzmodule/a/l;)V


Intent Scheme URI是一种特殊的URL格式,用来通过Web页面启动已安装应用的Activity组件,大多数主流浏览器都支持此功能。如果在app中,没有检查获取到的load_url的值,攻击者可以构造钓鱼网站,诱导用户点击加载,就可以盗取用户信息。所以,对Intent URI的处理不当时,就会导致基于Intent的攻击。建议:
如果使用了Intent.parseUri函数,获取的intent必须严格过滤,intent至少包含addCategory(“android.intent.category.BROWSABLE”),setComponent(null),setSelector(null)3个策略。

参考资料:
http://wolfeye.baidu.com/blog/intent-scheme-url/
http://drops.wooyun.org/papers/2893
http://drops.wooyun.org/mobile/15202

低危

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

位置: classes.dex
com.meiqia.core.a.a.c;
com.apicloud.devlop.uzAMap.MapOffline;
com.uzmap.pkg.uzmodules.uzFNScanner.Zxing.camera.CameraConfigurationManager;
com.loc.e;
com.nostra13.universalimageloader.cache.disc.impl.ext.DiskLruCache;
com.uzmap.pkg.uzmodules.UIActionSelector.widget.WheelRecycle;

警告

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

位置: classes.dex
com.amap.api.navi.AmapNaviPage;->showRouteActivity
com.meiqia.meiqiasdk.chatitem.MQChatFileItem;->openFile
com.meiqia.meiqiasdk.apicloud.UZMeiQia;->jsmethod_show
com.meiqia.meiqiasdk.util.MQIntentBuilder;->build
com.meiqia.meiqiasdk.chatitem.MQRichTextItem;->onClick

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

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

警告

检测到3潜在的XSS漏洞。

位置: classes.dex
com.apicloud.devlop.uzAMap.MapAnnotations;->getInfoWindow(Lcom.amap.api.maps.model.Marker;)Landroid.view.View;
com.loc.h;->a()V
com.uzmap.pkg.a.k.e;->a(Lcom.uzmap.pkg.uzcore.a; Z)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

警告

检测到18处IvParameterSpec的使用。

位置: classes.dex
com.amap.api.col.n3.gl;->a([B [B [B)Ljava.lang.String;
com.amap.api.col.n3.nb;->a(Landroid.content.Context; Lcom.amap.api.col.n3.nk; Ljava.lang.String; Ljava.util.Map;)Lcom.amap.api.col.n3.nb$a;
com.amap.api.col.n3.ng;->a([B [B [B)[B
com.amap.api.col.n3.ng;->c([B [B [B)[B
com.amap.api.col.n3.rq;->()V
com.amap.api.col.n3.rq;->a([B)[B
com.amap.api.services.a.bg;->a(Landroid.content.Context; Lcom.amap.api.services.a.bn; Ljava.lang.String; Ljava.util.Map;)Lcom.amap.api.services.a.bg$a;
com.amap.api.services.a.bk;->c([B [B [B)[B
com.amap.api.services.a.bk;->d([B [B [B)[B
com.loc.cx;->()V
com.loc.cx;->a([B)[B
com.loc.cx;->c([B Ljava.lang.String;)[B
com.loc.cx;->d([B Ljava.lang.String;)[B
com.loc.m;->a(Landroid.content.Context; Lcom.loc.u; Ljava.lang.String;)Lcom.loc.m$a;
com.loc.q;->a([B [B [B)[B
com.loc.q;->c([B [B [B)[B
com.meiqia.core.b.a;->a(Ljavax.crypto.spec.SecretKeySpec; [B [B)[B
com.meiqia.core.b.a;->b(Ljavax.crypto.spec.SecretKeySpec; [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

警告

检测到1处provider的grantUriPermissions设置为true。
com.uzmap.pkg.uzapp.DataProvider


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

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

警告

检测到1处socket通信。

位置: classes.dex
Lcom.loc.e$c;->run

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

警告

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

位置: classes.dex
com.loc.cx;->a([B [B)[B
okio.HashingSource;->(Lokio.Source; Lokio.ByteString; Ljava.lang.String;)V
com.amap.api.col.n3.ng;->a([B [B [B)[B
com.amap.api.col.n3.gl;->a([B [B [B)Ljava.lang.String;
com.amap.api.col.n3.rq;->a([B)[B
com.loc.q;->a([B [B [B)[B
com.meiqia.core.b.a;->a(Ljava.lang.String;)Ljavax.crypto.spec.SecretKeySpec;
com.loc.cx;->a([B)[B
com.loc.m;->a(Landroid.content.Context; Lcom.loc.u; Ljava.lang.String;)Lcom.loc.m$a;
com.amap.api.col.n3.nb;->a(Landroid.content.Context; Lcom.amap.api.col.n3.nk; Ljava.lang.String; Ljava.util.Map;)Lcom.amap.api.col.n3.nb$a;
com.loc.q;->c([B [B [B)[B
com.loc.cx;->b(Ljava.lang.String;)Ljavax.crypto.spec.SecretKeySpec;
com.loc.cx;->b([B [B)[B
com.alibaba.idst.nls.internal.protocol.NlsRequestAuth;->digestMsg()Ljava.lang.String;
okio.Buffer;->hmac(Ljava.lang.String; Lokio.ByteString;)Lokio.ByteString;
com.amap.api.services.a.bk;->c([B [B [B)[B
com.amap.api.services.a.bk;->d([B [B [B)[B
com.amap.api.col.n3.ng;->c([B [B [B)[B
com.amap.api.services.a.bg;->a(Landroid.content.Context; Lcom.amap.api.services.a.bn; Ljava.lang.String; Ljava.util.Map;)Lcom.amap.api.services.a.bg$a;
okio.ByteString;->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跨站漏洞。
开发中...

应用证书