博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Drozer – Android APP安全评估工具(附测试案例)
阅读量:5771 次
发布时间:2019-06-18

本文共 1224 字,大约阅读时间需要 4 分钟。

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

具体的使用说明可以参考 

测试案例

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

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

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

转载地址:http://pkpux.baihongyu.com/

你可能感兴趣的文章
实时编辑
查看>>
KVO原理分析及使用进阶
查看>>
【348天】每日项目总结系列086(2018.01.19)
查看>>
【294天】我爱刷题系列053(2017.11.26)
查看>>
Microsoft发布了Azure Bot Service和LUIS的GA版
查看>>
Google发布Puppeteer 1.0
查看>>
.NET开源现状
查看>>
可替换元素和非可替换元素
查看>>
2016/08/25 The Secret Assumption of Agile
查看>>
(Portal 开发读书笔记)Portlet间交互-PortletSession
查看>>
搭建vsftpd服务器,使用匿名账户登入
查看>>
AMD改善Linux驱动,支持动态电源管理
查看>>
JAVA中循环删除list中元素的方法总结
查看>>
Java虚拟机管理的内存运行时数据区域解释
查看>>
人人都会深度学习之Tensorflow基础快速入门
查看>>
ChPlayer播放器的使用
查看>>
js 经过修改改良的全浏览器支持的软键盘,随机排列
查看>>
Mysql读写分离
查看>>
Oracle 备份与恢复学习笔记(5_1)
查看>>
Oracle 备份与恢复学习笔记(14)
查看>>