扫描结论 |
| 威胁等级 |
|
| 漏洞概述 |
共审计出19个漏洞,13个风险
|
|
基本信息 |
| 文件名 |
juchaozhi_v1.3.0.apk |
| MD5 |
7663b13035e9eaa95a4fb257e741559c |
| 上传时间 |
9/22/2014 5:47:11 PM |
| 审计耗时 |
0小时12分钟 |
漏洞详情 |
| 【高危】Web组件远程代码执行漏洞 |
发现17处 |
详细内容:
程序中存在以下危险api,可导致远程代码执行 cn\jpush\android\a\f.java:A.addJavascriptInterface(new cn.jpush.android.ui.l(u, B), E[8]); cn\jpush\android\ui\a.java:d.addJavascriptInterface(new l(paramContext, paramD), z[0]); com\juchaozhi\discount\ArticleActivity$7.java:ArticleActivity.access$2100(this$0).addJavascriptInterface(this$0.jsObject, "checkCollectionState"); com\juchaozhi\discount\ArticleActivity.java:paramWebView.addJavascriptInterface(new ArticleActivity.WebViewJavaScriptSInterface(this), "webview"); com\tencent\connect\auth\AuthDialog.java:Method localMethod = WebView.class.getMethod("addJavascriptInterface", new Class[] { Object.class, String.class }); cn\com\pcgroup\android\browser\utils\CacheUtil.java cn\com\pcgroup\android\common\widget\refreshweb\PullToPageWebView.java cn\jpush\android\a\f.java cn\jpush\android\ui\a.java com\imofan\android\develop\sns\activity\MFSnsOAuthActivity.java com\juchaozhi\topic\TopicFragment.java com\sina\weibo\sdk\auth\WeiboDialog.java com\tencent\connect\auth\AuthAgent.java com\tencent\connect\auth\AuthDialog.java com\tencent\open\PKDialog.java com\tencent\open\SocialApiIml.java com\tencent\open\TDialog.java
修复建议:
建议禁用危险接口addJavascriptInterface导出Java类及方法,并加强访问的url的域控制;移除系统webkit内置的危险接口searchBoxJavaBridge_;严格控制导出方法的权限,避免越权操作。
|
| 【高危】Content Provider组件数据泄露漏洞 |
超时 |
详细内容:
%SUBDETAILLEAKHIGH11%
修复建议:
暴露的Provider组件请严格校验输入uri,防止通过恶意uri访问任意目录文件
|
| 【高危】Activity组件隐私泄露漏洞 |
超时 |
详细内容:
%SUBDETAILLEAKHIGH12%
修复建议:
Activity组件请严格校验输入Intent对象的参数,禁止通过Activity组件内置浏览器加载任意url并通过file协议访问本地html文件。
|
| 【中危】源码泄漏漏洞 |
安全 |
详细内容:
当前应用程序代码混淆率为: 85.52%,源码文件数: 2085, 未混淆文件数: 302
|
| 【中危】随机数加密破解漏洞 |
安全 |
详细内容:
SecureRandom密码漏洞检测通过
|
| 【中危】https敏感数据劫持漏洞 |
发现2处 |
详细内容:
程序中存在以下api,可能导致https加密传输劫持漏洞 com\imofan\android\develop\sns\MFSnsSSLSocketFactoryEx$1.java(new X509TrustManager):L19: public void checkServerTrusted(X509Certificate[] paramArrayOfX509Certificate, String paramString) com\imofan\android\develop\sns\MFSnsHttpUtil.java:L77: localMFSnsSSLSocketFactoryEx.setHostnameVerifier(SSLSocketFactory.ALLOW_ALL_HOSTNAME_VERIFIER);
修复建议:
建议对自定义的X509TrustManager实现对证书的严格校验;setHostnameVerifier接口请设置安全选项级别,如STRICT_HOSTNAME_VERIFIER
|
| 【中危】系统组件本地拒绝服务漏洞检测 |
超时 |
详细内容:
%SUBDETAILLEAKMIDDLE10%
修复建议:
注册的组件请严格校验输入参数,注意空值判定和类型转换判断,防止由于异常输入导致的应用崩溃
|
风险详情 |
| Activity组件暴露风险 |
有风险 |
详细内容:
以下Activity接口可被其它应用调用,用于执行特定的敏感操作或钓鱼欺骗,建议添加 android:exported="false", 若需要外部调用,需自定义signature或者signatureOrSystem级别的权限 cn.com.pcgroup.android.common.cropphoto.CropActivity com.tencent.tauth.AuthActivity cn.jpush.android.ui.PushActivity
修复建议:
无需暴露的组件请设置exported=”false”;若需要外部调用,建议添加自定义signature或signatureOrSystem级别的私有权限保护;需要暴露的组件请严格检查输入参数,避免应用出现拒绝服务。
|
| Service组件暴露风险 |
安全 |
|
|
| BroadcastReceiver组件暴露风险 |
有风险 |
详细内容:
以下广播可被外部调用导致敏感信息泄露,建议设置android:exported="false", 若需要外部调用,需定义signature或者signatureOrSystem级别的权限 com.imofan.android.basic.notification.MFAlarmReceiver com.imofan.android.basic.MofangReceiver cn.com.pcgroup.android.common.jpush.JPushReceiver cn.jpush.android.service.PushReceiver com\tencent\a\b\f.java:L381: b.registerReceiver(P, new IntentFilter("android.net.conn.CONNECTIVITY_CHANGE")); com\tencent\a\b\g.java:L87: a.registerReceiver(c, localIntentFilter); com\tencent\mm\sdk\platformtools\LBSManager.java:L236: R.registerReceiver(this, localIntentFilter); com\tencent\mm\sdk\plugin\MMPluginAPIImpl.java:L153: R.registerReceiver(bz, new IntentFilter("com.tencent.mm.sdk.plugin.Intent.ACTION_QRCODE_SCANNED"));
修复建议:
无需暴露的组件请设置exported="false";若需要外部调用,建议添加自定义signature或signatureOrSystem级别的私有权限保护;需要暴露的组件请严格检查输入参数,避免应用出现拒绝服务。 进程内动态广播注册建议使用LocalBroadcastManager;或者使用registerReceiver(BroadcastReceiver, IntentFilter, broadcastPermission, Handler)替代registerReceiver(BroadcastReceiver, IntentFilter)
|
| ContentProvider组件暴露风险 |
安全 |
|
|
| 自定义权限滥用风险 |
有风险 |
详细内容:
以下权限为"normal"权限,可能导致敏感信息泄露,建议修改为"signature"或者"signatureOrSystem" com.juchaozhi.permission.JPUSH_MESSAGE
修复建议:
私有权限建议设置signature或者signatureOrSystem的保护级别
|
| Intent组件数据组件泄露风险 |
有风险 |
详细内容:
以下intent存在安全劫持风险, 建议采用setClassName显式调用 cn\jpush\android\api\d.java:localIntent.setAction(z[7]);
修复建议:
建议使用显式调用方式发送Intent;进程内发送消息建议使用LocalBroadcastManager;或者使用sendBoardcast(Intent, receiverPermission)替代sendBoardcast(Intent)
|
| Keystore漏洞检测 |
安全 |
|
|
| 私有文件泄漏风险 |
安全 |
详细内容:
MODE_WORLD_READABLE/MODE_WORLD_WRITEABLE漏洞检测通过
|
安全提示 |
| 敏感权限使用 |
发现6处 |
程序中存在以下敏感权限 android.permission.READ_PHONE_STATE 允许访问电话状态、设备信息 android.permission.GET_TASKS 允许获取应用列表 android.permission.CAMERA 允许访问摄像头拍照 android.permission.RECEIVE_BOOT_COMPLETED 允许程序开机自动运行 android.permission.MOUNT_UNMOUNT_FILESYSTEMS 允许挂载、反挂载外部文件系统 android.permission.READ_LOGS 允许读取敏感日志数据
|
| 第三方库安全检测 |
安全 |
|
|
运行截图 |
|
|