Хранимый XSS

Вредоносный скрипт сохраняется на сервере и исполняется у каждого, кто открывает заражённую страницу.

СигнатураStored XSS

Хранимый XSS опаснее отражённого: скрипт сохраняется в базе (например в комментарии) и затем отдаётся всем посетителям страницы. Один внедрённый скрипт может атаковать множество пользователей.

Как защититься: экранируйте данные при выводе, а не только при вводе; для HTML-контента используйте санитайзер с белым списком тегов (например DOMPurify, bleach); включите CSP.

import bleach

# Опасно: комментарий выводится как есть
comment = load_comment()  # содержит <script>...</script>
return "<div>" + comment + "</div>"

# Безопасно: очистка по белому списку тегов
clean = bleach.clean(load_comment(), tags=["b", "i", "p"])
return "<div>" + clean + "</div>"
← Все записи: Веб-уязвимости и защита
Поддержать проект