Files
Sec-Interview/Chapter31/31-2.md
T
2025-09-25 04:08:05 +08:00

39 lines
3.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
### 给一个移动端的 APP,已知服务端是 cloud 环境有什么思路利用
**1. 移动端 App 本地分析**
首先,你需要从 App 本身入手,这是你与云端环境交互的唯一“客户端”
- **逆向工程(Reverse Engineering**
- **代码分析**:使用工具如 **JADX****MobSF** 对 APK/IPA 文件进行逆向,分析其 Java/Kotlin/Swift/Objective-C 源码。寻找硬编码在代码中的敏感信息,例如:
- API Key、Secret Key、Access Token
- 数据库密码、云服务凭证(如 AWS S3、Azure Blob Storage 的凭证)
- 加密算法和密钥
- 内网 IP 地址或域名
- **本地数据存储**:检查 App 在本地存储的数据,例如 SharedPreferences、SQLite 数据库、文件缓存等。这些地方可能存储了用户的敏感信息或 API 调用凭证
- **网络流量抓包分析**
- 使用 **Burp Suite****Charles Proxy** 拦截 App 与云端服务器的所有通信流量
- **分析 API 接口**:这是最关键的一步。仔细分析每一个 API 接口的功能、请求参数、响应数据。特别关注:
- **认证机制**:App 如何进行用户认证?是基于 Token 还是 CookieToken 是否有过期时间?
- **授权机制**:是否可以越权访问其他用户的数据?例如,修改请求参数中的 `user_id`
- **输入验证**:是否有 SQL 注入、命令注入、XXE 等漏洞?尝试在参数中注入特殊字符或恶意代码
**2. 云端服务渗透(以 App 为跳板)**
在完成本地分析后,你将拥有大量关于云端环境的信息。现在,你可以利用这些信息,以 App 为跳板,攻击后端的云服务
- **攻击 API 网关和后端服务**
- **API 漏洞**:利用你在抓包中发现的 API 接口,进行更深入的渗透
- **SQL 注入**:尝试在所有参数中注入 SQL 语句,看是否能读取数据库内容
- **命令注入**:如果 App 调用了某些系统命令,尝试注入命令,执行 `whoami`
- **不安全的对象反序列化**:如果通信数据是序列化的 Java、Python 或其他语言对象,尝试构造恶意 Payload,触发反序列化漏洞
- **越权访问**:尝试用低权限用户访问高权限接口,或越权修改其他用户的数据
- **攻击云存储**
- 如果 App 逆向后发现了云存储(如 AWS S3、Azure Blob Storage)的凭证,尝试使用这些凭证访问云存储
- **权限枚举**:检查凭证是否有读写、列出文件的权限
- **数据窃取**:如果能访问 S3 桶,尝试下载其中的文件,这些文件可能包含用户的敏感数据、源代码、或备份
- **恶意文件上传**:如果能写入,尝试上传恶意文件,可能能被 Web 服务调用
- **攻击云函数/无服务器架构**
- 如果 App 的某些功能是通过云函数(如 AWS Lambda)实现的,尝试寻找云函数的 API 接口
- **注入攻击**:在云函数的输入参数中,尝试注入命令或代码,看是否能触发 RCE
- **权限滥用**:云函数通常有特定的 IAM 角色。如果能利用云函数,你可以通过其权限访问其他云资源