Mysql
 sql >> Database >  >> RDS >> Mysql

Trovato 'OR 1=1/* sql injection nel mio database di newsletter

'OR 1=1 è un tentativo di fare in modo che una query abbia successo, non importa quale
Il /* è un tentativo di avviare un commento su più righe in modo che il resto della query venga ignorato.

Un esempio potrebbe essere

SELECT userid 
FROM users 
WHERE username = ''OR 1=1/*' 
    AND password = ''
    AND domain = ''

Come puoi vedere se dovessi popolare il campo del nome utente senza eseguire l'escape del ' indipendentemente dalle credenziali che l'utente passa nella query, restituirebbe tutti gli ID utente nel sistema che probabilmente garantiscono l'accesso all'attaccante (possibilmente l'accesso come amministratore se l'amministratore è il tuo primo utente). Noterai anche che il resto della query verrebbe commentato a causa del /* incluso il vero ' .

Il fatto che tu possa vedere il valore nel tuo database significa che è stato eseguito il escape e quel particolare attacco non ha avuto successo. Tuttavia, dovresti indagare se sono stati effettuati altri tentativi.