Ciò a cui si fa riferimento è potenzialmente una vulnerabilità SQLi basata su errori, che rientra in una categoria più ampia nota come In-Band / Classic SQL injection. In sostanza, queste vulnerabilità consentono a un utente malintenzionato di avviare un attacco e di raccogliere informazioni sul database dallo stesso canale di comunicazione. Dico che è solo una potenziale vulnerabilità perché non siamo sicuri se hai effettivamente provato SQLi, piuttosto hai appena scoperto un errore. Questo può essere confermato tramite test, assumendo il permesso.
La vulnerabilità SQLi basata sugli errori che stai vedendo potenzialmente fornisce informazioni sulla struttura del database (come hai sottolineato) che aiuta l'enumerazione del database (potenzialmente l'intero database) per l'autore dell'attacco.
Si sta dicendo, "Ciao utente internet amichevole che non ho motivo di diffidare, la query che stai cercando di eseguire (ovviamente senza intenti maliziosi) è sfortunatamente errata, quindi ecco la struttura esatta del mio database in modo che il tuo prossimo la query può essere scritta in modo più appropriato per raggiungere il successo! "
Tale messaggio di errore dettagliato dovrebbe essere disabilitato su un sito live o registrato su un file con accesso limitato. Una pratica migliore sarebbe, a seconda della situazione, fornire all'utente un errore di 400 o 500 pur essendo consapevole di non fornire più informazioni di quanto sia assolutamente necessario.