Det ser ut som en overflow-attack
. De UNION
-ed med din befintliga fråga. ersätter alla dina %20
med (mellanslag) eftersom dess url-kodade ger:
=-999.9 UNION ALL SELECT CONCAT(0x7e,0x27,Hex(cast(database() as char)),0x27,0x7e),0x31303235343830303536,0x31303235343830303536,0x31303235343830303536-
bryt ner det:
=-999.9
avslutar bara din aktuella fråga0x31303235343830303536
ärNULL
- de matchar bara antalet kolumner i din befintliga fråga. Om du hadeSELECT * FROM users
ochusers
hade 4 kolumner,UNION
måste också ha 4 kolumner. Som ett resultat använde de bara `NULL-värden för att fylla i dessa kolumner.- den verkliga förvirringen ligger i
CONCAT()
. De kombinerar 126, 39, databasnamn som hexadecimalt värde, 39 och 126 --
är en mysql-kommentar - den ignorerar resten av din fråga efter
Att döma av denna attack misstänker jag att du inte lindar in indata i mysql_real_escape_string()
, som gjorde det möjligt för attackerade att hoppa ur din fråga och köra sin egen.
Se owasp.org för mer information.