Как защититься от ReDoS (RegEx DoS) атак в Node.js?

Senior
241 просмотров
AFK Offer AI

ReDoS — атака через специально составленные строки, вызывающие катастрофический backtracking в regex. В Node.js event loop блокируется на время выполнения regex. Защита: 1) Избегай regex с вложенными квантификаторами (a+)+. 2) safe-regex или regexp-tree для проверки regex на уязвимость. 3) Ограничивай длину входных строк перед применением regex. 4) re2 — Google RE2 engine без backtracking (node-re2 пакет). 5) Используй validator.js вместо кастомных regex для email/URL. Проверяй regex онлайн через regexploit.

Следующий вопрос

Как работает HTTP keep-alive в Node.js?