Questa non è la query completa, in realtà la persona ha inserito questa stringa nella tua app Web.
Ora, prima sostituire% 20 con uno spazio vuoto nella parte dell'unione, si ottiene:
SELECT concat(0x7e,0x27,Hex(cast(database() as char)),0x27,0x7e),0x31303235343830303536,0x31303235343830303536,0x31303235343830303536--
Sembra come l'utente ha messo la stringa in un luogo in cui ti aspettavi un numero. Quindi, vedi che prima c'è un numero (999.9) per completare la condizione originale della query. Quindi, viene aggiunta una parte UNION. Infine, dopo la parte UNION, i caratteri del commento vengono aggiunti (-) in modo tale che il resto della query (che potrebbe essere aggiunta dal sistema) venga aggirato.
Siamo in grado di formattare il codice per una migliore comprensione:
SELECT
concat
(
0x7e,
0x27,
Hex(cast(database() as char)),
0x27,
0x7e
),
0x31303235343830303536,
0x31303235343830303536,
0x31303235343830303536
Ora, sottostringa della prima colonna del risultato conterrà la forma esadecimale codificata del tuo nome datbase. In realtà, dovrebbe essere circondato da virgolette singole (0x27), poi di nuovo circondati da ~ (0x7e)
fonte
2011-01-05 05:31:00
prego non firmare le vostre domande, sappiamo chi sei – sethvargo
è che l'unica voce che hai nel tuo registro? –
prego non firmare le vostre domande - per un attimo, mi chiedevo che cosa significa firmare una query mysql dire :) –