Siteler arası betik çalıştırma (ARCH2101)
Anahtar python.security.xss · Önem error · Kategori security · CWE CWE-79
Güvenilmeyen veriyi kaçış (escape) uygulamadan HTML çıktısına yazmak, saldırganın tarayıcıda betik çalıştırmasına olanak tanır. Otomatik kaçışı kapatmaktan kaçının.
Hatalı
Bölüm başlığı “Hatalı”from flask import requestfrom markupsafe import Markup
def render_comment(): comment = request.args.get("c", "") return Markup("<p>%s</p>" % comment)from flask import request, escape
def render_comment(): comment = request.args.get("c", "") return "<p>%s</p>" % escape(comment)Düzeltme
Bölüm başlığı “Düzeltme”Kullanıcı girdisini çıktıya yazmadan önce kaçırın; şablon motorunun otomatik kaçış özelliğini kapatmayın.