NullByte8080/CVE-2026-36227
GitHub: NullByte8080/CVE-2026-36227
该仓库提供了 Easy Chat Server 3.1 用户注册接口路径遍历漏洞(CVE-2026-36227)的无害概念验证脚本,用于在授权环境下复现和验证该安全问题。
Stars: 0 | Forks: 0
# CVE-2026-36227:Easy Chat Server 3.1 UserName 路径遍历 PoC
本仓库包含 `CVE-2026-36227` 的一个无害概念验证,该漏洞是 Easy Chat Server 3.1 在处理用户注册时存在的一个路径遍历问题。
本仓库仅用于授权的安全研究和本地复现。请勿将其用于您不拥有或未获得明确测试权限的系统。
## 摘要
Easy Chat Server 3.1 通过 `POST /registresult.htm` 接收注册数据。应用程序在使用 `UserName` 参数之前,未对其进行充分的过滤。诸如 `../../ecs-traversal-proof.txt` 之类的路径遍历值会导致应用程序将文件写入到预期的用户注册路径之外。
公开的 PoC 特意使用了一个无害的验证文件名,并且不包含可执行的 webshell 或命令执行内容。
## 发现者
Vaibhav D. Barkade
## 受影响产品
- 产品:Easy Chat Server
- 版本:3.1
- 组件:用户注册
- Endpoint:`/registresult.htm`
- 参数:`UserName`
## 用法
针对您拥有或被授权测试的实验室实例运行:
```
python3 poc.py 127.0.0.1 80
```
打印请求但不发送:
```
python3 poc.py 127.0.0.1 80 --dry-run
```
使用自定义的路径遍历验证值:
```
python3 poc.py 127.0.0.1 80 --username '../../ecs-traversal-proof.txt'
```
## 预期结果
如果目标存在漏洞,服务器将使用受遍历控制的 `UserName` 值来处理注册请求。操作者应检查 Easy Chat Server 安装目录或 web/root 目录,以查找生成的验证文件。
## 严重程度
建议的严重程度取决于部署环境和可到达的写入路径。如果未经身份验证的远程用户可以写入 web 可执行路径,该问题可能会导致远程代码执行,应被视为高危或严重。如果写入仅限于不可执行的位置,则直接影响为路径遍历和未经授权的文件写入。
## 缓解措施
- 拒绝 `UserName` 中的路径分隔符和遍历序列。
- 在创建文件之前,规范化并验证目标路径。
- 将用户控制的文件存储在固定目录下并强制实施隔离。
- 避免直接将用户控制的值用作文件系统路径。
- 禁用或限制 upload/user-data 目录中的 web 执行权限。
标签:CISA项目, PoC, Python, 安全, 无后门, 暴力破解, 超时处理, 路径穿越, 逆向工具