Sono arrivato a questo carico cieco basato su tempi di iniezione SQL e ho bisogno di capire come funziona
(select(0)from(select(sleep(0)))v)/*'+(select(0)from(select(sleep(12)))v)+'"+(select(0)from(select(sleep(0)))v)+"*/
Sono arrivato a questo carico cieco basato su tempi di iniezione SQL e ho bisogno di capire come funziona
(select(0)from(select(sleep(0)))v)/*'+(select(0)from(select(sleep(12)))v)+'"+(select(0)from(select(sleep(0)))v)+"*/
MySQL usa /* */
come commento di blocco e nessun codice verrà eseguito all'interno di questo blocco. Quello che stai guardando è tre iniezioni, e solo una verrà eseguita a seconda della query che è aumentata con questo attacco di SQL injection. Questo è un hack di efficienza per accelerare il processo di fuzzing di un sito Web per SQL Injection.
Se il punto di iniezione non utilizza le virgolette, il primo carico utile del sonno verrà eseguito e commenterà il resto dell'iniezione:
(select(0)from(select(sleep(0)))v)/*
se il punto di iniezione utilizza virgolette singole, verrà eseguito il secondo carico utile:
'+(select(0)from(select(sleep(12)))v)+'
Infine, se la query utilizza le virgolette doppie, il terzo e ultimo carico utile verrà eseguito:
"+(select(0)from(select(sleep(0)))v)+"*/
Le iniezioni non sono in ordine?
Leggi altre domande sui tag sql-injection mysql attacks