Регулярное выражение для маркера SQL-инъекции

Шаблон для распознавания попыток SQLi: UNION SELECT, OR 1=1, комментарии и кавычки. Без учёта регистра — флаг i.

ПресетСтраница примера инструмента

Регулярное выражение для маркера SQL-инъекции — поля заполнены примером, их можно менять. Настройки уедут в ссылку «Поделиться», а заголовок страницы и вкладки описывают исходный пресет, а не текущие поля.

Вернуться к обычному виду инструмента: Регулярные выражения

Об этом примере

Выражение ищет типичные признаки SQL-инъекций: UNION SELECT, конструкции OR 1=1 или AND 1=1, комментарии -- и /* */, а также DROP TABLE и простые обходы через кавычки. Флаг i делает поиск регистронезависимым. Тест admin' UNION SELECT password FROM users -- демонстрирует сразу несколько маркеров. Шаблон — лишь эвристика для логов и WAF, он не заменяет параметризованные запросы, которые остаются единственной надёжной защитой.

Флаги пишутся подряд, без запятой и без пробелов. Поддерживаются g (все совпадения), i (без учёта регистра), m (^ и $ в каждой строке), s (. включает перевод строки), u (режим Unicode), y (поиск с позиции lastIndex), v (наборы Unicode вместо одиночных классов) и d (индексы начала совпадений). Порядок не важен: «giu» и «ug» — одно и то же.

Объяснение

Граница слова затем одно из: 'u' затем 'n' затем 'i' затем 'o' затем 'n' затем пробельный символ (один или более раз) затем 's' затем 'e' затем 'l' затем 'e' затем 'c' затем 't' или 's' затем 'e' затем 'l' затем 'e' затем 'c' затем 't' затем пробельный символ (один или более раз) затем любой символ (один или более раз) затем пробельный символ (один или более раз) затем 'f' затем 'r' затем 'o' затем 'm' или 'o' затем 'r' затем пробельный символ (один или более раз) затем '1' затем пробельный символ (ноль или более раз) затем '=' затем пробельный символ (ноль или более раз) затем '1' или 'a' затем 'n' затем 'd' затем пробельный символ (один или более раз) затем '1' затем пробельный символ (ноль или более раз) затем '=' затем пробельный символ (ноль или более раз) затем '1' или '-' затем '-' или '/' затем '*' или ';' затем пробельный символ (ноль или более раз) затем 'd' затем 'r' затем 'o' затем 'p' затем пробельный символ (один или более раз) затем 't' затем 'a' затем 'b' затем 'l' затем 'e' или ''' затем пробельный символ (ноль или более раз) затем 'o' затем 'r' затем пробельный символ (ноль или более раз) затем '''

Диаграмма выражения

Railroad — структура AST: терминалы, ветки и петли. NFA — переходы между состояниями автомата, ε-переходы отмечены пунктиром.

\bгруппа (?:)union+\sselectselect+\s+любой+\sfromor+\s1*\s=*\s1and+\s1*\s=*\s1--/*;*\sdrop+\stable'*\sor*\s'

Подсветка токенов

Цвет показывает роль фрагмента: литерал, класс, квантор, группа и т.д.

Live-тест

Готовые регулярки

Каталог регулярок →

Найдено: 66 из 66