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环境安装
- 下载并执行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放在同一目录
使用:
apktool d target.apk
apktool b decompiled_dir
常见问题:
- 报错"Could not decode":Apktool版本过旧,需更新
2.2 dex2jar + jd-gui
功能:将APK反编译为Java源码
步骤:
- 从APK中提取classes.dex文件
- 使用dex2jar转换:
d2j-dex2jar classes.dex - 使用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调试桥,用于设备交互
安装:
基本命令:
adb devices # 列出连接设备
adb install app.apk # 安装APK
adb shell # 进入设备shell
3.2 Drozer框架
功能:全面的Android安全测试框架
安装:
- 下载地址:https://github.com/FSecureLABS/drozer/releases
- 安装agent.apk到测试设备
使用流程:
- 连接设备:
adb connect <device_ip> - 启动Drozer控制台:
drozer console connect
常用模块:
app.package.list:列出所有包名app.package.info:查看APK基本信息app.package.attacksurface:识别攻击面app.activity.info:查看Activity组件app.provider.info:查看Content Providerapp.service.info:查看Service组件
4. 界面劫持测试
4.1 劫持原理
通过覆盖目标应用的界面,测试应用是否有防护机制(如Toast提示、震动等)
4.2 测试方法
-
创建透明Activity的测试APK:
- 在styles.xml中设置透明样式
- AndroidManifest.xml示例:
<activity android:name=".MainActivity" android:exported="true" android:theme="@style/AppTheme.Transparent">
-
使用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
- 功能: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://safe.ijiami.cn/analyze
- 特点:提供APK安全评分
-
百度MTC
7. 常见问题解决
-
微信小程序抓包问题:
- 使用特定版本的微信PC端(如2.7版本)
- 配合BurpSuite进行抓包
-
APK反编译乱码:
- 使用Apktool而非直接解压APK
- 确保使用最新版Apktool
-
证书信任问题:
- 安装BurpSuite证书到设备信任存储
- 使用JustTrustMe模块绕过证书验证
通过以上工具和方法,可以全面检测Android应用的各类安全问题,包括组件暴露、数据传输安全、界面劫持等常见漏洞。