python-Flask模版注入攻击SSTI(python沙盒逃逸)
一篇以python Flask 模版渲染为例子的SSTI注入教学~ 0x01 Flask使用和渲染 这里简化了flask使用和渲染的教程 只把在安全中我们需要关注的部分写出来 来一段最简单的FLASK运行代码: 很简单的flask使用 将url的qing和方法绑定 返回"qing - Flask test"字符串 说一下模版渲染Jinja2中变量 控制结构 {% %} 变量取值 {{ }} 注释 {# #} jinja2模板中使用 {{ }} 语法表示一个变量 ,它是一种特殊的占位符。当利用jinja2进行渲染的时候,它会把这些特殊的占位符进行填充/替换,jinja2支持python中所有的Python数据类型比如列表、字段、对象等 inja2中的 过滤器 可以理解为是 jinja2里面的内置函数和字符串处理函数。 被两个括号包裹的内容会输出其表达式的值 再来看看ssti中我们需要关注的渲染方法和模版 flask的渲染方法有 render_template 和 render_template_string 两种 render_template()用来渲染指定的文件: return render_template('index.html') render_template_string则是用来渲染字符串 html = '<h1>This is a String</h1>'