Drozer – Android APP安全评估工具(附测试案例)

Drozer原名mercury,是一款不错的Android APP安全评估工具。现在有社区版/专业版两个版本。

具体的使用说明可以参考https://www.mwrinfosecurity.com/system/assets/559/original/mwri_drozer-users-guide_2013-09-11.pdf 

测试案例

某Android APP由于Content Provider的控制不严,导致可读写APP私有的数据库,具体的步骤和思路:

1、查找APP完整的包名字(某些命令只能输入完整的包名才能执行):

dz>
run app.package.list -f
younicom.snda.youni

 

2、列举出APP的详细信息

run app.package.info -a  com.snda.youni

3、APP攻击面分析,分析Activity/Broadcast Receiver/Content Provider/Service是否能被其他的的应用程序调用

run app.package.attacksurface com.snda.youni

4、列举Content Provider的信息(可以看到Read/Write的Permission都是null)

run app.provider.info -a com.snda.youni

 

 (第一次测试的APP版本可以修改数据库) 

(修复之后再查看)

5、有暴露的Provider,可以用drozer扫描可用的URI(drozer是否是通过源码静态扫描的方式发现这些URI?通过反编译dex->jar->class可以查找到这些URI)

run app.provider.finduri com.snda.youni

6、通过分析源代码可知DataStructs对应的是本地数据库,URI的结构:

content://包名.数据库/表名

(URI不一定指向数据库,也可能是xml文件)

可以先在PC上用sqlite broswer分析.db文件,例如contacts表中有一个phone_number字段;有了这些信息搜集,就可以利用drozer命令+参数查看数据库内容。可以看到该APP默认的几条内容:

7、preferences表存储的是当前用户的一些基本信息,查询当前手机号: 

8、可以利用drozer直接修改数据库 

9、漏洞利用。结合该APP的一个功能:通过手机号转账给他人。假设Max安卓手机里装了该APP,Coco也申请了这个APP的账号并且在Max的联系
人名单中,ID就是Coco的手机号,APP显示给Max是昵称。Max的手机不小心中了木马,木马通过上述漏洞修改了APP私有数据库
(Contacts表)中Coco的手机号,改为攻击者的手机号。Max通过APP的转账功能给Coco转账,就转到攻击者的账户中。实际测试通过。

10、以上漏洞利用只是一个攻击思路,Content Provider的暴露应该可以带来更大的危害。 

11、Content Provider也可能造成本地SQL注入漏洞,通过在参数中提交特殊字符,触发数据库引擎的报错: 

时间: 2024-09-20 10:33:40

Drozer – Android APP安全评估工具(附测试案例)的相关文章

人人都是开发者:5款傻瓜式APP开发工具

谷歌推出的App Inventor Android App开发工具可以让你仅通过拖拉式的简单操作就可以创建自己的Android App.对于那些为了特定目的想要动手尝试开发一个简单应用的用户,除了App Inventor其实还有很多其他的选择,比如下面介绍的5款工具就可以让所有人都能轻松开发手机应用.不过如果你真想做个专业的开发者,还是像lion一样踏踏实实从基础学起比较好. 国外的营销工作者和技术开发者开发了许多能帮助企业创建简单APP应用的工具,通过这些工具,就算是一个对程序一窍不通的普通网

人人都是开发者:7款傻瓜式APP开发工具_其它相关

谷歌推出的App Inventor Android App开发工具可以让你仅通过拖拉式的简单操作就可以创建自己的Android App.对于那些为了特定目的想要动手尝试开发一个简单应用的用户,除了App Inventor其实还有很多其他的选择,比如下面介绍的5款工具就可以让所有人都能轻松开发手机应用.不过如果你真想做个专业的开发者,还是像lion一样踏踏实实从基础学起比较好. 国外的营销工作者和技术开发者开发了许多能帮助企业创建简单APP应用的工具,通过这些工具,就算是一个对程序一窍不通的普通网

用于Android App安全检测Drozer工具安装使用教程

