Отражённый XSS
Вредоносный скрипт из параметра запроса немедленно отражается в ответе и выполняется в браузере жертвы.
Сигнатура
Reflected XSSОтражённый XSS — это вид межсайтового скриптинга, при котором ввод из URL или формы без обработки попадает в HTML-ответ. Жертва переходит по подготовленной ссылке, и скрипт исполняется в её браузере с её правами.
Как защититься: экранируйте вывод по контексту (HTML, атрибут, JS), используйте шаблонизаторы с автоэкранированием, добавьте заголовок Content-Security-Policy.
# Опасно: ввод вставляется в HTML без экранирования
q = request.get("q")
return "<p>Вы искали: " + q + "</p>"
# q = <script>alert(1)</script> выполнится
# Безопасно: экранируем вывод
import html
q = html.escape(request.get("q"))
return "<p>Вы искали: " + q + "</p>"