Luchando para perfilar la consulta detrás de una vulnerabilidad de SQLi

0

Soy un bolígrafo de caja negra que prueba las vulnerabilidades comunes en el sitio web de un colega (principalmente preocupado por los 10 principales de OWASP).

He encontrado una vulnerabilidad de inyección SQL en un formulario, ya que el uso de caracteres especiales en uno de los valores de los campos del formulario devuelve errores. El error especifica que se proporcionó un número incorrecto de parámetros a alguna función interna; sospecho que, dada la finalidad del formulario, hay una consulta particularmente compleja detrás de él.

Estoy luchando para obtener una respuesta que no sea este error. He probado una herramienta de navegación para crear un perfil de la consulta con la esperanza de que dibuje una imagen de lo que la consulta parecía lista para la demostración de cómo se puede explotar, pero no logró identificar una vulnerabilidad en absoluto.

¿Cómo puedo obtener una imagen más clara de cómo se ve la consulta? ¿O es totalmente subjetivo y específico para este caso?

Una respuesta de ejemplo que buscaría es una forma de inyectar SQL en la que se puede confiar para probar la vulnerabilidad, independientemente de dónde se encuentre,

Nota: Si es necesario, puedo resumir el hecho de que he encontrado un vector potencial, pero me gustaría poder explicar en qué medida puede ser explotado.

    
pregunta 30.11.2016 - 16:20
fuente

1 respuesta

2
  

He encontrado una vulnerabilidad de inyección de SQL en un formulario, ya que el uso de caracteres especiales en uno de los valores de los campos del formulario devuelve errores.

Esta es una suposición incorrecta. Los errores pueden indicar una aplicación mal desarrollada que puede o no incluir una inyección SQL. Decir que ha encontrado SQLi en esta etapa es prematuro.

  

El error especifica que se proporcionó un número incorrecto de parámetros a alguna función interna.

Recomiendo encarecidamente buscar el mensaje de error y usarlo para tomar la huella dactilar de la aplicación. Si se trata de un mensaje de error sin formato, puede averiguar el componente de la aplicación / servidor web / DB que lo genera.

  

Probé una herramienta de navegación para perfilar la consulta con la esperanza de que dibujara una imagen de cómo se veía la consulta lista para la demostración de cómo se puede explotar, pero no logró identificar una vulnerabilidad en absoluto.

Las herramientas de inyección de SQL ahora son bastante maduras. Si la herramienta no encuentra nada, es probable que no sea una inyección SQL, o es posible que no la esté utilizando correctamente. ¿Las cargas útiles generadas están haciendo lo que usted quiere que hagan (están sondeando el formulario correctamente)? ¿Qué respuestas muestra la herramienta?

La guía OWASP es un excelente lugar para comenzar a buscar un Metodología de ensayo manual. Dependiendo de lo que observes, es probable que se requiera algún tipo de exploración "a ciegas", tal vez deberías mirar de cerca las técnicas de detección UNION, booleanas o basadas en el tiempo. Alternativamente, lance sqlmap o havij , si está dentro del alcance del pentest.

    
respondido por el Jedi 30.11.2016 - 23:00
fuente

Lea otras preguntas en las etiquetas