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 CommentoSintassiDatabase SupportatiProbabilità di Efficacia (da alta a bassa)Note
---- commentoMySQLMariaDBPostgreSQLSQL ServerOracleSQLiteAltaIl più comune e supportato dalla maggior parte dei database.
## commentoMySQLMariaDBMediaSupportato solo da MySQL e MariaDB.
/* *//* commento */MySQLMariaDBPostgreSQLSQL ServerOracleSQLiteAltaSupportato da tutti i database, utile per commenti su più righe.
-- --- - commentoMySQLMariaDBPostgreSQLSQL ServerOracleSQLiteMedia-AltaVariante di -- per bypassare filtri che bloccano --.
/*! *//*! codice */MySQLMariaDBBassaCommento condizionale eseguito solo in MySQL/MariaDB.
;--;-- commentoSQL ServerOracleBassaUtilizzato in alcuni contesti specifici, soprattutto in SQL Server.

Strategia per l’ordine di test

  1. Prova con -- senza spazio:

    • Ad esempio:

      ' OR 1=1 --

  2. Prova con -- (aggiungendo uno spazio):

    • Utile per MySQL.

      ' OR 1=1 --

  3. Usa /* */ per payload complessi o filtri avanzati:

    • Ad esempio:

      ' OR 1=1 /* questo è un commento */--

  4. 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 MSSQL o T-SQL.