Featured image of post Drozer

Drozer

Drozer安装与使用

https://zhuanlan.zhihu.com/p/20001816751

drozer主要用来测试Android中四大组件的问题

1.安装

APP渗透总结-新Drozer安装-CSDN博客

Drozer:https://github.com/ReversecLabs/drozer/releases

DrozerAgent:https://github.com/ReversecLabs/drozer-agent/releases/tag/3.1.0

老版本的Drozer需要python2环境,现在大部分都是python3,所以安装新版本方便一点,下载后运行以下命令

1
pip install drozer-3.1.0-py3-none-any.whl

1
2
adb forward tcp:31415 tcp:31415        //端口转发过来
drozer console connect                 //运行Drozer

2.使用

1
run app.package.list          //列出所有包名

1
run app.package.list -f '检索内容'            //查找指定内容

3.进程间数据交互

https://xz.aliyun.com/news/6636

app渗透测试 客户端篇 - sijidou - 博客园

1
2
3
4
5
6
run app.package.attacksurface com.xxs.leon.xxs  //查看可攻击组件信息

run app.activity.info -a com.xxs.leon.xxs #查看activity组件
run app.broadcast.info -a com.xxs.leon.xxs #查看broadcast组件
run app.provider.info -a com.xxs.leon.xxs #查看provider组件
run app.service.info -a com.xxs.leon.xxs #查看service组件

这些暴露的组件还要看是否为第三方组件,第三方组件没有意义

3.1.导出组件Content Provider目录遍历

检测项概述:

App在AndroidManifest.xml文件中设置了Content Provider为导出,导致该组件可以被第三方程序调用,并可以使用SQL语句进行数据查询。如果没有对Content Provider组件的访问进行权限控制和对访问的目标文件的Content Query Uri进行有效判断,攻击者利用该应用暴露的Content Provider的openFile()接口进行文件目录遍历以达到访问任意可读文件的目的。

1
run scanner.provider.traversal --package com.xxs.leon.xxs

3.2.导出组件Content Provider SQL注入漏洞

检测项概述

App在AndroidManifest.xml文件中设置了Content Provider为导出,导致该组件可以被第三方程序调用,并可以使用SQL语句进行数据查询。如果App使用外部参数构造SQL查询语句的时候没有进行处理,会产生SQL注入漏洞,导致执行恶意的SQL语句,产生数据泄露、数据恶意删除、恶意修改等风险。

1
run scanner.provider.injection --package com.xxs.leon.xxs

3.3.导出Content Provider数据泄露

检测项概述

App在AndroidManifest.xml文件中设置了Content Provider为导出,导致该组件可以被第三方程序调用,并可以使用SQL语句进行数据查询。如果Content Provider中存储了敏感数据,如配置文件、用户敏感信息等,可能会导致Content Provider本地数据泄漏。

1
run scanner.provider.finduris -a com.xxs.leon.xxs

这里不存在漏洞,如果存在漏洞的话可以对可查询的uri进行测试

1
run app.provider.query content://downloads/my_downloads –vertical

3.4.导出Activity组件拒绝服务攻击

检测项概述

App在AndroidManifest.xml文件中设置了Activity为导出,导致该组件可以被第三方程序调用,并可以通过Intent接受参数传入。如果这些组件在从Intent获取参数的时候没有对其合法性进行校验,且代码没有使用异常处理,则会导致App抛出异常无法被捕获,进而导致App崩溃。第三方恶意程序可以通过在后台不断发送能够使App崩溃的Intent,使得程序无法正常运行。

1
run app.activity.info --package com.xxs.leon.xxs

不存在可以未授权访问的activity

3.5.导出Service组件拒绝服务攻击

检测项概述

App在AndroidManifest.xml文件中设置了Service为导出,导致该组件可以被第三方程序调用,并可以通过Intent接受参数传入。如果这些组件在从Intent获取参数的时候没有对其合法性进行校验,且代码没有使用异常处理,则会导致App抛出异常无法被捕获,进而导致App崩溃。第三方恶意程序可以通过在后台不断发送能够使App崩溃的Intent,使得程序无法正常运行。

1
run app.service.info --package com.xxs.leon.xxs

如果存在问题可以使用am命令进行测试

1
am startservice -n com.xxs.leon.xxs/com.xxs.leon.xxs.服务名
By Lsec
最后更新于 Sep 02, 2025 21:58 +0800
comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计
¹鵵ҳ