gusta-ve/deadwood

GitHub: gusta-ve/deadwood

一个自托管的 Web 安全渐进式靶场,提供从教程级到不可能攻破的多个实战关卡,用于学习 Web 漏洞利用和测试渗透工具。

Stars: 0 | Forks: 0

# deadwood 一个自托管的**Web安全靶场**,同时也是一份教程——从最简单的注入到刻意设计成几乎无法攻破的关卡, 逐级递进。它是练习“死人牌”(dead man's hand)的演练场:用 [**wraith**](https://github.com/gusta-ve/wraith) 侦察每个房间,用 [**hickok**](https://github.com/gusta-ve/hickok) 进行攻击,夺取 flag,然后阅读存在漏洞的源代码及其修复方案。 零依赖(标准库 + SQLite)。仅在 **127.0.0.1** 上运行。 [![PyPI](https://img.shields.io/pypi/v/deadwood-sec?color=ffb946&label=pypi)](https://pypi.org/project/deadwood-sec/) [![CI](https://static.pigsec.cn/wp-content/uploads/repos/2026/06/1ba4323ed3145559.svg)](https://github.com/gusta-ve/deadwood/actions/workflows/ci.yml) [![Release](https://img.shields.io/github/v/release/gusta-ve/deadwood?color=ffb946)](https://github.com/gusta-ve/deadwood/releases) ![Python 3.10+](https://img.shields.io/badge/python-3.10%2B-blue) ![MIT](https://img.shields.io/badge/license-MIT-green) - [安装](#install) - [运行方式](#run-it) - [关卡机制](#how-a-level-works) - [关卡列表](#the-levels) - [与 wraith 和 hickok 配合使用](#pairing-with-wraith--hickok) - [测试](#tests) ## 安装 ``` pipx install deadwood-sec # gives you the `deadwood` command ``` 或者通过克隆仓库安装:`pip install -e .` —— 或者不安装直接运行: `PYTHONPATH=src python3 -m deadwood`。 ## 运行方式 ``` deadwood serve # http://127.0.0.1:8666 (the town map) deadwood levels # list the rooms and your progress deadwood learn first-blood # a level's briefing: objective, hints, source, the fix deadwood flag first-blood 'DEADWOOD{...}' # submit a captured flag ``` 在浏览器中打开地图,选择一个房间,然后将你的工具指向它提供的应用 URL(例如 `http://127.0.0.1:8666/l/first-blood/app?id=1`)。 ## 关卡机制 每个房间的结构都一样,难度从易到难: - 一个**逼真的应用**(虚构的 *Deadwood Telegraph & Trust Co.* —— 包含员工、客户、账户、电报),其中包含一个真实的漏洞; - 一个需要夺取的 **flag**(`DEADWOOD{...}`,在你的安装中是唯一的); - **逐级提示** —— 如果需要,你可以一次只揭晓一个; - **存在漏洞的源代码**以及**修复方案**,在你主动查看时显示(剧透警告)。 你可以像玩 CF 一样盲目尝试,或者依赖提示并输入 `learn` 将其作为教程。你的通关记录会在本地进行追踪。 ## 关卡列表 从教程级到无法攻破级。每个关卡都对应一种技术,你可以手动练习,也可以通过 hickok/wraith 驱动: | # | 房间 | 难度 | 攻击向量 | |---|------|------|--------| | 1 | First Blood | 教程级 | SQL injection — UNION(回注型/In-band) | | 2 | Whispers | 简单 | SQL injection — 布尔盲注 | | 3 | The Telegraph | 中等 | SQL injection — 时间盲注 | | 4 | Back Door | 中等 | OS command injection → shell | | 5 | The Bouncer | 中等 | SQL injection — 认证绕过 | | 6 | Sleight of Hand | 困难 | 绕过引号/目录过滤的 UNION | | 7 | The Cipher | 困难 | 服务端模板注入(SSTI) → RCE | | 8 | Dead Man's Hand | 残酷 | 绕过 WAF 黑名单的盲注 | | 9 | The Vault | 不可能 | 二阶(存储型)SQL injection | ## 与 wraith 和 hickok 配合使用 deadwood 是这些工具在开发过程中使用的靶场。典型的运行流程: ``` deadwood serve & # the town hickok sql -u 'http://127.0.0.1:8666/l/first-blood/app?id=1' -p id --dump secrets ``` 当工具无法攻破某个房间时,说明工具需要修复 bug;当房间太容易时,说明房间的防御需要加强。它们在这个过程中相互磨砺。 ## 测试 ``` pip install -e ".[dev]" && pytest ``` 测试套件会检查引擎(flag、注册表、关卡隔离、种子世界),并验证每个关卡的漏洞是否按教程描述的方式运作。请参阅 [CONTRIBUTING.md](CONTRIBUTING.md) 了解如何添加新房间,并查看 [SECURITY.md](SECURITY.md) 了解负责任的使用政策。 ## 许可证 MIT。 *Deadwood,1876 年 —— 死人牌发牌之地。*
标签:Blue Team, CISA项目, IP 地址批量处理, Python, SQLite, Web安全, 安全教育, 安全靶场, 无后门, 网络安全, 蓝队分析, 逆向工具, 隐私保护