На странице
Брутфорс пароля через смену пароля
Лаборатория
Password brute-force via password change · Practitioner
Решение
Уже устал писать отчёт :)
В общем, тут всё несложно.
Есть роут POST /my-account/change-password.
У него нет защиты от брутфорса, и мы можем заменить имя пользователя.
Есть нюанс: если указать новый пароль и его повтор одинаковыми, и если текущий пароль задан неверно, — сервер будет отвечать редиректом.
Если же будут не совпадать пароли, то тогда возвращён код 200. И если совпадёт — тоже 200, но длина ответа будет отличаться.
Организуем атаку в Intruder. Используем предоставленный словарь паролей.
В теле:
username=carlos¤t-password={pwd}&new-password-1=123&new-password-2=321
Тут в pwd будет подставлен пароль из словаря.
Запускаем атаку, отсортируем по длине ответа.
Пароль — ginger.
Лаба решена!
Ещё в этой категории
Web Shell Upload через обход блек-листа расширений (PortSwigger Lab)
.php в блек-листе, но .htaccess заливается без вопросов — подсовываем свой конфиг Apache и заставляем сервер исполнять shell.bug как PHP.
Web Shell Upload через обфускацию расширения (PortSwigger Lab)
Блек-лист расширений не пускает .php, двойное расширение shell.php.jpg отдаётся как картинка — null-byte shell.php%00.jpg обходит обе проверки.
Remote Code Execution через загрузку web shell (PortSwigger Lab)
Загрузка аватарки без валидации — заливаем PHP web shell и читаем /home/carlos/secret.