Skip to main content

V5.1.5 Input Validation

Requirement:#

Verify that URL redirects and forwards only allow destinations which appear on an allow list, or show a warning when redirecting to potentially untrusted content.

Explanation:#

Параметр http может содержать значение URL-адреса и может привести к тому, что веб-приложение перенаправит запрос на указанный URL-адрес. Изменив значение URL-адреса на вредоносный сайт, злоумышленник может успешно запустить фишинговую аферу и украсть учетные данные пользователя. Поскольку имя сервера в измененной ссылке идентично исходному сайту, попытки фишинга выглядят более надежными. 

Приложение должно гарантировать, что все перенаправления ведут на контролируемый или надежный сайт. В целом следует избегать перенаправлений на основе входных данных, поскольку они могут способствовать фишинговым атакам. Если они требуются, их следует контролировать, чтобы пользователи перенаправлялись только на надежные сайты.

Remediation:#

Чтобы убедиться, что переадресация и перенаправление URL-адресов разрешают только места назначения, указанные в списке разрешенных, выполните следующие действия:

  • Определите URL-адреса, которые перенаправляют и перенаправляют в вашем приложении. Это может быть серверный код, клиентский JavaScript или любой другой механизм, используемый в вашем приложении.
  • Просмотрите код, отвечающий за обработку перенаправлений и переадресаций, чтобы убедиться, что он включает проверку списка разрешенных доверенных мест назначения.
  • Убедитесь, что список разрешений является исчерпывающим и включает все доверенные места назначения для вашего приложения.
  • Если код не включает проверку списка разрешений, внедрите его, который проверяет наличие URL-адреса назначения в списке перед выполнением перенаправления или переадресации.
  • Для дополнительной безопасности вы также можете реализовать предупреждающее сообщение, которое отображается при перенаправлении на потенциально ненадежный контент. Это может быть всплывающее окно или сообщение, отображаемое на странице.
  • Проверьте внесенные вами изменения, чтобы убедиться, что URL-адреса перенаправляют и пересылают только те адресаты, которые указаны в списке разрешенных, и что предупреждающее сообщение правильно отображается для ненадежного содержимого. 

Важно иметь в виду, что это лишь один из аспектов устранения уязвимостей безопасности при перенаправлении и перенаправлении URL-адресов, и другие меры безопасности, такие как проверка ввода, контроль доступа и мониторинг, также должны быть реализованы для обеспечения комплексного решения безопасности.

Additional:#

https://cwe.mitre.org/data/definitions/601.html