Skip to content
KitploitKITPLOIT
工具漏洞利用博客
Log in
提交
工具漏洞利用博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

订阅源联系隐私© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
CVE-2026-82531 — 针对 CVE-2026-82531 的 Python PoC 与漏洞利用链:通过伪造 SmartyNocache 标记污染 Smarty 模板缓存,进而导致 PHP 代码执行,并附带检查、payload 与 Docker 实验环境。 | Kitploit
工具/GitHubGitHub/murrez/cve-2026-82531
Payload生成漏洞分析漏洞利用Web应用程序漏洞利用Web安全远程访问工具实验室与实践
GitHubmurrez/cve-2026-82531

CVE-2026-82531

针对 CVE-2026-82531 的 Python PoC 与漏洞利用链:通过伪造 SmartyNocache 标记污染 Smarty 模板缓存,进而导致 PHP 代码执行,并附带检查、payload 与 Docker 实验环境。

查看仓库
111个月前尚未审核

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

CVE-2026-82531 — Smarty 缓存投毒 RCE PoC

针对 CVE-2026-82531 的 Python 3 PoC —— smarty-php/smarty —— 通过在 extends 中伪造 SmartyNocache 标记并结合 模板缓存 重新生成,实现 代码注入(CWE-94) → 在缓存 include() 时触发 RCE。

字段值
CVECVE-2026-82531
产品Smarty PHP 模板引擎
受影响版本< 4.5.8;5.0.0 – 5.8.4
修复版本4.5.8、5.8.5
CWECWE-94 — 代码生成控制不当
CVSS 4.09.2 严重(CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N)
CVSS 3.18.1 高危
PoCbit 目录https://pocbit.org/pocs/
PoCbit 页面https://pocbit.org/pocs/cve-2026-82531
验证标记POCBIT-82531-OK(HTTP 响应体中的 base64 命令输出)
安全公告GHSA-3w63-v7pm-cq9x

利用重点: poc.py exploit 依次执行预热 → 清除缓存 → 投毒(POST name=)→ 触发;check、payload、Docker lab/(Smarty 5.8.4)。输出文件:hits.txt、exploited.txt。


描述(英文)

Smarty 将模板编译为 PHP,并可能写入 缓存 输出。当模板使用 extends: / 块继承 时,在新的 PHP worker 从磁盘加载已编译文件后,顶层编译函数可能使 nocache_hash 保持未设置。

在缓存重新生成期间,Smarty_Internal_Runtime_UpdateCache 会构建一个用于拆分“nocache”区域的正则表达式。null 哈希会产生一个 空的正则分支,因此攻击者可控的 assign() 数据 可以伪造:

/*%%SmartyNocache:%%*/  <?php ... ?>  /*/%%SmartyNocache:%%*/

该代码块会被逐字复制到生成的缓存 PHP 文件中(跳过常规的 PHP 标签中和处理)。下一个包含该缓存文件的请求会执行注入的 PHP → 远程代码执行。

利用链(exploit 子命令)

阶段操作
1 预热无害的 name=world → 编译 + 初始缓存
2 清除仅删除缓存文件(已编译模板保留)——实验环境暴露 ?lab_clear_cache=1
3 投毒name=<伪造的 SmartyNocache + PHP shell_exec> → 写入被投毒的缓存
4 触发无害的 name=benign → include() 执行注入的 PHP;响应体包含 POCBIT-82531-OK:<base64>

真实目标需要:启用缓存、extends 模板、用户可控的 assign、在编译目录已填充时发生缓存未命中(TTL、重启或管理员刷新)。


说明(土耳其语)

在使用 Smarty extends: / 继承 + 缓存 的应用中,当 nocache_hash 为 null 时,攻击者通过 assign 赋值 的伪造 SmartyNocache 块会以 原始 PHP 形式写入缓存 PHP 文件;在后续请求中经 include 引入 → RCE。PoCbit 包:Docker 实验环境 + exploit 完整利用链。


快速开始(实验环境 + 利用)

cd CVE-2026-82531
pip install -r requirements.txt
docker compose up --build -d

python poc.py check http://127.0.0.1:8088
python poc.py exploit --url http://127.0.0.1:8088 -c "id"
python poc.py exploit -i targets.example.txt -w 10 -c id
python poc.py payload -c "id"

修补后:删除/重新生成所有模板缓存文件。


法律声明

仅限经授权的安全研究,以及您拥有或已获授权测试的系统。


致谢

  • CVE / 厂商: smarty-php/smarty,报告者 MegaManSec
  • PoC 链: 上游 NocacheHashInjectionTest.php(Smarty 5.8.5)

GitHub 仓库描述(复制/粘贴)

CVE-2026-82531 — Smarty <4.5.8 / 5.x<5.8.5 cache-poisoning RCE (CWE-94, CVSS 4.0 9.2 AT:P). PoCbit PoC: extends+inheritance null nocache_hash → forged SmartyNocache marker in assign() → PHP in cache include. check/exploit/payload, Docker lab 5.8.4, hits.txt & exploited.txt. Fix 4.5.8 / 5.8.5. Marker POCBIT-82531-OK. https://pocbit.org/pocs/cve-2026-82531
下载工具