Errore di query SQL Injection con barra rovesciata

5

Ho un sito vulnerabile di SQL injection che funziona bene se inserisco una query come questa qq '- // o qq' -; . Ma quando si inietta senza barra o punto e virgola, viene visualizzato l'errore "Si è verificato un errore nella sintassi SQL; controllare il manuale corrispondente alla versione del server MySQL per la sintassi corretta da utilizzare vicino a" -% "alla riga 1 "

Quindi qual è l'uso della barra o del punto e virgola nella query, si prega di spiegare lo scenario.

    
posta Gowtham 16.10.2015 - 16:25
fonte

2 risposte

1

La sintassi dei commenti di MySQL richiede uno spazio bianco o un carattere di controllo dopo -- :

From a “-- ” sequence to the end of the line. In MySQL, the “-- ” (double-dash) comment style requires the second dash to be followed by at least one whitespace or control character (such as a space, tab, newline, and so on). This syntax differs slightly from standard SQL comment syntax, as discussed in Section 1.7.2.4, “'--' as the Start of a Comment”.

Il carattere addizionalmente incluso nei tuoi casi probabilmente impedisce solo la rimozione dello spazio bianco finale o del carattere di controllo richiesto da MySQL.

    
risposta data 17.10.2015 - 08:48
fonte
0

// è un modo per commentare una riga in PHP e possibilmente in altri linguaggi, quindi sarebbe logico che il resto della query possa essere ignorato. per quanto riguarda il punto e virgola è dire che la linea è finita. Se è un codice a più righe, lo fai commentare il resto e digli di eseguire la riga fino al punto e virgola.

potresti voler provare la tua iniezione prima del // e terminarla con;

Inoltre, a seconda di come è stata eseguita la query, potresti essere in grado di scrivere le tue query aggiuntive separandole con;

    
risposta data 16.10.2015 - 16:51
fonte

Leggi altre domande sui tag