Перейти к содержимому

Поиск по платформе

Брутфорс Формы Входа (Нет Rate Limiting)

Форма входа не ограничивает количество попыток, позволяя подобрать пароль администратора перебором по словарю.

Автор: Hack & Fix
Освоишь: bcrypt/argon2constant-time compareMFA
Легко+30 XP ~20 мин golang
CWE-287 · A07:2021 Pro
Обложка: Брутфорс Формы Входа (Нет Rate Limiting) Обложка: Брутфорс Формы Входа (Нет Rate Limiting)
Задача
# Перебор паролей формы входа (отсутствие rate limiting) ## Сценарий Вы проводите аудит безопасности **OrbitOutfitters** — интернет-магазина экспедиционного снаряжения на Go. Служба мониторинга обратила внимание на серии неудачных входов в логах: десятки отказов подряд от одного адреса за минуту, а на следующий день — успешный вход. Команда уверена, что пароли хешированы и валидация работает, поэтому «подобрать пароль невозможно». Проверьте, что реально останавливает атакующего, которому известна учётная запись администратора. ## Цель 1. Убедитесь, что форма входа не ограничивает частоту попыток: серия неверных входов не вызывает ни задержек, ни блокировок, ни запросов на подтверждение. 2. Автоматизируйте словарный перебор пароля администратора и найдите успешный вариант. 3. Войдите как администратор, выкупите товар **CTF Flag** и заберите флаг из профиля заказов. ## Теория Rate limiting на эндпоинте входа — обязательный контроль для любого приложения в публичном интернете. Без него атакующий проверяет тысячи паролей в минуту, ограниченный только пропускной способностью сети. Публичные коллекции утёкших паролей насчитывают миллиарды записей, а топ-сотня общеупотребительных покрывает значительную долю учётных записей. Администраторы — любимая цель: «удобные» пароли из имени сервиса или коротких последовательностей встречаются и у самых привилегированных пользователей. **Уязвимый паттерн (отсутствие защиты):** ```go // Обработчик входа принимает неограниченное число запросов — без счётчика, задержки и блокировки: mux.HandleFunc("POST /login", h.Login) ``` Атака не использует дефект кода — только отсутствие контроля. Запросы перебора неотличимы от обычных попыток входа: то же имя пользователя, неверные пароли из словаря. Отличается один ответ — успешный: редирект в приложение вместо сообщения о неверных учётных данных. Дальше атакующий обладает полноценной сессией администратора со всеми его правами и балансом. ## Точка входа атаки `POST /login` — форма входа с полями `username` и `password`. * **Цель перебора:** `admin` * **Обычный пользователь (разведка интерфейса):** `demo` / `demo` * **Путь к флагу после входа:** каталог → товар **CTF Flag** → профиль с заказами

Похожие лабораторные (4)

другие лабы по этой уязвимости
Обложка лабы: Слабые Пароли (Нет Валидации Сложности) Обложка лабы: Слабые Пароли (Нет Валидации Сложности)
Auth

Слабые Пароли (Нет Валидации Сложности)

Форма регистрации принимает любые пароли, включая однозначные. Аккаунт admin защищён паролем 'admin'.

+30 XP
Go Pro
Exploit Fix
Обложка лабы: Предсказуемые Токены Сессии (MD5) Обложка лабы: Предсказуемые Токены Сессии (MD5)
Auth

Предсказуемые Токены Сессии (MD5)

Сессионные токены генерируются через MD5(username), что позволяет предсказать токен администратора и захватить его сессию.

+60 XP
Go Pro
Exploit Fix
Обложка лабы: Небезопасный Сброс Пароля (IDOR) Обложка лабы: Небезопасный Сброс Пароля (IDOR)
Auth

Небезопасный Сброс Пароля (IDOR)

Форма сброса пароля принимает user_id из клиента, позволяя атакующему сбросить пароль любого пользователя через IDOR.

+60 XP
Go Pro
Exploit Fix
Обложка лабы: JWT: Подбор слабого секретного ключа Обложка лабы: JWT: Подбор слабого секретного ключа
Auth

JWT: Подбор слабого секретного ключа

Приложение подписывает JWT токеном HMAC-SHA256 со слабым ключом. Подбери секрет и подделай токен администратора.

+60 XP
Go Pro
Exploit Fix