APP安全测试基础:实践起点
字数 2322 2025-08-15 21:32:31

APP安全测试基础与实践指南

1. 测试环境准备

1.1 基础环境配置

  • 操作系统:Windows 10/8/7(推荐使用Windows 10虚拟机)
  • 测试工具
    • 微信PC测试版本(如2.7版本,使用IE内核)
    • Java环境(用于运行BurpSuite)
    • BurpSuite抓包工具
    • 夜神模拟器或其他Android模拟器

1.2 Java环境安装

  1. 下载并执行Java安装包(exe文件)
  2. 按照向导完成安装
  3. 验证安装:命令行执行java -version查看版本

1.3 代理设置方法

方法一:IE浏览器代理设置

  1. 打开Internet选项
  2. 设置代理地址与BurpSuite代理一致(默认127.0.0.1:8080)

方法二:模拟器抓包

  1. 安装夜神模拟器
  2. 安装微信、Xposed框架、JustTrustMe模块
  3. 配置模拟器网络代理与BurpSuite一致

方法三:手机抓包

  1. 手机WIFI设置代理(IP和端口与BurpSuite一致)
  2. 访问http://burp下载证书,后缀改为.cer并安装

方法四:Wireshark抓包

  1. 安装Wireshark分析工具
  2. 捕获网络流量并分析PCAP包

2. 静态分析工具

2.1 Apktool

功能:反编译APK获取资源文件(res/xml、AndroidManifest.xml、图片等)

安装

  1. 下载地址:https://ibotpeaches.github.io/Apktool/install/
  2. 将apktool.jar和apktool.bat放在同一目录

使用

apktool d target.apk
apktool b decompiled_dir

常见问题

  • 报错"Could not decode":Apktool版本过旧,需更新

2.2 dex2jar + jd-gui

功能:将APK反编译为Java源码

步骤

  1. 从APK中提取classes.dex文件
  2. 使用dex2jar转换:
    d2j-dex2jar classes.dex
    
  3. 使用jd-gui查看生成的jar文件

下载

3. 动态测试工具

3.1 ADB工具

功能:Android调试桥,用于设备交互

安装

  1. 下载地址:https://developer.android.com/studio/releases/platform-tools
  2. 配置环境变量

基本命令

adb devices       # 列出连接设备
adb install app.apk  # 安装APK
adb shell         # 进入设备shell

3.2 Drozer框架

功能:全面的Android安全测试框架

安装

  1. 下载地址:https://github.com/FSecureLABS/drozer/releases
  2. 安装agent.apk到测试设备

使用流程

  1. 连接设备:
    adb connect <device_ip>
    
  2. 启动Drozer控制台:
    drozer console connect
    

常用模块

  • app.package.list:列出所有包名
  • app.package.info:查看APK基本信息
  • app.package.attacksurface:识别攻击面
  • app.activity.info:查看Activity组件
  • app.provider.info:查看Content Provider
  • app.service.info:查看Service组件

4. 界面劫持测试

4.1 劫持原理

通过覆盖目标应用的界面,测试应用是否有防护机制(如Toast提示、震动等)

4.2 测试方法

  1. 创建透明Activity的测试APK:

    • 在styles.xml中设置透明样式
    • AndroidManifest.xml示例:
      <activity android:name=".MainActivity"
          android:exported="true"
          android:theme="@style/AppTheme.Transparent">
      
  2. 源码地址:https://github.com/aloswoya/android_app

  3. 使用Drozer启动劫持Activity:

    run app.activity.start --component com.test.uihijack com.test.uihijack.MainActivity
    

4.3 修复建议

  • 检测应用是否位于栈顶(是否显示在前台)
  • 后台运行时提供明显提示(Toast、震动、通知等)

5. 其他实用工具

5.1 Xposed框架

  • 功能:Android Hook框架
  • 安装:在模拟器应用商店搜索安装

5.2 JustTrustMe

5.3 静态逆向工具

6. 在线检测平台

  1. 腾讯金刚审计系统

  2. 阿里聚安全

  3. 360捉虫猎手

  4. 爱加密

  5. 百度MTC

7. 常见问题解决

  1. 微信小程序抓包问题

    • 使用特定版本的微信PC端(如2.7版本)
    • 配合BurpSuite进行抓包
  2. APK反编译乱码

    • 使用Apktool而非直接解压APK
    • 确保使用最新版Apktool
  3. 证书信任问题

    • 安装BurpSuite证书到设备信任存储
    • 使用JustTrustMe模块绕过证书验证

