Захват учетной записи из-за слабого шифрования

Mutt

Professional
Messages
1,058
Reputation
7
Reaction score
572
Points
83
Эта статья носит исключительно образовательный характер. Автор не несет ответственности за любые последствия ее прочтения.

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

Поиск уязвимости
Первое, что нам необходимо, это обнаружить страницу логина, на которой есть функция входа через OTP (one time password) или по-русски - вход через одноразовый пароль, где одноразовый пароль отправляется на зарегистрированный номер телефона владельца аккаунта.
39791d996fdf1914955ce.jpg


Чтобы проверить, просачивается ли одноразовый пароль в теле ответа, перехватываем запрос «OTP Log In» в Burp. И видим, что пароль просочился в тело ответа с именем «otpPassword», однако он там находится в зашифрованном формате, а именно в Bcrypt.
7323e19e06eb3053c4512.jpg


Эксплуатация уязвимости
Есть различные инструменты для расшифровки bcrypt. В этой статье мы воспользуемся инструментом Debcrypt. С его помощью мы расшифруем значение «otpPassword» и таким образом получим полный доступ к аккаунту.

Шаги эксплуатации:
  • Находим строку с одноразовым паролем в Burp
    Code:
    "otpPassword":"$2a$10$hs/tvUkd4GveEdx/hACRDehWza38Z1ncMAEFeOtG77/l.Ja0ktuQa"
  • Копируем пароль, зашифрованный через Bcrypt.
  • Передаем это значение скрипту Debcrypt:
    65f0582349cc41f3803bf.jpg
  • Одноразовый пароль равен "12345".
  • Захват аккаунта успешно выполнен!

На этом все. Благодарю за просмотр![/LIST]
 
Top