Оминання ліміту запитів та отримання вразливості на рівні додатка для DDoS-атак у BBP

Деякі додатки не здатні належним чином захистити процес перевірки OTP, що може призвести до серйозних уразливостей. Я натрапив на цікавий випадок на [redacted].com, де ліміт запитів на OTP не був належним чином налаштований, що дозволяло здійснювати безлімітні запити, просто змінюючи заголовок User-Agent. Ця вразливість може призвести до спам-атак і навіть дозволити здійснити атаку на рівні додатка (Application-Level DDoS). Давайте розглянемо, що саме сталося.

Більшість платформ встановлюють обмеження на кількість запитів OTP, щоб уникнути зловживань. Але якщо ліміт перевіряється лише за акаунтом користувача, а не за іншими параметрами запиту, його можна обійти. На [redacted].com сервер мав обмеження у 30 запитів OTP для 1 користувача, але зловмисники могли обійти це, просто змінюючи User-Agent в кожному запиті.

Ця вразливість має кілька серйозних наслідків. По-перше, зловмисники можуть залити вхідну скриньку жертви OTP листами, що ускладнює пошук справжнього OTP для входу. По-друге, через відсутність належного ліміту запитів, сервер може перевантажитися (500 Internal Server Error), викликаючи затримки або навіть повне припинення обслуговування.

Щоб відтворити атаку, треба пройти кілька простих кроків: зареєструватися на [redacted].com, перехопити запит OTP за допомогою Burp Suite, змінити запит, щоб динамічно змінювати User-Agent, а потім використати Burp Intruder або простий скрипт для автоматизації атаки. Сервер продовжить надсилати OTP, що підтверджує відсутність належного ліміту запитів.

Щоб виправити цю проблему, можна застосувати кілька стратегій. По-перше, варто реалізувати обмеження запитів на основі IP, щоб не можна було обійти ліміт за допомогою змін у заголовках. По-друге, використання відбитків пристроїв дозволить відслідковувати незвичну поведінку і застосовувати суворіші ліміти. І, звісно, необхідно блокувати несанкціоновану маніпуляцію заголовками на сервері.

Такі вразливості, пов'язані з відсутністю ліміту запитів, є одними з найпростіших для використання, але й дуже потужними. Багато компаній фокусується на блокуванні брутфорс-атак, забуваючи про обхід ліміту через заголовки. Тому завжди перевіряйте механізми обмеження запитів — ви можете знайти свою наступну велику винагороду!

Перекладено з: Bypass rate limit & get Application-Level DDoS Vulnerability in BBP