如何使用drozer对APP进行越权访问
字数 953 2025-08-18 11:39:22

Drozer Android应用越权访问测试指南

一、工具与环境准备

1. 所需工具

  • Drozer框架:Android安全测试框架
  • Android Debug Bridge (adb):与设备通信的命令行工具
  • 夜神模拟器:Android模拟环境
  • 测试应用:sieve.apk(示例应用)

2. ADB组件

ADB包含三个核心组件:

  • 客户端:在开发计算机上运行,发送命令
  • 守护进程(adbd):在设备上作为后台进程运行
  • 服务器:管理客户端和守护进程间的通信

二、初始设置

1. 连接模拟器

adb.exe connect 127.0.0.1:62001
adb.exe devices  # 验证连接

2. 启动Drozer

  1. 在夜神模拟器中启动Drozer代理
  2. 通过控制台连接:
drozer.bat console connect

三、应用信息收集

1. 列出所有应用包名

list  # 查看可用模块
run app.package.list  # 列出所有安装的app

2. 查找特定应用

run app.package.list -f [app名称关键词]

3. 获取应用详细信息

run app.package.info -a [包名]

返回信息包括:

  • 应用路径
  • 数据目录
  • UID
  • GID
  • 权限列表

四、攻击面分析

1. 检查暴露组件

run app.package.attacksurface [包名]

重点关注:

  • 暴露的Activity数量
  • 可调试组件

2. 查看暴露的Activity

run app.activity.info -a [包名]

示例输出分析:

  • com.mwr.example.sieve.FileSelectActivity:文件选择界面
  • com.mwr.example.sieve.MainLoginActivity:主登录界面
  • com.mwr.example.sieve.PWList:密码列表界面

五、越权访问测试

1. 启动暴露的Activity

run app.activity.start --component [包名] [Activity名称]

2. 测试案例

  1. 直接启动FileSelectActivity:
run app.activity.start --component com.mwr.example.sieve com.mwr.example.sieve.FileSelectActivity
  1. 直接启动PWList:
run app.activity.start --component com.mwr.example.sieve com.mwr.example.sieve.PWList

3. 结果分析

  • 成功绕过登录直接访问敏感界面(如文件选择、密码列表)
  • 验证是否存在认证绕过漏洞

六、安全建议

  1. 组件暴露

    • 避免不必要的组件导出
    • 对导出的Activity添加权限检查
  2. 认证控制

    • 对所有敏感操作实施身份验证
    • 使用android:permission属性保护组件
  3. 输入验证

    • 对所有接收的Intent数据进行严格验证
  4. 最小权限原则

    • 仅申请应用必需权限
    • 避免使用android:exported="true"除非必要

七、扩展测试

  1. Content Provider测试

    run app.provider.info -a [包名]
    
  2. Service测试

    run app.service.info -a [包名]
    
  3. Broadcast Receiver测试

    run app.broadcast.info -a [包名]
    

通过全面测试应用的各个组件,可以更完整地评估应用的安全状况。

Drozer Android应用越权访问测试指南 一、工具与环境准备 1. 所需工具 Drozer框架 :Android安全测试框架 Android Debug Bridge (adb) :与设备通信的命令行工具 夜神模拟器 :Android模拟环境 测试应用 :sieve.apk(示例应用) 2. ADB组件 ADB包含三个核心组件: 客户端 :在开发计算机上运行,发送命令 守护进程(adbd) :在设备上作为后台进程运行 服务器 :管理客户端和守护进程间的通信 二、初始设置 1. 连接模拟器 2. 启动Drozer 在夜神模拟器中启动Drozer代理 通过控制台连接: 三、应用信息收集 1. 列出所有应用包名 2. 查找特定应用 3. 获取应用详细信息 返回信息包括: 应用路径 数据目录 UID GID 权限列表 四、攻击面分析 1. 检查暴露组件 重点关注: 暴露的Activity数量 可调试组件 2. 查看暴露的Activity 示例输出分析: com.mwr.example.sieve.FileSelectActivity :文件选择界面 com.mwr.example.sieve.MainLoginActivity :主登录界面 com.mwr.example.sieve.PWList :密码列表界面 五、越权访问测试 1. 启动暴露的Activity 2. 测试案例 直接启动FileSelectActivity: 直接启动PWList: 3. 结果分析 成功绕过登录直接访问敏感界面(如文件选择、密码列表) 验证是否存在认证绕过漏洞 六、安全建议 组件暴露 : 避免不必要的组件导出 对导出的Activity添加权限检查 认证控制 : 对所有敏感操作实施身份验证 使用 android:permission 属性保护组件 输入验证 : 对所有接收的Intent数据进行严格验证 最小权限原则 : 仅申请应用必需权限 避免使用 android:exported="true" 除非必要 七、扩展测试 Content Provider测试 : Service测试 : Broadcast Receiver测试 : 通过全面测试应用的各个组件,可以更完整地评估应用的安全状况。