什么是SSTI?
什么是SSTI:
SSTI 就是服务器端模板注入,当前使用的一些框架,比如python
的flask,php的tp,java的spring等一般都采用成熟的的MVC的模式,用户的输入先进入Controller控制器,然后根据请求类型和请求的指令发送给对应Model业务模型进行业务逻辑判断,数据库存取,最后把结果返回给View视图层,经过模板渲染展示给用户。
当前使用的一些框架,比如python
的flask
,php的tp,java的spring等一般都采用成熟的的MVC的模式,用户的输入先进入Controller控制器,然后根据请求类型和请求的指令发送给对应Model业务模型进行业务逻辑判断,数据库存取,最后把结果返回给View视图层,经过模板渲染展示给用户。当前使用的一些框架,比如python的flask,php的tp,java的spring等一般都采用成熟的的MVC的模式,用户的输入先进入Controller控制器,然后根据请求类型和请求的指令发送给对应Model业务模型进行业务逻辑判断,数据库存取,最后把结果返回给View视图层,经过模板渲染展示给用户。
PHP中常见的SSTI
php
常见的模板:twig,smarty,blade,等等。。
Twig
Twig
是来自于Symfony的模板引擎,它非常易于安装和使用。它的操作有点像Mustache
和liquid
题目案例[CISCN 2019华东南]Web11
一看题目我还以为是 XFF 直接抓包试试看、
好像没啥用的样子,这里应该是模板注入可以测试一下
输入:
回显81,证明有SSTI漏洞,应该是PHP的 SSTI注入
直接用 :
1 | {{system("cat ../../../../../../flag")}} |
获取flag
Python
当中常见的SSTIpython
常见的模板有:Jinja2
,tornado
1 | __dict__ :保存类实例或对象实例的属性变量键值对字典 |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Carrotの小窝!