İçeriğe geç

Şablon enjeksiyonu (ARCH6130)

Anahtar ruby.security.template-injection · Önem error · Kategori security · CWE CWE-1336

Şablonun kendisini güvenilmeyen girdiden kurup render etmek, saldırganın şablon motorunda kod çalıştırmasına (SSTI/RCE) olanak tanır.

def render_msg(input)
ERB.new("Hello #{input}").result(binding)
end
def render_msg(input)
ERB.new("Hello <%= name %>").result_with_hash(name: input)
end

Şablonları sabit tutun; kullanıcı girdisini şablon kaynağına değil, render’a veri olarak geçirin.