通过以上工具和方法,可以全面检测Android应用的各类安全问题,包括组件暴露、数据传输安全、界面劫持等常见漏洞。

APP安全测试基础与实践指南 1. 测试环境准备 1.1 基础环境配置 操作系统 :Windows 10/8/7(推荐使用Windows 10虚拟机) 测试工具 : 微信PC测试版本(如2.7版本,使用IE内核) Java环境(用于运行BurpSuite) BurpSuite抓包工具 夜神模拟器或其他Android模拟器 1.2 Java环境安装 下载并执行Java安装包(exe文件) 按照向导完成安装 验证安装:命令行执行 java -version 查看版本 1.3 代理设置方法 方法一:IE浏览器代理设置 打开Internet选项 设置代理地址与BurpSuite代理一致(默认127.0.0.1:8080) 方法二:模拟器抓包 安装夜神模拟器 安装微信、Xposed框架、JustTrustMe模块 配置模拟器网络代理与BurpSuite一致 方法三:手机抓包 手机WIFI设置代理(IP和端口与BurpSuite一致) 访问 http://burp 下载证书,后缀改为.cer并安装 方法四:Wireshark抓包 安装Wireshark分析工具 捕获网络流量并分析PCAP包 2. 静态分析工具 2.1 Apktool 功能 :反编译APK获取资源文件(res/xml、AndroidManifest.xml、图片等) 安装 : 下载地址: https://ibotpeaches.github.io/Apktool/install/ 将apktool.jar和apktool.bat放在同一目录 使用 : 常见问题 : 报错"Could not decode":Apktool版本过旧,需更新 2.2 dex2jar + jd-gui 功能 :将APK反编译为Java源码 步骤 : 从APK中提取classes.dex文件 使用dex2jar转换: 使用jd-gui查看生成的jar文件 下载 : dex2jar: https://sourceforge.net/projects/dex2jar/ jd-gui: https://www.sdbeta.com/plus/download.php?open=2&id=224579 3. 动态测试工具 3.1 ADB工具 功能 :Android调试桥,用于设备交互 安装 : 下载地址: https://developer.android.com/studio/releases/platform-tools 配置环境变量 基本命令 : 3.2 Drozer框架 功能 :全面的Android安全测试框架 安装 : 下载地址: https://github.com/FSecureLABS/drozer/releases 安装agent.apk到测试设备 使用流程 : 连接设备: 启动Drozer控制台: 常用模块 : app.package.list :列出所有包名 app.package.info :查看APK基本信息 app.package.attacksurface :识别攻击面 app.activity.info :查看Activity组件 app.provider.info :查看Content Provider app.service.info :查看Service组件 4. 界面劫持测试 4.1 劫持原理 通过覆盖目标应用的界面,测试应用是否有防护机制(如Toast提示、震动等) 4.2 测试方法 创建透明Activity的测试APK: 在styles.xml中设置透明样式 AndroidManifest.xml示例: 源码地址: https://github.com/aloswoya/android_ app 使用Drozer启动劫持Activity: 4.3 修复建议 检测应用是否位于栈顶(是否显示在前台) 后台运行时提供明显提示(Toast、震动、通知等) 5. 其他实用工具 5.1 Xposed框架 功能:Android Hook框架 安装:在模拟器应用商店搜索安装 5.2 JustTrustMe 功能:Xposed模块,绕过SSL证书验证 资源: https://blog.csdn.net/weixin_ 43650289/article/details/109105943 5.3 静态逆向工具 JEB:强大的逆向分析工具 下载: http://www.uzzf.com/soft/313572.html 6. 在线检测平台 腾讯金刚审计系统 网址: http://service.security.tencent.com 特点:提供详细修复建议 阿里聚安全 网址: http://jaq.alibaba.com/ 资源:安全博客包含漏洞分析、技术研究等 360捉虫猎手 网址: http://appscan.360.cn/ 爱加密 网址: http://safe.ijiami.cn/analyze 特点:提供APK安全评分 百度MTC 网址: http://mtc.baidu.com/ 7. 常见问题解决 微信小程序抓包问题 : 使用特定版本的微信PC端(如2.7版本) 配合BurpSuite进行抓包 APK反编译乱码 : 使用Apktool而非直接解压APK 确保使用最新版Apktool 证书信任问题 : 安装BurpSuite证书到设备信任存储 使用JustTrustMe模块绕过证书验证 通过以上工具和方法,可以全面检测Android应用的各类安全问题,包括组件暴露、数据传输安全、界面劫持等常见漏洞。