Şablon enjeksiyonu (ARCH4130)
Anahtar java.security.template-injection · Önem error · Kategori security · CWE CWE-1336
Şablon dizesinin kendisinin güvenilmeyen girdiden oluşturulması, saldırganların şablon motorunun ifadelerini değerlendirerek sunucuda kod çalıştırmasına (SSTI/RCE) olanak tanır.
Hatalı
Bölüm başlığı “Hatalı”String tpl = "Hello " + request.getParameter("name");Template t = new Template("t", new StringReader(tpl), cfg);t.process(model, out);Template t = cfg.getTemplate("hello.ftl");Map<String, Object> model = Map.of("name", request.getParameter("name"));t.process(model, out);Düzeltme
Bölüm başlığı “Düzeltme”Sabit, önceden tanımlı şablonlar kullanın ve kullanıcı girdisini şablon kaynağına değil yalnızca veri modeline aktarın.