гонки – ошибка проектирования многопоточной системы или приложения, при которой работа системы или приложения зависит от того, в каком порядке выполняются части кода. Оно наступает в случае, когда два или более потока в параллельной программе одновременно обращаются к одной структуре данных, причем между ними нет принудительного упорядочивания во времени и хотя бы одно из этих обращений – на запись. https://www.owasp.org/index.php/Race_Conditions
"Одна и та же переменная применялась как для анализа введённых чисел, так и для определения положения поворотного круга. Поэтому при быстром вводе Therac мог иметь дело с неправильным положением поворотного круга... Что приводило к переоблучению пациента"
latency Y N Эффективное обнаружение и эксплуатация • Транзакции БД • SOA (service-oriented architecture) • Backend-операции • . . . Трудно найти легко потерять, невозможно забыть и воспроизвести, особенно в blackbox • Менеджмент сессий • . . . • PROFIT!!!
При первичном обращении браузера к серверу генерируется новый, уникальный идентификатор сессии • Обычно идентификатор сессии возвращается клиенту в заголовке ответа "Set-Cookie" • Браузер сохраняет SessID в доменнозависимых cookie, которые отправляются на сервер при каждом запросе
puzzling – уязвимости прикладного уровня, позволяющие атакующему выполнять множество различных вредоносных действий путем манипуляций с переменными сессии: – Обход аутентификации – Повышение привилегий и логин под чужим аккаунтом – Обход ограничений в многофазных процессах – Выполнение “традиционных атак” (например, инъекций) – Воздействие на адресата доставки контента – . . .
причины возникновения session puzzling : – Преждевременное присвоение объектов сессии в публично доступных точках входа – Неоправданное хранение данных в памяти сессий – Одни и те же переменные сессии используются различными процессами – Использование сессионных флагов в легальном функционале приложения – Отсутствие валидации для “доверенных” данных, генерируемых на основе сессии – Неэффективные или неполные механизмы аутентификации и авторизации – Баги в сценариях приложения, которые способствуют созданию или предотвращению удаления переменных сессии