Изглежда като атака с препълване
. Те UNION
-ed с вашата съществуваща заявка. подмяна на всичките ви %20
с (интервал), тъй като кодираният от него URL адрес дава:
=-999.9 UNION ALL SELECT CONCAT(0x7e,0x27,Hex(cast(database() as char)),0x27,0x7e),0x31303235343830303536,0x31303235343830303536,0x31303235343830303536-
разбийте го:
=-999.9
току-що приключва текущата ви заявка0x31303235343830303536
еNULL
- те просто съвпадат с броя на колоните в съществуващата ви заявка. Ако сте ималиSELECT * FROM users
иusers
имаше 4 колони,UNION
трябва също да има 4 колони. В резултат на това те просто използваха `NULL стойности, за да попълнят тези колони.- истинското объркване е в
CONCAT()
. Те комбинират 126, 39, име на база данни като шестнадесетична стойност, 39 и 126 --
е коментар на mysql - игнорира останалата част от вашата заявка след
Съдейки по тази атака, подозирам, че не обвивате входа в mysql_real_escape_string()
, което позволява на атакуваните да излязат от вашата заявка и да изпълнят своята собствена.
Вижте owasp.org за повече информация.