教材介绍 配套实验

    感谢您关注我们的《移动安全》教材。如果您想要相关资源以及答案,请将您的姓名、教育邮箱、学校及学院信息发送至 xxxxx@xxx.com。

    请您放心,我们承诺将严格保护您的信息安全。感谢您的信任与支持!



Lab3 移动应用网络流量分析

一、实验目标

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

四、结果提交形式

1. lab3_code.zip:本次实验中的实验代码,包括BurpExtender.java和BurpExtender.jar

2. lab3.docx:本次实验的实验报告,包括实验环境配置、实验步骤、实验结果和实验心得等内容

五、评分标准

1. 完成任务1(35%):成功获取flag1得15%,成功获取flag2得20%

2. 完成任务2(35%):成功自动化获取flag2得15%,成功在界面上显示ID得20%

3. 实验报告(30%):

• 内容完整性和原创性(20%)

• 报告包含实验目的、详细步骤、结果、总结思考等关键部分

• 代码设计遵循代码规范,有必要的解释说明

• 报告撰写和表达(10%)

• 报告格式规范,语言表达清晰

• 能够适当使用图表等辅助说明报告内容

六、附件内容说明

1. BuySecret.apk:本实验的分析目标

2. BurpExtender.java:待补充完整的Burp Suite扩展代码

3. server文件夹:服务端源码

地址:上海市杨浦区淞沪路2005号复旦大学江湾校区二号交叉学科楼六楼、七楼              复旦大学系统软件与安全实验室              联系邮箱:wanqi_zhang@fudan.edu.cn