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
---- commentoMySQL, MariaDB, PostgreSQL, SQL Server, Oracle, SQLiteAltaIl più comune e supportato dalla maggior parte dei database.
## commentoMySQL, MariaDBMediaSupportato solo da MySQL e MariaDB.
/* *//* commento */MySQL, MariaDB, PostgreSQL, SQL Server, Oracle, SQLiteAltaSupportato da tutti i database, utile per commenti su più righe.
-- --- - commentoMySQL, MariaDB, PostgreSQL, SQL Server, Oracle, SQLiteMedia-AltaVariante di -- per bypassare filtri che bloccano --.
/*! *//*! codice */MySQL, MariaDBBassaCommento condizionale eseguito solo in MySQL/MariaDB.
;--;-- commentoSQL Server, OracleBassaUtilizzato 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.