Vypadá to na útok přetečení
. UNION
-ed s vaším stávajícím dotazem. nahrazením všech vašich %20
s (mezera), protože jeho zakódovaná adresa URL poskytuje:
=-999.9 UNION ALL SELECT CONCAT(0x7e,0x27,Hex(cast(database() as char)),0x27,0x7e),0x31303235343830303536,0x31303235343830303536,0x31303235343830303536-
rozebrat to:
=-999.9
právě ukončuje váš aktuální dotaz0x31303235343830303536
jeNULL
- pouze odpovídají počtu sloupců ve vašem stávajícím dotazu. Pokud jste měliSELECT * FROM users
ausers
měl 4 sloupce,UNION
musí mít také 4 sloupce. Výsledkem bylo, že k naplnění těchto sloupců použili pouze hodnoty NULL.- skutečný zmatek je v
CONCAT()
. Kombinují 126, 39, název databáze jako hexadecimální hodnotu, 39 a 126 --
je komentář mysql – ignoruje zbytek vašeho dotazu po
Soudě podle tohoto útoku mám podezření, že nezabalujete vstup do mysql_real_escape_string()
, což umožnilo napadeným vyskočit z vašeho dotazu a provést vlastní.
Viz owasp.org pro více informací.