Şablon enjeksiyonu (ARCH2130)
Anahtar python.security.template-injection · Önem error · Kategori security · CWE CWE-1336
Şablon dizesinin kendisini güvenilmeyen girdiden oluşturmak, sunucu taraflı şablon enjeksiyonuna (SSTI) ve uzaktan kod çalıştırmaya yol açar. Girdiyi yalnızca veri olarak geçirin.
Hatalı
Bölüm başlığı “Hatalı”from jinja2 import Templatefrom flask import request
def render(): return Template("Hello " + request.args["name"]).render()from jinja2 import Templatefrom flask import request
def render(): return Template("Hello {{ name }}").render(name=request.args["name"])Düzeltme
Bölüm başlığı “Düzeltme”Şablonu sabit tutun ve kullanıcı girdisini yalnızca render bağlamında veri olarak geçirin.