Nous avons changé nos règles de pare-feu (RegEx) à ce qui suit:Est-ce que ces motifs regex vont attraper toutes les injections SQL nécessaires?
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\].*
ce que ce bloc toutes les tentatives d'injection SQL? Par exemple, est-il possible de supprimer une vue en utilisant plusieurs espaces?
Non, absolument pas! – Gumbo
Probablement, l'attaquant pourrait juste POST l'injection SQL plutôt que de l'ajouter à l'URL. –
Vous protégez l'injection SQL sous forme de base de données à l'aide de règles de regex de pare-feu? Vous aimez vivre sur le bord ... ;-) –