SSTI 模板注入是侧重于服务端的模板注入漏洞,由于大部分的服务端方模板是python所写,所以SSTI的漏洞经常需要用到python语言解决。
模板代码传输路径:服务端-模板文件(不含有变量值)-模板引擎(用户填写变量值)-用户端(看到输出的html页面)
模板出现的原因:由于大部分网站的样式大致一致,只是部分内容存在差异,因此出现了将模板文件和数据分离的新事物,模板引擎则把模板文件和数据结合生成html文件给用户
存在SSTI漏洞的网站可以通过向{{ }}中输入恶意代码,经过渲染处理,从而执行了黑客想要实现的效果
其实大部分注入漏洞背后的逻辑可以理解为:当用户输入的内容没有得到有效控制时,从而变成了程序的一部分,实现了非法的功能。
此外通过题目打开的源代码可知是flask框架,
且flag保存在secret_key配置文件下,通过构造paiload ——————?flag={{config.SECRET_KEY}}
得到flag
根据攻略做完此题的感受:还是一脸懵逼,主要是paiload的构造