Массовый захват аккаунта с помощью функции сброса пароля.

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

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

Что такое уязвимость к захвату аккаунта?

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

Теперь давайте разберемся с ошибками по отдельности.

Обнаружены ошибки:

  • Дамп данных SQL по умолчанию.
  • Захват учетной записи с помощью функции сброса пароля.
  • Повторная регистрация с использованием того же адреса электронной почты.

Чтобы дать обзор, я мог бы легко захватить учетную запись пользователя через логический недостаток, присутствующий в функции сброса пароля. Кроме того, дамп SQL предоставил информацию обо всех пользователях. Вместе я получаю доступ к учетным записям всех пользователей, которые когда-либо создавали учетные записи на веб-сайте.

Дамп данных SQL по умолчанию

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

  1. redated.in/backup. Это обновило резервную базу данных из основной базы данных. Который дал ответ

2. redated.in/backup.sql. Которая выгружала резервные копии данных

И этот дамп данных содержал всю информацию для входа в систему, такую ​​как имена пользователей, пароли (хеш MD5), адреса электронной почты / номера телефонов в зависимости от режима, в котором пользователь зарегистрировал учетную запись. И похоже

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

Захват учетной записи с помощью функции сброса пароля

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

Повторная регистрация с использованием того же адреса электронной почты

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

Цепочка ошибок

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

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

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

Особая благодарность @ tuhin1729

Было действительно весело искать на этом сайте, и в ближайшие дни я опубликую больше статей и рецензий.

Надеюсь, вам понравилось :)

Ура и будьте в безопасности! :) ❤

Подключите меня в LinkedIn ._. Твиттер ._. Купи мне кофе