配套实验资源

《移动安全》教材配套实验,涵盖从环境配置到高级安全技术的完整实践体系

Lab3 安全分析

移动应用网络流量分析

使用Burp Suite进行移动应用流量捕获、分析和篡改

实验目标

  1. 理解并掌握移动应用流量分析的基本流程和方法;
  2. 通过使用 Burp Suite 工具,学习如何进行移动应用流量的捕获、分析以及篡改;
  3. 掌握如何开发并应用简单的 Burp Suite 扩展以增强分析功能。

前置准备

1. 知识学习

进行本 Lab 前请先完成教材第2章和第5章的学习,主要包括 2.2.2 节安卓应用调试环境搭建,5.1.2 节 Burp Suite 环境搭建。

2. web 服务搭建

本实验需要搭建一个 web 服务,用于和安卓应用通讯,附件中提供了服务的源代码(见 server 文件夹)。请先基于 docker 官方文档搭建 docker 环境,随后在服务源码目录下,运行如下命令:

docker network create lab-network
docker-compose up -d

运行成功后,服务便会在 9800 端口,可以进入后续的实验流程。

任务描述

任务1 使用 Burp Suite 进行流量分析

  1. 打开 App 后,我们会进入一个登录界面。在这个界面中,我们需要输入搭建服务的 ip 地址以及运行端口。同时,还需要输入正确的用户名与密码,可以获得 secret1。我们可以尝试用一些用户名和密码进行登录,通过 Burp Suite 抓包功能,查看服务端返回的提示,从而获取正确的用户名和密码。需要注意的是,这个过程中,我们可能需要用到 Burp Suite 的修改数据报文的功能。
  2. 登录成功后,我们将要尝试"购买"secret2。"购买"行为将会通过网络发送数据到远程服务器,但是我们无法通过 apk 控制这些数据(包括 ID、Money 等),因此,需要借助 Burp Suite 进行修改。

任务2 实现 Burp Suite 扩展

在该任务中,我们需要实现一个简单的 Burp Suite 扩展,从而能够自动化地实现任务1的目标(即获取两个 secret)。读者可以在官网学习 Burp Suite 扩展的知识。

具体来说,我们需要实现两个功能:

  1. 使用 Burp Suite 扩展修改请求报文(request),使得我们能够在按下"购买"按钮后能够直接获得 flag
  2. 使用 Burp Suite 扩展修改响应报文(response),使得我们能够在按下"购买"按钮后可以在当前页面看到 ID

结果提交形式

  • lab3_code.zip:本次实验中的实验代码,包括 BurpExtender.java 和 BurpExtender.jar
  • lab3.docx:本次实验的实验报告,包括实验环境配置、实验步骤、实验结果和实验心得等内容

评分标准

1. 完成任务1(35%)

成功获取 flag1 得15%,成功获取 flag2 得20%

2. 完成任务2(35%)

成功自动化获取 flag2 得15%,成功在界面上显示 ID 得20%

3. 实验报告(30%)

内容完整性和原创性(20%)
  • 报告包含实验目的、详细步骤、结果、总结思考等关键部分
  • 代码设计遵循代码规范,有必要的解释说明
报告撰写和表达(10%)
  • 报告格式规范,语言表达清晰
  • 能够适当使用图表等辅助说明报告内容

实验资源

Lab3 实验资源包

包含本次实验所需的全部资源文件

下载资源包
资源包内容
BuySecret.apk

本实验的分析目标 APK 文件