Open Redirect (открытое перенаправление)

Перенаправление на произвольный URL из параметра позволяет маскировать фишинговые ссылки.

СигнатураOpen Redirect

Open Redirect возникает, когда сайт перенаправляет на адрес из пользовательского параметра без проверки. Злоумышленник делает ссылку с доверенным доменом, которая уводит жертву на фишинговый сайт, повышая доверие к атаке.

Как защититься: разрешайте перенаправление только на относительные пути или белый список доменов, не используйте сырой параметр next/url для редиректа.

from urllib.parse import urlparse

def safe_redirect(target):
    # Разрешаем только относительные пути внутри сайта
    parsed = urlparse(target)
    if parsed.netloc or parsed.scheme:
        return "/"  # внешний адрес — отклоняем
    return target
← Все записи: Веб-уязвимости и защита
Поддержать проект