На странице
Перебор имён пользователей по едва заметным различиям в ответах
Лаборатория
Username enumeration via subtly different responses · Apprentice
Решение
Дано
This lab is subtly vulnerable to username enumeration and password brute-force attacks. It has an account with a predictable username and password, which can be found in the following wordlists:
Candidate usernames
Candidate passwords
To solve the lab, enumerate a valid username, brute-force this user's password, then access their account page.
Анализ задания
Нужно организовать брутфорс-атаку с помощью словарей имён и паролей пользователей.
Разведка
Посмотрим, как организован логин и как можно организовать брутфорс:
POST /login
username=xxx&password=123
Окей, закидываем в Intruder. Закидываем туда список логинов из лабы. Запросы разделились по размеру ответов: 3443 и более — где-то 5–6 групп. Попадается на глаза oracle — 3443 размер, его протестим первым. Хотя для удобства выпишу по 1 логину из каждой группы:
oracle - 3443
af - 3444
admin - 3445
ad - 3446
auto - 3447
root - 3460
test - 3461
guest - 3462
info - 3463
as - 3462
ajax - 3463
au - 3464
Ожидаем 302 код. Проверил пароли для oracle — все 200. Проверяем af — удача. Пароль — af.
Лаба решена.
Ещё в этой категории
Внедрение произвольного объекта в PHP (PortSwigger Lab)
Восстановление утёкшего исходного кода и внедрение сериализованного объекта CustomTemplate, чей __destruct удаляет произвольный файл.
Эксплуатация небезопасной десериализации через функции приложения (PortSwigger Lab)
Подмена поля `avatar_link` в объекте сессии для удаления произвольного файла через функцию удаления аккаунта.
Изменение типов сериализованных данных (PortSwigger Lab)
Эксплуатируем нестрогое сравнение PHP, меняя тип `access_token` на целое `0` и обходя аутентификацию.