[Информационная безопасность, Разработка веб-сайтов] Понимаем и ищем уязвимости типа Open Redirect (перевод)
Автор
Сообщение
news_bot ®
Стаж: 6 лет 9 месяцев
Сообщений: 27286
Перевод статьи подготовлен в преддверии старта курса «Безопасность веб-приложений».
Одной из наиболее распространенных и тем не менее игнорируемых веб-разработчиками уязвимостей является Open Redirect (также известная как «Непроверенные переадресации и пересылки»). Веб-сайт считается уязвимым для Open Redirect, если значения параметра (часть URL-адреса после «?») в HTTP GET-запросе позволяет перенаправить пользователя на новый сайт без проверки целевого сайта. В зависимости от архитектуры уязвимого сайта, перенаправление может произойти после определённых действий, таких как вход в систему, а иногда это может произойти мгновенно при загрузке страницы.
Пример уязвимой ссылки выглядит примерно так: www.example.com/login.html?RelayState=http%3A%2F%2Fexample.com%2Fnext
В этом примере параметр «RelayState» указывает куда нужно перенаправить пользователя после успешного входа в систему (в нашем примере это example.com/next). Если сайт не проверяет значение параметра «RelayState» на предмет легитимности и безопасности, то злоумышленник может воспользоваться этим параметром, чтобы перенаправить жертву на фейковую страницу, созданную самим злоумышленником: www.example.com/login.html?RelayState=http%3A%2F%2FEvilWebsite.com
Уязвимости типа Open Redirect обделены вниманием со стороны разработчиков, поскольку они не наносят прямого ущерба сайту и не дают злоумышленнику возможности напрямую украсть данные компании. Однако, это не означает, что Open Redirect – не угроза. Одно из основных применений атак такого типа – это проведение эффективных и надежных фишинговых атак.
Когда при фишинговой атаке используется Open Redirect, жертва может получить электронное письмо, которое выглядит вполне правдоподобно, со ссылкой, которая указывает на корректный и знакомой жертве домен. Чего жертва может не заметить, так это того, что в середине URL-адреса есть параметры, которые изменяют конечную точку перенаправления. Дабы усложнить выявление Open Redirect, перенаправление может произойти после того, как жертва введет логин и пароль на неподдельном сайте. Злоумышленники обнаружили, что эффективный способ обмануть жертву – это перенаправить ее на фейковый сайт после ввода логина и пароля на настоящем сайте. Фейковый сайт будет выглядеть аналогично настоящему сайту, и он попросит жертву повторно ввести пароль. После того, как жертва сделает это, пароль будет записан злоумышленником, а жертва будет перенаправлена обратно на настоящий сайт. Если все сделано правильно, то жертва решит, что ошиблась с паролем в первый раз и не заметит, что ее имя пользователя и пароль были украдены.
Фишинг используется в большинстве успешных таргетированных взломов, а также регулярно в оппортунистических атаках. Учитывая, насколько часто фишинг встречается в повседневной жизни, уязвимости типа Open Redirect также не стоит сбрасывать со счетов.
Было бы несправедливо выделить какой-то конкретный сайт или компанию, как уязвимую для Open Redirect, потому что эта уязвимость встречается часто. Вместо этого было бы полезно показать, насколько таких сайтов много и насколько легко их найти.
Выполнение поиска по сети – это один из лучших способов найти Open Redirect на вашем собственном сайте и в других источниках в интернете в целом.
Поисковик от Google дает гибкость в написании поисковых запросов, в том числе и запросов, которые специально ищут по URL-адресам страниц.
Следующие операторы и специальные символы позволят любому пользователю создавать тагретированные запросы, которые могут помочь обнаружить Open Redirect:
- allinurl – оператор, который скажет Google искать в URL-адресе все указанные ключевые слова. Например: allinurl:ReturnUrl будет искать все веб-страницы, у которых в адресе будет присутствовать часть ReturnUrl.
- site – оператор, который говорит возвращать только те результаты, которые находятся на определенном домене или веб-сайте. Пример: site:example.com который ищет веб-страницы по example.com.
- "" – двойные кавычки – это специальные символы, который используются для указания на поиск точного сочетания слов и символов внутри кавычек.
- * — звездочка – знак подстановки, который олицетворяет одно или несколько слов.
Их использование позволяет найти признаки потенциального Open Redirect:
Мы можем искать одновременно присутствие лексем «http» и «https» в параметрах GET-запроса. Например:
allinurl:%3Dhttps*
allinurl:%253Dhttps*
allinurl:%3Dhttp*
allinurl:%253Dhttp*
Также мы можем искать специфичные общие слова, связанные с перенаправлением в области параметров GET-запроса. Например:
allinurl:"<keyword>=https"
allinurl:"<keyword>=http"
allinurl:<keyword>=https
allinurl:<keyword>=http
allinurl:<keyword>%3Dhttps
allinurl:<keyword>%3Dhttps*
allinurl:<keyword>%253Dhttps
allinurl:<keyword>%253Dhttps*
allinurl:<keyword>%3Dhttp
allinurl:<keyword>%3Dhttp*
allinurl:<keyword>%253Dhttp
allinurl:<keyword>%253Dhttp*
allinurl:<keyword>
Вместо <keyword>, мы будем использовать одно из следующих слов, характерных для перенаправления: RelayState, ReturnUrl, RedirectUri, Return, Return_url, Redirect, Redirect_uri, Redirect_url, RedirectUrl, Forward, Forward_url, SuccessUrl, Redir, Exit_url, Destination. Здесь приведен далеко не полный перечень ключевых слов. Больше вы сможете найти, проанализировав результаты более общих запросов поиска URL-адреса в разделе параметров GET-запроса.
Для целевого поиска, вы можете добавить «site:<domain_name>» в конец ваших поисковых запросов в Google. Этот способ может помочь вам найти уязвимости типа Open Redirect на вашем собственном сайте.
С помощью такого простого поиска, вы сможете найти десятки уязвимостей типа Open Redirect в течение нескольких минут. В список уязвимых сайтов входят сайты банков, международных корпораций, доверенных компаний, любимых проектов и многочисленные сайты небольших организаций. В качестве дополнительного бонуса, каждый раз, когда поисковый робот Google будет натыкаться на сайты с Open Redirect, мы с помощью запросов будем получать обновленные результаты.
Лучший способ избежать уязвимости Open Redirect – это избегать перенаправления по параметру, зависящему от пользователя или приходящего через GET-запрос. Если перенаправление неизбежно, с ним можно совладать, проверив конечный сайт и очистив его репутацию с помощью белого списка подтвержденных URL-адресов.
Я бы посоветовал вам рассказать своим друзьям веб-разработчикам об Open Redirect. Вы можете переслать им эту статью или даже обнаружить уязвимости с помощью метода, упомянутого выше, и сообщить об этом компании с подробным описанием проблемы. Давайте вместе усложним проведение фишинговых атак!
Если вы хотите поделиться своими запросами в Google, которые работают для обнаружения Open Redirect, вы можете сделать это в комментариях.
Узнать подробнее о курсе
===========
Источник:
habr.com
===========
===========
Автор оригинала: SpiderLabs Blog
===========Похожие новости:
- [Kubernetes, Программирование] Как устроен процесс создания docker-контейнера (от docker run до runc) (перевод)
- [IT-компании, Информационная безопасность, Управление разработкой] Вебинар «Secure SDLC: безопасность как фундаментальный аспект разработки»
- [Информационная безопасность] Как представители разных профессий вас пробивают
- [IT-компании, Информационная безопасность, Социальные сети и сообщества] Twitter после атаки заблокировал все аккаунты, пароли к которым пытались изменить последние 30 дней
- [Node.JS, PHP, Perl, Python, Информационная безопасность] Трюки с переменными среды (перевод)
- [PHP, Алгоритмы, Информационная безопасность, Криптография] Разработка собственного алгоритма симметричного шифрования на Php
- [IT-инфраструктура, IT-стандарты, Информационная безопасность] Защита документов от копирования
- [Информационная безопасность] Фишинг учетных данных Windows
- [ReactJS, TypeScript, Разработка веб-сайтов] Борьба за производительность по-настоящему больших форм на React
- [JavaScript, Программирование, Разработка веб-сайтов] Что за черт, JavaScript?
Теги для поиска: #_informatsionnaja_bezopasnost (Информационная безопасность), #_razrabotka_vebsajtov (Разработка веб-сайтов), #_open_redirect, #_ujazvimosti (уязвимости), #_blog_kompanii_otus._onlajnobrazovanie (
Блог компании OTUS. Онлайн-образование
), #_informatsionnaja_bezopasnost (
Информационная безопасность
), #_razrabotka_vebsajtov (
Разработка веб-сайтов
)
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Текущее время: 22-Ноя 19:59
Часовой пояс: UTC + 5
Автор | Сообщение |
---|---|
news_bot ®
Стаж: 6 лет 9 месяцев |
|
Перевод статьи подготовлен в преддверии старта курса «Безопасность веб-приложений». Одной из наиболее распространенных и тем не менее игнорируемых веб-разработчиками уязвимостей является Open Redirect (также известная как «Непроверенные переадресации и пересылки»). Веб-сайт считается уязвимым для Open Redirect, если значения параметра (часть URL-адреса после «?») в HTTP GET-запросе позволяет перенаправить пользователя на новый сайт без проверки целевого сайта. В зависимости от архитектуры уязвимого сайта, перенаправление может произойти после определённых действий, таких как вход в систему, а иногда это может произойти мгновенно при загрузке страницы. Пример уязвимой ссылки выглядит примерно так: www.example.com/login.html?RelayState=http%3A%2F%2Fexample.com%2Fnext В этом примере параметр «RelayState» указывает куда нужно перенаправить пользователя после успешного входа в систему (в нашем примере это example.com/next). Если сайт не проверяет значение параметра «RelayState» на предмет легитимности и безопасности, то злоумышленник может воспользоваться этим параметром, чтобы перенаправить жертву на фейковую страницу, созданную самим злоумышленником: www.example.com/login.html?RelayState=http%3A%2F%2FEvilWebsite.com Уязвимости типа Open Redirect обделены вниманием со стороны разработчиков, поскольку они не наносят прямого ущерба сайту и не дают злоумышленнику возможности напрямую украсть данные компании. Однако, это не означает, что Open Redirect – не угроза. Одно из основных применений атак такого типа – это проведение эффективных и надежных фишинговых атак. Когда при фишинговой атаке используется Open Redirect, жертва может получить электронное письмо, которое выглядит вполне правдоподобно, со ссылкой, которая указывает на корректный и знакомой жертве домен. Чего жертва может не заметить, так это того, что в середине URL-адреса есть параметры, которые изменяют конечную точку перенаправления. Дабы усложнить выявление Open Redirect, перенаправление может произойти после того, как жертва введет логин и пароль на неподдельном сайте. Злоумышленники обнаружили, что эффективный способ обмануть жертву – это перенаправить ее на фейковый сайт после ввода логина и пароля на настоящем сайте. Фейковый сайт будет выглядеть аналогично настоящему сайту, и он попросит жертву повторно ввести пароль. После того, как жертва сделает это, пароль будет записан злоумышленником, а жертва будет перенаправлена обратно на настоящий сайт. Если все сделано правильно, то жертва решит, что ошиблась с паролем в первый раз и не заметит, что ее имя пользователя и пароль были украдены. Фишинг используется в большинстве успешных таргетированных взломов, а также регулярно в оппортунистических атаках. Учитывая, насколько часто фишинг встречается в повседневной жизни, уязвимости типа Open Redirect также не стоит сбрасывать со счетов. Было бы несправедливо выделить какой-то конкретный сайт или компанию, как уязвимую для Open Redirect, потому что эта уязвимость встречается часто. Вместо этого было бы полезно показать, насколько таких сайтов много и насколько легко их найти. Выполнение поиска по сети – это один из лучших способов найти Open Redirect на вашем собственном сайте и в других источниках в интернете в целом. Поисковик от Google дает гибкость в написании поисковых запросов, в том числе и запросов, которые специально ищут по URL-адресам страниц. Следующие операторы и специальные символы позволят любому пользователю создавать тагретированные запросы, которые могут помочь обнаружить Open Redirect:
Их использование позволяет найти признаки потенциального Open Redirect: Мы можем искать одновременно присутствие лексем «http» и «https» в параметрах GET-запроса. Например: allinurl:%3Dhttps*
allinurl:%253Dhttps* allinurl:%3Dhttp* allinurl:%253Dhttp* Также мы можем искать специфичные общие слова, связанные с перенаправлением в области параметров GET-запроса. Например: allinurl:"<keyword>=https"
allinurl:"<keyword>=http" allinurl:<keyword>=https allinurl:<keyword>=http allinurl:<keyword>%3Dhttps allinurl:<keyword>%3Dhttps* allinurl:<keyword>%253Dhttps allinurl:<keyword>%253Dhttps* allinurl:<keyword>%3Dhttp allinurl:<keyword>%3Dhttp* allinurl:<keyword>%253Dhttp allinurl:<keyword>%253Dhttp* allinurl:<keyword> Вместо <keyword>, мы будем использовать одно из следующих слов, характерных для перенаправления: RelayState, ReturnUrl, RedirectUri, Return, Return_url, Redirect, Redirect_uri, Redirect_url, RedirectUrl, Forward, Forward_url, SuccessUrl, Redir, Exit_url, Destination. Здесь приведен далеко не полный перечень ключевых слов. Больше вы сможете найти, проанализировав результаты более общих запросов поиска URL-адреса в разделе параметров GET-запроса. Для целевого поиска, вы можете добавить «site:<domain_name>» в конец ваших поисковых запросов в Google. Этот способ может помочь вам найти уязвимости типа Open Redirect на вашем собственном сайте. С помощью такого простого поиска, вы сможете найти десятки уязвимостей типа Open Redirect в течение нескольких минут. В список уязвимых сайтов входят сайты банков, международных корпораций, доверенных компаний, любимых проектов и многочисленные сайты небольших организаций. В качестве дополнительного бонуса, каждый раз, когда поисковый робот Google будет натыкаться на сайты с Open Redirect, мы с помощью запросов будем получать обновленные результаты. Лучший способ избежать уязвимости Open Redirect – это избегать перенаправления по параметру, зависящему от пользователя или приходящего через GET-запрос. Если перенаправление неизбежно, с ним можно совладать, проверив конечный сайт и очистив его репутацию с помощью белого списка подтвержденных URL-адресов. Я бы посоветовал вам рассказать своим друзьям веб-разработчикам об Open Redirect. Вы можете переслать им эту статью или даже обнаружить уязвимости с помощью метода, упомянутого выше, и сообщить об этом компании с подробным описанием проблемы. Давайте вместе усложним проведение фишинговых атак! Если вы хотите поделиться своими запросами в Google, которые работают для обнаружения Open Redirect, вы можете сделать это в комментариях. Узнать подробнее о курсе =========== Источник: habr.com =========== =========== Автор оригинала: SpiderLabs Blog ===========Похожие новости:
Блог компании OTUS. Онлайн-образование ), #_informatsionnaja_bezopasnost ( Информационная безопасность ), #_razrabotka_vebsajtov ( Разработка веб-сайтов ) |
|
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Текущее время: 22-Ноя 19:59
Часовой пояс: UTC + 5