Обновить

Race Condition в веб-приложениях: три типа уязвимости и как их находить

Уровень сложностиСредний
Время на прочтение9 мин
Охват и читатели8.1K
Всего голосов 8: ↑8 и ↓0+12
Комментарии4

Комментарии 4

Сколько платят за эту уязвимость на BugBounty?

Возможно, дело не в том, что race condition – уязвимость, которую нужно специально атаковать через Burp Suite, а в том, что при достаточном RPS она срабатывает сама по себе. Атака делает 10-миллисекундное окно воспроизводимым; высокая нагрузка делает то же самое статистически. Значит, это не только security-вопрос, но и обычный баг производительной системы.

Ну вы вполне правы на этот счет, но каков шанс, что вы это баг заметите, и какой вообще шанс, что он будет хотя бы средний критичности.

А когда вы целенаправленно это все ищите, то без Burp я лично не обхожусь.

К примеру недавно был кейс: ограничение на 20 пользователей в системе. Race на добавление не работает, сервер отшибает. Пришлось думать. Нашёл что заблокированные пользователи не считаются в лимите, но место в базе занимают. Создал заблокированных пользователей сверх лимита, а потом разблокировал их через Race. По итогу их стало около 30

Так что такое, вряд ли можно будет сделать чисто в слепую нагрузив сервер запросами.

Поле email в записи flowId можно перезаписать в любой момент — просто отправив ещё один запрос /init-email с тем же flowId, но другим email. 

Понял. А race condition тогда зачем?)

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации