Поиск уязвимости Open Redirect с помощью Oralyzer

Поиск уязвимости Open Redirect Oralyzer

Открытое перенаправление (Open Redirect) – это уязвимость в веб-приложениях, когда злоумышленник может ввести пользователей в заблуждение, перенаправив их с одной страницы на другую. В статье расскажу об инструменте Oralyzer, который позволяет, с помощью фаззинга, проверить наличие уязвимости открытого перенаправления на сайте, а также о работе подобного скрипта на Python.

Еще по теме: Поиск уязвимостей в формах загрузки файлов

Уязвимость Open Redirect (Открытое перенаправление)

Открытое перенаправление (Open Redirect) – это уязвимость, которая позволяет удаленному злоумышленнику перенаправить жертв на произвольный урл.

Причина существования этой уязвимости заключается в неправильной обработке данных, предоставляемых пользователем, в файле lib/http/server.py, что приводит к отсутствию защиты от нескольких слешей в начале урла пути. Удаленный атакующий может создать ссылку, которая ведет на доверенный веб-сайт, но при нажатии перенаправляет жертву на произвольный домен.

Статья предназначена для образовательных целей и ориентирована на обучение багхантеров. При участии в программе Bug Bounty необходимо действовать этично и придерживаться установленных правил. Несанкционированный взлом рассматривается как уголовное преступление. Ни редакция spy-soft.net, ни автор не несут ответственности за ваши действия.

Успешное использование этой уязвимости может позволить удаленному атакующему провести фишинговую атаку и украсть потенциально чувствительную информацию.

Использование Oralyzer для поиска уязвимости Open Redirect

Oralyzer (https://github.com/r0075h3ll/Oralyzer) – это скрипт на Python, который проверяет наличие уязвимости открытого перенаправления на сайте, используя методы фаззинга.

Установка Oralyzer:

Использование Oralyzer

Запускаем справку:

Oralyzer поиск уязвимости Open Redirect

Что делает этот инструмент, так это тестирует разные варианты данных (пейлоадов) с адресом целевого сайта.

Поиск уязвимости Open Redirect

После проверки сайта python.org мы видим, что тулза обнаружила уязвимость Open Redirect типа «header-based redirection».

Open Redirect уязвимость

Уязвимость Open Redirect и Python

Мы также можем написать свой простой скрипт для обнаружения подобной уязвимости.

С помощью модуля requests, который включает различные пейлоады, чтобы определить, уязвим ли сайт, мы можем проверить код состояния ответа.

В предыдущем коде мы импортировали используемые модули и объявили список user agents, которые мы могли бы использовать для запросов.

Затем мы продолжаем, объявляя функцию, которая будет разбирать урл и проверять для каждого пейлоада код состояния, возвращенный ответом.

При выполнении скрипта, если код ответа – 301 или 302, мы имеем дело с уязвимостью Open Redirect.

Открытое перенаправление Open Redirect Python

Уязвимость Open Redirect возникает, когда приложение позволяет пользователю контролировать перенаправление или пересылку на другой урл. Если приложение не проверяет ненадежные входные данные пользователя, злоумышленник может предоставить адрес, который перенаправляет ничего не подозревающую жертву с законного домена на фишинговый сайт злоумышленника.

Защита от Open Redirect

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

Вот несколько способов защиты от уязвимости Open Redirect:

  • Осуществляйте строгую проверку и очистку пользовательских входных данных, особенно перед использованием их для формирования урлов перенаправления.
  • Разрешайте перенаправления только на заранее определенные и доверенные домены. Это может помочь избежать случайных или нежелательных перенаправлений.
  • Используйте параметры запроса для передачи информации, а не включайте ее в путь урл. Это позволит вам более гибко управлять перенаправлениями и уменьшить риски.
  • Проверяйте урлы путей на наличие лишних слешей или других нежелательных символов, которые могли бы быть использованы для обхода проверок.
  • Вместо абсолютных урлов используйте относительные пути, чтобы уменьшить риски нежелательных перенаправлений на внешние домены.
  • Обеспечьте аутентификацию и авторизацию для доступа к чувствительным страницам, чтобы злоумышленники не могли перенаправлять пользователей на них.
  • Регулярно обновляйте свои приложения и библиотеки, чтобы закрыть известные уязвимости. Также проводите аудит кода для обнаружения потенциальных уязвимостей.
  • Используйте специализированные инструменты для сканирования уязвимостей, такие как Oralyzer, чтобы обнаруживать и устранять уязвимости открытого перенаправления.

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

ПОЛЕЗНЫЕ ССЫЛКИ:

Ban32

Хакер-самоучка, который может взломать тостер и настроить его на отправку вам утреннего приветствия в коде Морзе.

Добавить комментарий