Cómo responder a los intentos repetidos de inyección de SQL

3

Un visitante que repite en mi sitio sigue manipulando cadenas de consulta. Por ejemplo, una dirección de página válida se vería así:

myPage.php?subject=3

Este visitante ha visitado varias veces y sigue ingresando las siguientes direcciones:

myPage.php?subject=3%26%26SlEEp%283%29
myPage.php?subject=3%20AND%201=1
myPage.php?subject=3%20and%201%3E1
myPage.php?subject=3%20and%201%3D1
myPage.php?subject=32121121121212.1

He intentado bloquear su IP, pero solo regresan con una diferente, aunque (hasta ahora) solo han usado direcciones IP francesas. En su última visita, su HTTP_USER_AGENT no estaba definido, pero en el pasado ha mantenido estos valores:

  

Mozilla / 4.0 (compatible; MSIE 7.0; Windows NT 5.1; elertz   2.4.179 [128]; .NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET CLR 3.0.04506.30; .NET CLR 3.0.04506.648)

  

Mozilla / 4.0 (compatible; MSIE 7.0; Windows NT 5.1; dial; E-nrgyPlus;   .NET CLR 1.1.4322; InfoPath.1)

  

Mozilla / 5.0 (Windows NT 10.0; Win64; x64) AppleWebKit / 537.36 (KHTML,   como Gecko) Chrome / 57.0.2987.133 Safari / 537.36

  

Opera / 9.27

Actualmente estoy rastreando todas las sesiones abiertas en el sitio. ¿Sería una táctica eficaz y razonable realizar un seguimiento de los errores de consulta y finalizar una sesión que supere una cantidad específica de errores? Si es así, ¿cuál es un número razonable de fallas? ¿Debo también terminar todas las sesiones con un agente de usuario no definido?

Aquí hay una pregunta titulada de forma similar ¿Cómo debo detectar y responder a los malos actores que realizan inyecciones SQL? , pero parece ser específico de" Microsoft Azure ".

    
pregunta Dummy 13.05.2017 - 01:46
fuente

1 respuesta

2

Si está ocurriendo con demasiada frecuencia y en repetidas ocasiones es muy probable que sea un bot, la cosa es de primera mano, si no es importante, trate de usar lo menos posible las direcciones URL adjuntas a las consultas, en lugar de utilizar myPage.php/3 3 se reescribirá internamente por su servidor o controlador frontal. No estoy diciendo que resolverá su problema, pero le evitará dar nombres de variables a Internet.

Y por ahora debería bloquear cualquier acceso con la condición de que intente ingresar patrones que mencionó anteriormente. cree una expresión regular que coincida con los patrones de entrada anteriores y bloquéelos o adviértales lo que sienta. no los hagas manualmente si son bots.

    
respondido por el Abhishek Gurjar 13.05.2017 - 05:19
fuente

Lea otras preguntas en las etiquetas