İçeriğe geç

Ş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.

from jinja2 import Template
from flask import request
def render():
return Template("Hello " + request.args["name"]).render()
from jinja2 import Template
from flask import request
def render():
return Template("Hello {{ name }}").render(name=request.args["name"])

Şablonu sabit tutun ve kullanıcı girdisini yalnızca render bağlamında veri olarak geçirin.