Мы изменили наши правила брандмауэра (Regex) к следующим:Будут ли эти шаблоны регулярных выражений улавливать все необходимые инъекции SQL?
Name
Type
Context
Severity
Pattern
CS:select_into
signature
http-url
critical
.*\[select\]\s+.*\[into\].*
CS:select_from
signature
http-url
critical
.*\[select\]\s+.*\[from\].*
CS:insert_into
signature
http-url
critical
.*\[insert\]\s+.*\[into\].*
CS:drop_database
signature
http-url
critical
.*\[drop\]\s+.*\[database\].*
CS:drop_table
signature
http-url
critical
.*\[drop\]\s+.*\[table\].*
CS:delete_from
signature
http-url
critical
.*\[delete\]\s+.*\[from\].*
CS:drop_view
signature
http-url
critical
.*\[drop\]\s+.*\[view\].*
CS:exec
signature
http-url
critical
.*\[exec\].*(%28|\().*(%29|\)).*
CS:update_set
signature
http-url
critical
.*\[update\](%20|\+)(%20|\+|.)*\[set\].*
Будет ли этот блок всех попыток инъекции SQL? Например, можно ли опустить представление, используя несколько пробелов?
Нет, абсолютно нет! – Gumbo
Предположительно, злоумышленник может просто выполнить POST SQL-инъекцию, а не добавлять ее в URL-адрес. –
Вы защищаете форму базы данных SQL-инъекцией, используя правила регулярного выражения брандмауэра? Вам нравится жить на краю ... ;-) –