加入收藏 | 设为首页 | 会员中心 | 我要投稿 核心网 (https://www.hxwgxz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 教程 > 正文

APP漏洞利用组合拳——应用克隆案例分析

发布时间:2019-06-03 20:42:50 所属栏目:教程 来源:牛冠杰
导读:一、前言 在工作中遇到了一次Android应用克隆漏洞的案例,由于攻击过程非常有趣,综合利用了多个中低风险漏洞,产生了化腐朽为神奇的攻击效果。在此分享给大家,以扩展渗透测试思路。 二、漏洞详情 1. 漏洞介绍 攻击者可通过散布恶意构造的HTML文件,来窃
副标题[/!--empirenews.page--]

一、前言

在工作中遇到了一次Android应用克隆漏洞的案例,由于攻击过程非常有趣,综合利用了多个中低风险漏洞,产生了化腐朽为神奇的攻击效果。在此分享给大家,以扩展渗透测试思路。

漏洞

二、漏洞详情

1. 漏洞介绍

攻击者可通过散布恶意构造的HTML文件,来窃取受害者的个人信息。一旦受害者打开该文件,受害者的姓名、手机号、身份证号、交易记录等敏感信息将会被窃取。

经分析,该APP可被利用的漏洞如表2.1所示。

APP漏洞利用组合拳——应用克隆案例分析

表2.1 APP可被利用的漏洞

2. 漏洞攻击步骤描述

  • 受害者打开APP,正常登录。
  • 回到主页面,APP 切换至后台运行。
  • 受害者访问攻击者发布的恶意链接,访问恶意HTML文件。
  • 访问恶意HTML文件后,屏幕先显示APP页面,然后跳转至空白页面。
  • 之后攻击者在服务器端获取账户信息、交易记录等敏感信息。

大致流程如图2.1所示。

漏洞攻击流程

图2.1 漏洞攻击流程

三、应用克隆漏洞案例分析

1. Deeplink启动APP

Deeplink简单来说就是让APP开发者能够链接到应用内特定的页面,通过Deeplink可以直接从广告到达商品,移动应用开发者可以再现网页端的体验。而判断一个APP程序有没有使用Deeplink,最简单的方法就是通过反编译APP,在AndroidManifest.xml文件中搜索关键字“android:scheme=”。

针对目标APP的分析:

反编译APP,在AndroidManifest.xml发现一个url scheme存在android.intent.category.BROWSABLE属性,可从浏览器启动。

  1. <activity android:launchMode="singleInstance" android:name="com.xxx.router.RouterActivity" android:screenOrientation="portrait" android:theme="@style/myTransparent"> 
  2.     <intent-filter> 
  3.         <action android:name="android.intent.action.VIEW"/> 
  4.         <category android:name="android.intent.category.DEFAULT"/> 
  5.         <category android:name="android.intent.category.BROWSABLE"/> 
  6.         <data android:scheme="mydeeplink"/> 
  7.     </intent-filter> 
  8. </activity> 

在反编译后的文件夹中搜索关键字mydeeplink,发现一个Deeplink:

  1. mydeeplink://?mydeeplink={url:'/messageCenter/pages/index.html',message_type:'messagecenter'} 

经测试“mydeeplink://”可成功调用APP窗口,使用命令:

  1. adb shell am start -a "android.intent.action.VIEW" -d "mydeeplink://?mydeeplink={url:'/messageCenter/pages/index.html',message_type:'messagecenter'}"。 

2. Deeplink读取本地文件和JS代码执行

既然可以使用Deeplink,那么后续则可以通过Deeplink读取本地文件、执行JS代码,获取用户手机号、身份证号等敏感信息,或者获取Cookie。

漏洞分析过程:

经分析,发现目标APP针对攻击手段进行了一定的防护:

  • 可以使用file://协议,但是被限制了目录,无法读取数据库等文件。
  • 无法直接使用JavaScript代码:。
  • 对请求的URL做了限制,只能请求与APP主域名相关的URL。

详细分析过程如下:

使用Payload:

  1. adb shell am start -a "android.intent.action.VIEW" -d "mydeeplink://?mydeeplink={url:'https://www.baidu.com'}" 

,发现存在一定程度的安全检测,请求被拦截,如图3.1所示。

APP漏洞利用组合拳——应用克隆案例分析

图3.1  URL跳转百度失败

使用Payload:

  1. adb shell am start -a "android.intent.action.VIEW" -d "mydeeplink://?mydeeplink={url:'http://static.xxx.com/m/login.html'}" 

(编辑:核心网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读