Привет! Я люблю Client-Side уязвимости, по-этому эта статья будет о одной из них.
Что такое Open Redirect?
Это такая уязвимость, благодаря которой можно незаметно перевести пользователя с одного ресурса на другой. Зачастую такое происходит после авторизации/регистрации/какого-то действия.
Давайте разберём эту уязвимость на примере:
Алиса скидывает Бобу ссылку mail.ru/auth?after=fakemail.ru
Почему я взял в пример mail.ru? А потому. Очень уж много у них этих уязвимостей, они не являются серьёзными, но всё же, могут представлять угрозу неопытному пользователю.
После того, как Боб переходит по ссылке Алисы и авторизируется, его перебрасывает на fakemail.ru, где его могут попросить авторизоваться заново и потерять свои данные.
Также существует Open Redirect на Spotify, когда вы переходите на несуществующую страницу, вам предлагают перейти назад, а для этого используется JS метод, который перелистывает на прошлую страницу.
Как это проэксплуатировать попробуйте понять сами, про это еще есть хорошая статья в Medium.
Из-за чего появляется Open Redirect?
Когда пользователь находится допустим на mail.ru/news, а после решает авторизироваться, то его, перенаправит на главную страницу mail.ru. Это не нравится пользователям, и тогда придумали передавать на страницу аутентификации в GET параметре данные, откуда пришел пользователь. Мошенники это также увидели и начали рассылать страницы аутентификации пользователям, а когда они авторизовались, их перекидывало на Fishing Page, после чего была страница в духе: "Попробуйте еще раз, пароль не подходит".
Так ли он опасен, если я опытный пользователь?
Ух, бывает, очень. При Open Redirect могут передаваться чувствительные данные, токены и т.д. (Опять же, на HackerOne видел Report на Open Redirect via Account Takeover, не так уж и не опасно, да?).
Это довольно простая уязвимость, больше не знаю, что можно было бы о ней рассказать. Разве что за неё платят 100$, либо вообще не платят (А Mail.Ru еще и помечают как N/A).
Спасибо за прочтение, надеюсь вам пригодится эта информация!