tags: commenti_sql_Injection commenti
I commenti nel linguaggio SQL non sono tutti uguali a seconda del tipo di linguaggio SQL che usiamo dobbiamo utilizzare un determinato tipo di commento altrimenti il database non riuscirà ad intrepretarlo come commento impedendoci di completare la sql injection.
Tabella dei Commenti SQL
| Tipo di Commento | Sintassi | Database Supportati | Probabilità di Efficacia (da alta a bassa) | Note |
|---|---|---|---|---|
-- | -- commento | MySQL, MariaDB, PostgreSQL, SQL Server, Oracle, SQLite | Alta | Il più comune e supportato dalla maggior parte dei database. |
# | # commento | MySQL, MariaDB | Media | Supportato solo da MySQL e MariaDB. |
/* */ | /* commento */ | MySQL, MariaDB, PostgreSQL, SQL Server, Oracle, SQLite | Alta | Supportato da tutti i database, utile per commenti su più righe. |
-- - | -- - commento | MySQL, MariaDB, PostgreSQL, SQL Server, Oracle, SQLite | Media-Alta | Variante di -- per bypassare filtri che bloccano --. |
/*! */ | /*! codice */ | MySQL, MariaDB | Bassa | Commento condizionale eseguito solo in MySQL/MariaDB. |
;-- | ;-- commento | SQL Server, Oracle | Bassa | Utilizzato in alcuni contesti specifici, soprattutto in SQL Server. |
Strategia per l’ordine di test
-
Prova con
--senza spazio:-
Ad esempio:
' OR 1=1 --
-
-
Prova con
--(aggiungendo uno spazio):-
Utile per MySQL.
' OR 1=1 --
-
-
Usa
/* */per payload complessi o filtri avanzati:-
Ad esempio:
' OR 1=1 /* questo è un commento */--
-
-
Testa con
#se sospetti MySQL:-
Ad esempio:
' OR 1=1 #
-
Suggerimento Pratico
- Se possibile, osserva il comportamento del server con strumenti come Burp Suite. Ad esempio, un errore SQL potrebbe rivelare indizi sul database in uso.
- Presta attenzione ai dettagli negli errori del server:
- MySQL: Errore con riferimenti a
MySQL server. - PostgreSQL: Errori con riferimenti a sintassi
Postgres. - MSSQL: Errori con riferimenti a
MSSQLoT-SQL.
- MySQL: Errore con riferimenti a