网站建设采用thinkphp框架的优势,桂林网站制作推荐,专门做蛋糕视频的网站,服务器运行一段时间网站打不开题目 点进题目后显示如下 查看源代码#xff0c;查看可知为ssti注入。还设置了过滤的名单。 先可以测试一下是否存在ssti模板注入
payload
\shrine\{{2-2}} 回显成功#xff0c;存在ssti模板注入
绕过思路#xff0c;代码里有过滤#xff0c;会把()替换#xff0c;这里…题目 点进题目后显示如下 查看源代码查看可知为ssti注入。还设置了过滤的名单。 先可以测试一下是否存在ssti模板注入
payload
\shrine\{{2-2}} 回显成功存在ssti模板注入
绕过思路代码里有过滤会把()替换这里可以双写绕过用命令执行读取文件
另一个思路这里可以参考一篇文章Python FlaskJinja2模板模板中使用特殊变量及函数闪现信息get_flashed_messages()_jinja2 get_flashed-CSDN博客
根据文章payload如下
/shrine/{{url_for.__globals__[current_app].config}}
由代码可知config[FLAG]所以可以得到flag 理清思路由于代码可以知道flag存储在config中可以直接构造payload查询
如果是不清楚flag存在哪里就需要先获取全局变量
根据上述文章也可以使用另一个payload
/shrine/{{get_flashed_messages.__globals__[current_app].config}}都是不需要括号函数执行命令