İçeriğe geç

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.

from flask import request
from 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)

Kullanıcı girdisini çıktıya yazmadan önce kaçırın; şablon motorunun otomatik kaçış özelliğini kapatmayın.