Race Condition — это когда **сервер не успевает договориться сам с собой** и параллельные запросы начинают лезть в одни и те же данные.
Обратите внимание: проблема не в “ошибке одного запроса”, а в **гонке между несколькими**. Итог — от странного бага до вполне взрослой уязвимости:
— обход проверок
— двойное списание
— доступ к чужим данным
— превышение лимитов
**3 типа, на которые стоит смотреть:**
1. `TOCTOU` — проверили одно, а использовали уже другое
2. `Double spending` — одну операцию можно провести дважды
3. `Limit bypass` — ограничения есть, но в гонке они не успевают сработать
Для поиска таких дыр держите короткий чек-лист:
**1.** Ищите места, где один и тот же объект меняется из двух запросов
**2.** Проверяйте сценарии с одновременными действиями: оплатой, отменой, сменой статуса
**3.** Тестируйте не один запрос, а пачку почти одновременно — там обычно и вылезает сюрприз
В вебе самые неприятные баги часто выглядят как “ну это же мелочь”. А потом внезапно оказываются дырой в безопасности.
SERP Watcher
@SerpWatcherPro
Race Condition — это когда **сервер не успевает договориться сам с собой** и параллельные запросы начинают лез
Этот пост опубликован в Telegram-канале SERP Watcher. Подписаться можно по ссылке: @SerpWatcherPro.