Desarrollé un sitio web para un cliente donde publicarán imágenes de su mercancía en línea. La url es www.domiainname.com/item-details.cfm?sku=125
. Alguien intentó navegar al www.domiainname.com/item-details.cfm?sku=125%20and%203=3
que produjo y error en el que me notificaron.¿Es este un ejemplo de ataque de inyección SQL?
También he recibido informes de errores de:
[email protected]@version--
item-details.cfm?sku=1291'[email protected]@version
[email protected]@version
Los tres últimos ejemplos son sin duda de alguien que intenta entrar en el sistema, ¿verdad?
Si convertimos esto en procedimientos almacenados, ¿eso reduciría o eliminaría el riesgo de ataques de inserción?
Y sí, las consultas se envuelven en las etiquetas cfqueryparam (por ejemplo, ' –
HPWD
Entiendo lo que estaban tratando de hacer con la versión @@, pero ¿qué les diría a 3 = 3? Mi receptor de errores también informa la dirección IP. He pensado en agregar un archivo db tabla y agregué las direcciones IP que recibo de situaciones como esa y luego redirigir a esos usuarios a google o algo. ¿Es esto efectivo o solo un ejercicio en futililty? ? – HPWD
Al agregar una tautología (p. Ej., 3 = 3) están intentando obtener todos los resultados de la base de datos que pueden. Sin embargo, tal vez no sean tan inteligentes como todo porque necesitarían usar O en ese caso en lugar de Y! Siempre que use '', debe estar a salvo de los ataques de inyección de SQL (al menos en SELECT, aún puede ser vulnerable a ataques XSS en INSERT y UPDATE). Aún así, es una buena idea validar sus parámetros para que pueda atrapar el error antes de que ocurra - intente hacer ' ' para atrapar este, o use 'isNumeric()' ser notificado. –