正在自动登录…
Rabbitbong/ node2shell
这是一个针对已修复的Node.js Brotli解码器漏洞(CVE-2026-111497)的复现与防御研究实验室,包含易受攻击和已修复的Docker容器、利用脚本及检测工具,适用于安全研究人员在授权环境中进行漏洞复现和防御测试。
AI 中文解读 · 根据仓库描述与 README 生成 · 2026/10/25 14:56:11 · 查看原文
- 累计 Stars
- 80
- 当前热度
- 1 天内 · 小火
- 仓库创建时间
选用指南
AI 根据 README 整理 · 2026/10/25 14:56:11
- 适用场景
适用于在授权实验室环境中复现CVE-2026-111497漏洞、测试防御措施(如反向代理限制)以及对比补丁前后行为。
查看 README 依据
Imperva, [*"Node2Shell: From Brotli Data to Remote Code Execution"*](https://www.imperva.com/blog/node2shell-from-brotli-data-to-remote-code-execution/). The target is **Orbital**, a fictional bulk-ingestion app. The bug sits where it realistically would: a bulk import endpoint accepting large compressed batches (`POST /api/v1/import`, 50 MB limit scoped to that one route; other routes keep the default 100 KB). > **Authorized lab use only.** This targets a **patched** CVE for reproduction > and defense research. `poc.py` is loopback-only by construction
root. This lab does neither; `labcheck.sh` proves it (non-root `uid=1000(node)`, `ET_EXEC` non-PIE, `randomize_va_space=2`, and the libc base moving across worker lives). The probabilistic retry loop is the cost of not weakening the target.  ## Defensive A/B The same request against the **patched** container fails closed: the fixed decoder rejects the impossible switch (`ERR__ERROR_FORMAT_BLOCK_SWITCH`).
- 目标用户
面向安全研究人员,用于漏洞复现和防御研究。
查看 README 依据
Imperva, [*"Node2Shell: From Brotli Data to Remote Code Execution"*](https://www.imperva.com/blog/node2shell-from-brotli-data-to-remote-code-execution/). The target is **Orbital**, a fictional bulk-ingestion app. The bug sits where it realistically would: a bulk import endpoint accepting large compressed batches (`POST /api/v1/import`, 50 MB limit scoped to that one route; other routes keep the default 100 KB). > **Authorized lab use only.** This targets a **patched** CVE for reproduction > and defense research. `poc.py` is loopback-only by construction
- 使用方式
通过命令行使用,运行run.sh构建并启动易受攻击和已修补的容器,然后使用poc.py对目标端口发起利用。
查看 README 依据
> (`127.0.0.1` / `::1` / `localhost`). Never point it at anything you do not own.  ## Quickstart Requires Docker with linux/amd64 (the ROP profile is calibrated to the pinned node 24.22.0 x86-64 binary). ```sh ./run.sh # build + run: vuln :3000, patched :3002 python3 poc.py --port 3000 # exploit the vuln container -> uid=1000(node) python3 poc.py --port 3002 # patched build: FAILs closed ``` Browse the app at <http://localhost:3000/> and `/dashboard`. With the compose
- 部署要求
需要Docker支持linux/amd64架构,以及Python 3和可选的pwntools(用于--autoprofile功能)。
查看 README 依据
> (`127.0.0.1` / `::1` / `localhost`). Never point it at anything you do not own.  ## Quickstart Requires Docker with linux/amd64 (the ROP profile is calibrated to the pinned node 24.22.0 x86-64 binary). ```sh ./run.sh # build + run: vuln :3000, patched :3002 python3 poc.py --port 3000 # exploit the vuln container -> uid=1000(node) python3 poc.py --port 3002 # patched build: FAILs closed ``` Browse the app at <http://localhost:3000/> and `/dashboard`. With the compose
filename but not argv). It's **probabilistic**: up to 32 attempts per run (~1 in 7-10 land); a miss crashes the worker, the supervisor re-rolls ASLR, and `poc.py` retries. Re-run or `--sweep` if a run misses all attempts. **`--autoprofile`** ports the exploit to other vulnerable builds. The ROP chain is absolute addresses in a specific node binary; official binaries are non-PIE (`ET_EXEC`), so `build_profile.py` resolves the gadgets, PLT entries, and `.bss` straight from the ELF (or a docker image it extracts). Needs `pwntools`
- 已知限制
利用是概率性的,每次运行最多尝试32次,成功率约1/7-10;仅支持回环地址,且--exec只能执行单个无参数二进制。
查看 README 依据
filename but not argv). It's **probabilistic**: up to 32 attempts per run (~1 in 7-10 land); a miss crashes the worker, the supervisor re-rolls ASLR, and `poc.py` retries. Re-run or `--sweep` if a run misses all attempts. **`--autoprofile`** ports the exploit to other vulnerable builds. The ROP chain is absolute addresses in a specific node binary; official binaries are non-PIE (`ET_EXEC`), so `build_profile.py` resolves the gadgets, PLT entries, and `.bss` straight from the ELF (or a docker image it extracts). Needs `pwntools`
README
正在加载 README…
收录信息
- 仓库创建时间
- 2026/10/25 01:24:43
- 首次达标收录
- 2026/10/25 14:51:00
- 统计更新时间
- 2026/10/25 16:50:41
按创建时长与累计 Stars 判断等级。首次达标收录后,即使未达当前门槛仍保留;累计 Stars 和仓库状态会定期更新。确认只有 README 及辅助文件的仓库会停止公开。
模型评估
普通加权总分 3.5 / 5
由 Jev 模型根据仓库描述与 README 评估,2026/10/25 14:51:00 生成。评分仅供参考,不是代码、安全或许可证审查;热度等级另按创建时长与累计 Stars 计算。
仓库信息
- 最近推送
- 2026/10/25 01:27:41
- 许可证标识
- 未识别,请查看仓库说明
- Fork 数
- 0
- 当前状态
- 未归档
收录记录
按创建时长与累计 Stars 首次收录:小火
首次发现项目