Vega muestra vulnerabilidad de inyección SQL pero sqlmap dice que no

0

Estoy probando una aplicación. La URL es básicamente app.php?app=appname . Si app existe, da un resultado correcto, pero si no existe, obtenemos un error interno del servidor 500.

Vega lo detecta como una vulnerabilidad de inyección SQL, pero cuando lo pruebo con sqlmap no puede encontrar la inyección en esta URL. Vega muestra la URL app.php?app=appname'%20AND%201=2%20--%20 , pero también da el mismo error interno.

En este caso, ¿es realmente una vulnerabilidad de inyección SQL? ¿Puedo obligar a sqlmap a usar esta URL como ayuda?

    
pregunta while true 06.09.2016 - 17:01
fuente

2 respuestas

2

Si la aplicación está consultando una base de datos para el nombre de la aplicación, lo más probable es que tenga una inyección de SQL. Para probar la url con sqlmap ejecute el comando:

sqlmap -u "app.php?app=appname" -p "app"

Aquí hay una hoja rápida de trucos para protegerse de la inyección de SQL.

    
respondido por el alfster 06.09.2016 - 17:37
fuente
2

Es posible que existan algunas vulnerabilidades de inyección ciega (basadas en el tiempo) presentes, es posible que no haya "profundizado lo suficiente" con SQLMap. De forma predeterminada, SQLMap no intenta todos los métodos SQLi. Puede intentar especificar el nivel de riesgo (2):

  

Risk

     Opción

: --risk

     

Esta opción requiere un argumento que especifique el riesgo de las pruebas para   realizar. Hay cuatro valores de riesgo. El valor predeterminado es 1, que es   Inofensivo para la mayoría de los puntos de inyección SQL. Se agrega el valor de riesgo 2   al nivel predeterminado, las pruebas para consultas pesadas basadas en el tiempo de SQL   las inyecciones y el valor 3 también agregan pruebas de inyección de SQL basadas en OR.

O realice una prueba simple basada en el tiempo como esta:

  

Segundos para retrasar la respuesta del DBMS para la inyección ciega de SQL basada en el tiempo

     Opción

: --time-sec

     

Es posible configurar los segundos para retrasar la respuesta cuando se realiza la prueba   para inyección ciega de SQL basada en el tiempo, proporcionando la opción --time-sec   seguido de un entero. Por defecto, su valor está establecido en 5 segundos.

Ayuda de SQLMap

    
respondido por el HashHazard 06.09.2016 - 17:54
fuente

Lea otras preguntas en las etiquetas