`
MyEyeOfJava
  • 浏览: 1125700 次
  • 性别: Icon_minigender_1
  • 来自: 北京
博客专栏
7af2d6ca-4fe1-3e9a-be85-3f65f7120bd0
测试开发
浏览量:70216
533896eb-dd7b-3cde-b4d3-cc1ce02c1c14
晨记
浏览量:0
社区版块
存档分类
最新评论

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

1

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

run app.package.attacksurface com.snda.youni

2

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

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

 

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

3

(修复之后再查看)

4

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

run app.provider.finduri com.snda.youni

5

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

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

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

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

6

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

7

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

8

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注入漏洞,通过在参数中提交特殊字符,触发数据库引擎的报错: 

1010

分享到:
评论

相关推荐

    Android APP安全评估工具-Drozer.zip

    drozer安装包,适用于windows平台,亲测可用。官网下载速度特别慢!不为积分,只为大家方便。

    App安全性测试工具drozer

    同时支持Android和iOS设备的安全测试的实用工具,为移动测试者提供测试App安全问题的工具

    app安全评估操作指南及填写范例.zip

    app安全评估操作指南手册,以及安全评估报告填写范例,开发者应用上架必备

    Drozer使用手册(APP安全测试)

    Drozer是App 安全测试框架。它可以帮助开发人员和测试人员确定Android 设备中的安全漏洞。drozer使用的详细操作本文档都有介绍,详细的中文说明,便于上手实践。

    Android APP 小工具测试“利器”

    Android 测试小工具基于Maven的Java Swing GUI桌面应用开发并集成adb命令完成应用程序信息快速查看,工具的主要用途用于快速获取安卓设备当前正在运行的最顶层APP的相关信息,如:PackName、PackBit、Launchable_...

    drozer用户手册-drozer Users' Guide-2.3.4

    drozer可以大大缩减Android安全评估的耗时,通过攻击测试暴露Android APP的漏洞。 基于真机的测试 drozer运行在Android模拟器和真实设备上,它不需要USB调试或其他开发即可使用。 自动化和扩展 drozer有很多扩展模块...

    drozer 2.3.4 (Windows Installer)

    drozer可以大大缩减Android安全评估的耗时,通过攻击测试暴露Android APP的漏洞。 基于真机的测试 drozer运行在Android模拟器和真实设备上,它不需要USB调试或其他开发即可使用。 自动化和扩展 drozer有很多扩展模块...

    drozer (Python .egg)- drozer-2.3.4.tar.gz

    drozer可以大大缩减Android安全评估的耗时,通过攻击测试暴露Android APP的漏洞。 基于真机的测试 drozer运行在Android模拟器和真实设备上,它不需要USB调试或其他开发即可使用。 自动化和扩展 drozer有很多扩展模块...

    Android APP渗透测试方法大全-137页.pdf

    Android APP渗透测试方法大全-137页

    drozer_2.3.4.deb (Debian-Ubuntu Archive)

    drozer可以大大缩减Android安全评估的耗时,通过攻击测试暴露Android APP的漏洞。 基于真机的测试 drozer运行在Android模拟器和真实设备上,它不需要USB调试或其他开发即可使用。 自动化和扩展 drozer有很多扩展模块...

    drozer-2.3.4-1.noarch.rpm

    drozer可以大大缩减Android安全评估的耗时,通过攻击测试暴露Android APP的漏洞。 基于真机的测试 drozer运行在Android模拟器和真实设备上,它不需要USB调试或其他开发即可使用。 自动化和扩展 drozer有很多扩展模块...

    AndroidApp漏洞测试工具和性能测试工具.pdf

    AndroidApp漏洞测试工具和性能测试工具.pdf

    AndroidApp漏洞测试工具和性能测试工具[参照].pdf

    AndroidApp漏洞测试工具和性能测试工具[参照].pdf

    drozer-agent-2.3.4.apk

    drozer可以大大缩减Android安全评估的耗时,通过攻击测试暴露Android APP的漏洞。 基于真机的测试 drozer运行在Android模拟器和真实设备上,它不需要USB调试或其他开发即可使用。 自动化和扩展 drozer有很多扩展模块...

    Android Studio实例代码.zip_Android app实例_Android实例_android app源码_and

    Android Studio实例源码,主要介绍常用app的代码

    sieve.apk(drozer测试应用程序)

    drozer可以大大缩减Android安全评估的耗时,通过攻击测试暴露Android APP的漏洞。 基于真机的测试 drozer运行在Android模拟器和真实设备上,它不需要USB调试或其他开发即可使用。 自动化和扩展 drozer有很多扩展模块...

    drozer简介及使用

    drozer可以大大缩减Android安全评估的耗时,通过攻击测试暴露Android APP的漏洞。 基于真机的测试 drozer运行在Android模拟器和真实设备上,它不需要USB调试或其他开发即可使用。 自动化和扩展 drozer有很多扩展模块...

    移动Android APP安全检测分析与研究.pdf

    移动Android APP安全检测分析与研究.pdf

    drozer (for windows)

    Drozer原名mercury,是一款不错的Android APP安全评估工具

    android APP元素捕捉工具

    xpath : //android.widget.Button[@resource-id=\"com.android.huayi:id/btn_download_update_dialog\"] uiseletor:new UiSelector().className(\"android.widget.Button\").textContains(\"下载安装\").resourceId...

Global site tag (gtag.js) - Google Analytics