最近接到任务,让了解一下几款Android安全测试相关的软件,首先是Drozer.Drozer是一款综合的安全评估和攻击的android框架,据 产品介绍 里说,Drozer可以全面评估app的安全性,并帮助团队把app的安全风险保持在可控范围内. 使用方法 1.在 mwrinfosecurity 公司的这个网页上,提供了社区版本的下载(没错,还有收费的高级版),下载并安装之.并保证android的adb环境已经配置好,即cmd中输入adb devices不会报错.并在手机端安装下载包中的Age

使用IBM Rational Test Workbench测试Android App应用

IBM Rational Test Workbench(简称 RTW)是 IBM Rational 的统一的测试工具集,包括功能测试.性能 测试.接口 SOA 测试等模块,满足客户多种类型的自动化测试需求.在 IBM 发布新的 RTW 8.5 版本,RTW 又增加了针对移动应用的 App 自动化测试功能,目前支持 Android.Apple iOS 两个版本的 App 应用.本文 就介绍如何快速使用 RTW 8.5 对 Android 应用进行自动化测试. 概括 IBM Rational Tes

Pury — 一个新的 Android App 性能分析工具

本文讲的是Pury - 一个新的 Android App 性能分析工具, 手机应用存在的目的,就是在帮助用户做他们想做的事情的同时,提供最好的用户体验 -- 而用户体验的重中之重是应用的性能.但有时候开发者们却以性能为借口,既没有达到既定目标,又写着低质量并难以维护的代码.在这里我想引用 Michael A. Jackson 的一句话: "程序优化守则第一条:别去做它.程序优化守则第二条(仅限于专业人员):别去做它,现在还不是时候." 在开始任何优化之前,我们要先认清问题的症结所在.

Android App常见逆向工具和使用技巧

前言 本文将主要介绍个人在Android App逆向分析时常用到的一些工具和小技巧.说起Android 逆向,就不得不提到常用的逆向分析神器了,IDA,jadx,Android Killer,JEB. 常用工具介绍 jadx是一款非常不错的apk反编译工具,可以直接将apk转换成java源码,代码还原度高,且支持交叉索引等等,以一款开源工具为例,反编译后结构图 代码显示效果: 排除混淆的影响外,整体看来代码的显示效果基本是跟原工程一样的,非常有逻辑感,右键还可以查看方法和变量的引用,但是jadx

Android实现EditText控件禁止输入内容的方法(附测试demo)_Android

本文实例讲述了Android实现EditText控件禁止输入内容的方法.分享给大家供大家参考,具体如下: 问题: android如何实现EditText控件禁止往里面输入内容? 修改版解决方法: EditText editText = (EditText) findViewById(R.id.editText1); editText.setKeyListener(null); 看到这个问题大家可能有点奇怪了,EditText的功能不就是往上面写入内容吗? 再者,如果真要禁止输入文本,在布局文件中

Android App支付系列(二):支付宝SDK接入详细指南(附官方支付demo)

一家移动互联网公司,说到底,要盈利总是需要付费用户的,自己开发支付系统对于资源有限的公司来说显然不太明智,国内已经有多家成熟的移动支付提供商,阿里就是其中之一. 笔者在此总结了下阿里旗下支付宝Android SDK支付的接入流程,供后来者参考. 接入流程如下: 1 签约成为支付宝商户 签约地址:https://b.alipay.com/, 只有成为签约商户的开发者才能具备集成支付宝app支付的资格. 签约资料:1)营业执照 2)APP说明文档 3)商户经营信息.商户联系人等信息 必要时还需提供A

Android App性能评测分析-内存篇

1.内存了解 在Android App的性能优化的各个部分里,内存方面的知识较多且不易理解,内存的问题绝对是最令人头疼的一部分,需要对内存基础知识.内存分配.内存管理机制等非常熟悉,才能排查问题. 1.1 了解进程的地址空间 在32位操作系统中,进程的地址空间为0到4GB,这里主要说明一下Stack和Heap:Stack空间(进栈和出栈): 由操作系统控制,其中主要存储函数地址.函数参数.局部变量等等,所以Stack空间不需要很大,一般为几MB大小. Heap空间: 它的使用由程序员控制,程序员