Parece un ataque de desbordamiento
. Ellos UNION
-ed con su consulta existente. reemplazando todos tus %20
con (espacio) ya que su URL codificada produce:
=-999.9 UNION ALL SELECT CONCAT(0x7e,0x27,Hex(cast(database() as char)),0x27,0x7e),0x31303235343830303536,0x31303235343830303536,0x31303235343830303536-
desglosarlo:
- el
=-999.9
solo está finalizando su consulta actual 0x31303235343830303536
esNULL
- solo están haciendo coincidir el número de columnas en su consulta existente. Si tuvieraSELECT * FROM users
yusers
tenía 4 columnas, laUNION
también debe tener 4 columnas. Como resultado, simplemente usaron `valores NULL para completar esas columnas.- la verdadera confusión está en
CONCAT()
. Están combinando 126, 39, nombre de la base de datos como valor hexadecimal, 39 y 126 --
es un comentario mysql:ignora el resto de su consulta después
A juzgar por este ataque, sospecho que no está ajustando la entrada en mysql_real_escape_string()
, lo que permitió a los atacantes salir de su consulta y ejecutar la suya propia.
Consulte owasp.org para más información.