1、简介:

Drozer是一款用于测试android应用程序漏洞的安全评估工具,能够发现多种类型的安全的漏洞,免费版本的相关资源下载地址:

https://www.mwrinfosecurity.com/products/drozer/community-edition/

其中包含了Drozer的使用说明书,里面对Drozer的使用方法进行了详细的描述。

攥写本文的目的在于提取说明书内主要关键步骤,并结合实际例子,以便于自己能够快速参考和使用,同时也方便英文不好的同事做参考。

2、环境要求:

(1)、安装JAVA JRE或JDK,并设置java路径到环境变量path(过程略)。

(2)、安装Android SDK,并添加ADB到环境变量path(过程略)。

3、准备工作(Windows):

(1)、下载并安装Drozer(默认安装路径:C:\drozer\)。

(2)、将Drozer agent安装到手机终端,并打开Drozer angent,如图:

(3)、启动命令行,设置端口转发:

adb forward tcp:31415 tcp:31415

(4)、启动连接,进入Drozer命令行。

C:\drozer\drozer.bat console connect

注意:执行该命令时命令行所在的路径最好和Drozer安装路径一致,否则可能会出现    莫名其妙的问题。

4、常用命令:

(1)、获取指定的安装包的详细信息:

run app.package.info -a packageName

(2)、分析指定安装包的攻击面:

run app.package.attacksurface packageName

(3)、获取指定安装包的对外导出的activity列表:

run app.activity.info -a packageName

(4)、启动安装包指定的activity

run app.activity.start --component packageName activityName

(5)、获取指定安装包的对外导出的content provider的信息:

run app.provider.info -a packageName

(6)、扫描指定安装包的content provider的URI:

run scanner.provider.finduris -a packageName

注:Able表示可通过该URI读取数据,反之,Unable表示不可读取。

(7)、读取指定的uri的数据(必须是可读取的uri,参考第6点):

run app.provider.query contentProviderURI

(8)、对指定安装包的content provider进行SQL注入漏洞扫描。

run scanner.provider.injection -a packageName

(9)、SQL注入手动测试语句:

projection 测试:run app.provider.query contentProviderURI --projection "'"

selection 测试:run app.provider.query contentProviderURI --selection "'"

projection注入语句测试:run app.provider.query contentProviderURI  --projection "*          FROM xx;--"

Selection注入语句测试:run app.provider.query contentProviderURI  --selection "1=1);--"

(10)、对指定安装包的content provider进行目录遍历漏洞扫描:

run scanner.provider.traversal -a packageName

(11)、手动测试目录遍历漏洞:

读取指定路径文件内容:run app.provider.read contentProviderURI+filePath

下载安装包目录下指定目录下的文件:run app.provider.download contentProviderURI+filePath exportPath

(12)、获取指定安装包的androidmanifest.xml的内容:

run app.package.manifest packageName

 

Drozer快速使用指南的更多相关文章

  1. Rancher 快速上手指南操作(1)

    Rancher 快速上手指南操作(1)该指南知道用户如何快速的部署Rancher Server 管理容器.前提是假设你的机器已经安装好docker了.1 确认 docker 的版本,下面是 ubunt ...

  2. AngularJS快速入门指南20:快速参考

    thead>tr>th, table.reference>tbody>tr>th, table.reference>tfoot>tr>th, table ...

  3. AngularJS快速入门指南19:示例代码

    本文给出的大部分示例都可以直接运行,通过点击运行按钮来查看结果,同时支持在线编辑代码. <div ng-app=""> <p>Name: <input ...

  4. AngularJS快速入门指南18:Application

    是时候创建一个真正的AngularJS单页面应用程序了(SPA). 一个AngularJS应用程序示例 你已经了解了足够多的内容来创建第一个AngularJS应用程序: My Note Save Cl ...

  5. AngularJS快速入门指南17:Includes

    使用AngularJS,你可以在HTML中包含其它的HTML文件. 在HTML中包含其它HTML文件? 当前的HTML文档还不支持该功能.不过W3C建议在后续的HTML版本中增加HTML import ...

  6. AngularJS快速入门指南16:Bootstrap

    thead>tr>th, table.reference>tbody>tr>th, table.reference>tfoot>tr>th, table ...

  7. AngularJS快速入门指南15:API

    thead>tr>th, table.reference>tbody>tr>th, table.reference>tfoot>tr>th, table ...

  8. AngularJS快速入门指南14:数据验证

    thead>tr>th, table.reference>tbody>tr>th, table.reference>tfoot>tr>th, table ...

  9. AngularJS快速入门指南13:表单

    一个AngularJS表单是一组输入型控件的集合. HTML控件 HTML输入型标签标包括: input标签 select标签 button标签 textarea标签 HTML表单 HTML表单将各种 ...

随机推荐

  1. TOP字句加SQL变量的相关问题

    SQL Server数据库中的变量可以加载TOP字句之后,下文将对TOP字句加SQL变量的相关问题进行讨论,供您参考,希望对您学习SQL数据库有所帮助. SQL Server2005开始,TOP子句后 ...

  2. Oracle 12C -- 使用local PDB克隆新的PDB

    1.将用于克隆的PDB至于只读状态:startup open read only SQL> select con_id,name,open_mode from v$pdbs; CON_ID NA ...

  3. sqlserver 在尝试加载程序集 ID 65537 时 Microsoft .NET Framework 出错.服务器可能资源不足

    报错信息: 处理报表时出错. 对数据集“query”执行查询失败. 在尝试加载程序集 ID 65536 时 Microsoft .NET Framework 出错.服务器可能资源不足,或者不信任该程序 ...

  4. MySQL表名不区分大小写的设置方法

    原来Linux下的MySQL默认是区分表名大小写的,通过如下设置,可以让MySQL不区分表名大小写:1.用root登录,修改 /etc/my.cnf:2.在[mysqld]节点下,加入一行: lowe ...

  5. linux卸载自带jdk

    centos 6.5系统 java -version: rpm -qa | grep jdk rpm -qa | grep gcj: 使用: yum -y remove java-1.5.0-gcj- ...

  6. rdlc 分页操作和分页统计

    1. 工具箱中拖一个列表过来,设置 列表-->行组-->组属性常规-->组表达式=Int((RowNumber(Nothing)-1)/10)分页符-->勾选在组的结尾. 2. ...

  7. [转]Java的文件读写操作

    file(内存)----输入流---->[程序]----输出流---->file(内存) 当我们读写文本文件的时候,采用Reader是非常方便的,比如FileReader,InputStr ...

  8. C#基础第九天-作业答案-储蓄账户(SavingAccount)和信用账户(CreditAccount)

    class Bank { //Dictionary<long,Account> dictionary=new Dictionary<long,Account>(); DataT ...

  9. php分享二十八:mysql运行中的问题排查

    一:杀掉mysql连接的方法: kill thread_id:  杀掉当前进程,断开连接 kill query thread_id: 只杀掉某连接当前的SQL,而不断开连接. 批量杀死MySQL连接的 ...

  10. oracle视图建主键

    一个项目要求视图建主键,以下是一个样例 CREATE or replace VIEW SME_V_A....  (AGENTID,AGENTNAME,BUSYNUM,RESTNUM,RESTTIME, ...