• Добро пожаловать на сайт - Forumteam.bet !

    Что бы просматривать темы форума необходимо зарегестрироваться или войти в свой аккаунт.

    Группа в телеграме (подпишитесь, что бы не потерять нас) - ForumTeam Chat [Подписатся]
    Связь с администратором - @ftmadmin

Поиск уязвимостей в функции сброса пароля

Benzema

Публикатор
Команда форума
Регистрация
27.01.18
Веб-сайт
netysaita.com
TG
@@qq

Реализации функций сброса пароля:​

Для каждого разработчика, реализация функции сброса пароля является интересной частью. Здесь он разрабатывает логику, а затем реализует ее в коде. Не существует четко определенного отраслевого стандарта о том, как реализовать функцию безопасного сброса пароля в вашем приложении. Таким образом, у каждого приложения есть свой способ сделать это, например, с помощью электронной почты, уникальных URL-адресов, временных паролей, контрольных вопросов, одноразовых паролей и т. д.

Вот список наиболее часто используемых способов:
  • Электронное письмо с уникальным URL-адресом для сброса пароля
  • Электронное письмо, отправленное с временным паролем или текущим паролем
  • Использование секретные вопросов, а затем предоставление возможности сброса пароля
  • Использование OTP (одноразовых паролей) или многофакторной аутентификации

Эксплуатация функции сброса пароля​

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


1. Утечка токена из-за отравления заголовка хоста.

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

GET https://redacted.com/[email protected] HTTP/1.1 Host: evil.com

Доверяя компании, жертва нажимает на ссылку сброса. Поскольку ссылка формируется с помощью заголовка хоста, то вместо легального сайта, она ведет на веб-сайт злоумышленника. Когда цель посещает этот сайт, ее токен сброса пароля отправляется злоумышленнику. Теперь злоумышленник сбрасывает пароль цели, используя её токен.

6e20049774c5f2d0a5a1b.png

Примеры подобных уязвимостей:

https://hackerone.com/reports/182670

https://hackerone.com/reports/698416

https://hackerone.com/reports/13286




2. Отправка массива адресов электронной почты вместо одного адреса электронной почты.

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

POST https://example.com/api/v1/password_reset HTTP/1.1

Оригинальное тело запроса:

{"email_address":"[email protected]"}

изменяется на:

{"email_address":["[email protected]","[email protected]"]}

Таким образом, ссылка для сброса пароля будет отправлена как жертве, так и злоумышленнику. И злоумышленник может использовать её для полного захвата аккаунта.

Дополнительная информация:

https://hackerone.com/reports/322985




3. Подбор одноразового пароля для сброса.

Теперь, для случая, когда функция сброса пароля приложения основана на проверке OTP. Многие программы считают отсутствие ограничения скорости ввода пароля приемлемым. Таким образом, мы можем попробовать брутфорс OTP.

Мы можем сбросить пароль учетной записи, перехватив запрос на проверку OTP и перебрав 6-значный номер. Используя это, можно изменить и сбросить пароль любой учетной записи, изменив пользовательские данные и перебрав пароль для сброса.

eddce1c3b9b7d9e27129a.png

Примеры таких уязвимостей:

https://hackerone.com/reports/743545

https://hackerone.com/reports/280389

4. Утечка токена сброса пароля через заголовок Referrer.

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

beabf197540ca0267cf26.jpg

Эксплуатация:

• Запросить сброс пароля на свой адрес электронной почты

• Нажмите на ссылку для сброса пароля

• Не меняйте пароль

• Перейдите на любой сторонний веб-сайт (например: Facebook, Twitter)

• Перехватите запрос в прокси-сервере Burp Suite

• Проверьте, не утекает ли токен сброса пароля в заголовке Referrer.

Примеры таких уязвимостей:

https://hackerone.com/reports/342693

https://hackerone.com/reports/272379

https://hackerone.com/reports/737042

5. Манипуляция ответами: замените плохой ответ хорошим.

Манипуляции с ответами могут привести к легким уязвимостям. Вы можете сначала использовать обычный пароль и записать ответ сервера, когда вы ввели правильный OTP/токен. Затем попробуйте еще раз с неправильным OTP/токеном и замените несанкционированный ответ на успешный.

Ищем ответ на запрос, вроде этого:

HTTP/1.1 401 Unauthorized("message":"unsuccessful","statusCode":"403","errorDescription":"Unsuccessful")

И изменяем его на правильный:

HTTP/1.1 200 OK ("message":"success","statusCode":"200","errorDescription":"Success")

тем самым обходим функцию сброса.

00027f8a2ac20404c031a.png
 
Telegram
@qq
Сверху Снизу