Брутфорс Формы Входа (Нет Rate Limiting) — Node.js
Форма входа Express-приложения не ограничивает количество попыток, позволяя подобрать пароль администратора перебором по словарю.
mediumnodejsPro
Задача
# Брутфорс формы входа
## Сценарий
Перед вами интернет-магазин «SecureShop» на Express + better-sqlite3 (Node.js). Заказчик просит вас оценить устойчивость формы авторизации к автоматизированным атакам.
Цель — войти под учётной записью `admin`, не зная пароля заранее. Стандартная защита, которая ожидается от современных приложений (ограничение числа попыток с одного IP, временные блокировки, экспоненциальная задержка), может быть либо реализована неправильно, либо не реализована вовсе. Ваша задача — выяснить это эмпирически и воспользоваться слабостью.
## Цели
1. Авторизуйтесь как `demo` / `demo`, чтобы изучить штатный функционал и убедиться, что приложение работает.
2. Исследуйте поведение формы входа при многократных попытках с неверными данными — нет ли признаков защиты от автоматизированного перебора.
3. Подберите пароль администратора. Пароль не уникальный — он встречается в распространённых словарях типичных слабых паролей.
4. Войдите как `admin`, оплатите товар **CTF Flag** в каталоге и получите флаг на странице профиля.
## Данные
| Параметр | Значение |
|----------|----------|
| Обычный пользователь | `demo` / `demo` |
| Цель | `admin` (пароль нужно подобрать) |