MoriartyPuth-Labs/EES-Security-Case-Study
GitHub: MoriartyPuth-Labs/EES-Security-Case-Study
一份针对政府 ANPR 出入境系统的全栈安全评估案例研究,详细记录了 IDOR、信息泄露等漏洞的发现过程与修复方案。
Stars: 0 | Forks: 0
# 🛡️ 全栈安全评估:柬埔寨政府 ANPR 出入境系统 (EES)
### 内政部 — 柬埔寨
[](https://ees.interior.gov.kh/client)
[]()
[]()
[]()
[]()
[]()
## 📋 概述
本案例研究记录了针对柬埔寨政府 **自动车牌识别 (ANPR)** 系统的全栈安全评估,涵盖其 **后端 Web API** 和 **配套的 Android 应用程序**。此次评估在两个攻击面上均发现了严重漏洞,包括无需身份验证即可访问并暴露执法人员数据的 API、可公开访问的 Spring Boot Actuator,以及指向同一后端基础设施的多项移动端安全弱点。
## 🎯 评估范围
| 攻击面 | 目标 | 方法 |
|---------------|---------------------------------------------|---------------------|
| Web API | `http://175.100.74.227:1234/api/v1/` | 黑盒,非侵入式 |
| Web 前端 | `https://ees.interior.gov.kh/client` | 被动侦察 |
| Android 应用 | `com.example.gov_reg` (v0.1.0) | 静态分析 (MobSF v4.5.0) |
## 🗺️ 攻击面概览
```
┌─────────────────────────────────────────────────────────────┐
│ EES ANPR SYSTEM │
│ │
│ [Android App] [Web Frontend] │
│ com.example.gov_reg → ees.interior.gov.kh/client │
│ │ │ │
│ └───────────┬──────────────┘ │
│ ▼ │
│ [Spring Boot API :1234] │
│ /api/v1/bureaus/{id} │
│ /api/v1/anpr/{id} │
│ /actuator/env │
│ /actuator/mappings │
└─────────────────────────────────────────────────────────────┘
```
## 🔴 Web API 发现
### 阶段 1 — 侦察
被动指纹识别揭示:
- 通过 `X-Application-Context` 响应头发现 **Spring Boot**
- **Nginx** 作为反向代理(在 `Server:` 头中暴露)
- API 在端口 `1234` 上的 `/api/v1/` 命名空间下进行版本控制
- 初始探测不需要身份验证头
### 阶段 2 — 端点模糊测试
使用 [Bubble-Scanner](https://github.com/MoriartyPuth/bubble-scanner)(一款为高速 JSON 解析和 IDOR 验证而构建的自定义自动化工具)映射了整个 `/api/v1/` 命名空间。
**主要特性:**
- 通过递增整数,对 100 多个局/部门层级结构进行递归抓取
- 针对高棉文字符标识符和车牌号格式的正则表达式提取器
- 用于可预测 `GDDTM` 请求字符串暴力破解的序列生成器
### 阶段 3 — 漏洞发现
#### 不安全的直接对象引用 (IDOR)
ANPR 记录和组织单元使用连续的整数进行索引。无需任何身份验证。
```
#!/bin/bash
# 通过 IDOR 进行的局层级枚举 (补丁前)
TARGET="http://175.100.74.227:1234/api/v1/bureaus"
for id in {1..100}; do
status=$(curl -s -o /dev/null -w "%{http_code}" "$TARGET/$id")
if [ "$status" == "200" ]; then
name=$(curl -s "$TARGET/$id" | jq -r '.name')
echo "[+] Found Bureau $id: $name"
fi
done
```
确认暴露的敏感单位包括 **网络犯罪局(ID 23)** 和 **警察履历办公室(ID 33)**。
**匿名化数据样本(补丁前):**
```
{
"id": 17754,
"requestId": "GDDTM20260406PR2312",
"ownerName": "REDACTED_OFFICER_NAME",
"plateNumber": "2A-XXXX",
"bureauId": 33,
"status": "APPROVED"
}
```
#### 可预测的资源命名
请求 ID 遵循严格的模式 `GDDTM[YYYYMMDD]PR[Sequence]`,从而能够对整个内政部的所有停车许可活动进行时间序列枚举。
#### Spring Boot Actuator 暴露
`/actuator` 目录可公开访问,泄露了:
- `/actuator/env` — 环境变量(可能导致凭据泄露)
- `/actuator/mappings` — 完整的内部路由映射
- `/actuator/heapdump` — JVM 堆转储
## 🟠 移动端应用程序发现
**应用程序:** `com.example.gov_reg` (Flutter/Dart, v0.1.0, minSdk 24)
**工具:** MobSF v4.5.0 静态分析
**风险评分:** 42/100 — B 级(中等风险)
### 高危
| 发现 | 详情 |
|--------|---------|
| 调试证书 | 应用程序使用调试密钥库签名 —— 不适用于生产环境 |
| 允许明文流量 | `android:usesCleartextTraffic="true"` —— 允许未加密的 HTTP 请求 |
| 低 minSdk (API 24) | 使应用程序面临较旧版本 Android 漏洞的风险 |
### 中危 / 警告
| CWE | 发现 |
|-----|---------|
| CWE-312 | 源代码中存在硬编码机密 —— 潜在的 API 密钥/凭据 |
| CWE-330 | 不安全的随机数生成 |
| CWE-276 | 不安全的外部存储权限 |
### 🔗 跨攻击面风险 (Web + 移动端)
## 🔧 修复与补丁验证
### Web API(由 MOI IT 团队应用)
| 攻击向量 | 已应用的修复 |
|--------|-------------|
| `/api/v1/**` 上的 IDOR | 认证墙:在所有子路径上强制执行 `authenticated()` |
| Actuator 暴露 | 配置 Nginx 在所有 `/actuator` 路径上返回 `405` |
| 搜索枚举 | Controller 更新为无论查询内容如何均返回 `[]` |
| 局/职位端点 | 应用了最终的端点锁定 |
### 移动端(建议)
| 发现 | 建议 |
|--------|----------------|
| 调试证书 | 在发布前使用生产密钥库重新签名 |
| 明文流量 | 设置 `usesCleartextTraffic="false"`,强制使用 TLS/HTTPS |
| CWE-312 | 将机密信息移至环境变量或 Android Keystore |
| CWE-330 | 在所有加密操作中替换为 `SecureRandom` |
| CWE-276 | 将文件存储限制在应用程序内部目录 |
## 🎖️ 结果
| 指标 | 结果 |
|--------|--------|
| 报告提交 | 2026 年 4 月 6 日 |
| 系统锁定 | 24 小时内 |
| 补丁验证 | 2026 年 4 月 7 日 |
| 披露类型 | 负责任的 —— 与 MOI IT 协同进行 |
| 数据泄露 | 补丁后泄露 0 条记录 |
## 🛠️ 使用的工具
| 工具 | 用途 |
|------|---------|
| [Bubble-Scanner](https://github.com/MoriartyPuth/bubble-scanner) | 自定义 IDOR 爬虫与 JSON 解析器 |
| MobSF v4.5.0 | Android 静态分析 |
| curl + jq | 手动 API 探测 |
| Nginx headers | 服务器指纹识别 |
## 👤 作者
**Eav Puthcambo**
AUPP 网络安全项目
金边美国大学 [](https://github.com/MoriartyPuth-Labs)
AUPP 网络安全项目
金边美国大学 [](https://github.com/MoriartyPuth-Labs)
标签:Android应用安全, ANPR系统, API安全, CISA项目, IDOR漏洞, JSON输出, Spring Boot, Web安全, 云安全监控, 信息泄露, 全栈安全评估, 应用安全, 执法数据, 政府安全, 数据泄露, 数据隐私, 无线安全, 未授权访问, 案例研究, 漏洞复现, 目录枚举, 移动安全, 网络安全, 蓝队分析, 负责任披露, 足迹分析, 车联网安全, 隐私保护, 静态分析, 黑盒测试