
Auth
Timing-атака на форму входа (PHP)
Обработчик входа раскрывает существование пользователей через разницу во времени ответа — bcrypt вызывается только для существующих аккаунтов.
PHP Pro
Exploit Fix
Сервер подписывает JWT через RS256, но при валидации читает алгоритм из заголовка токена. Атакующий меняет alg на HS256, подписывает токен публичным RSA-ключом как HMAC-секретом и получает admin.
Обработчик входа раскрывает существование пользователей через разницу во времени ответа — bcrypt вызывается только для существующих аккаунтов.
Сервер принимает JWT с алгоритмом none — подделайте токен без подписи и получите права администратора.
Эндпоинт логина не ограничивает количество попыток аутентификации, позволяя атакующему перебирать пароли.
Регистрация принимает любой пароль без проверки сложности, что позволяет dictionary attack на аккаунты.



