Error de SQLMap, éxito de inyección manual de SQL

1

Estoy tratando de entender por qué falló SQLMap cuando creo que no debería haberlo hecho. En mi red local, tengo una máquina virtual cargada con una vulnerabilidad de inyección SQL muy básica. La ejecución manual de este código a través del campo UserID lo llevará a través del script login.php :

'|| 1=1#;

Esta inyección también funcionó:

'OORR 1=1#;

Dado que una simple inyección de SQL como esta funciona en el formulario, no estoy seguro de por qué SQLMap sigue informando que no hay vulnerabilidades de inyección en la página. Supongo que estoy escribiendo mis comandos de shell incorrectamente, ya que recién estoy empezando con la herramienta. Hasta ahora, he ejecutado lo siguiente:

sqlmap --wizard 192.168.254.21
sqlmap --level=5 --risk=3 -a 192.168.254.21

En ambos casos, SQLMap regresa y no informa de vulnerabilidades. ¿Alguna idea sobre cómo mejorar mi uso de la herramienta para que identifique correctamente las vulnerabilidades básicas como esta?

    
pregunta nxl4 01.06.2017 - 11:36
fuente

1 respuesta

2

Por lo general, debe proporcionar sqlmap con la solicitud específica que desea probar para las inyecciones de SQL. No es suficiente especificar una dirección IP simple ya que sqlmap no puede analizar de forma confiable la aplicación web y reconocer los parámetros del formulario por sí mismo.

Tu comando debería tener un aspecto similar al siguiente:

./sqlmap.py --data "user=test&password=test" -u http://192.168.254.21/login.php

(Tendría que reemplazar user y password con los nombres de parámetros correctos de su formulario de inicio de sesión).

Alternativamente, puedes experimentar con el argumento --forms que indica a sqlmap que busque los parámetros del formulario en sí, pero eso no siempre es confiable, ya que sqlmap no está diseñado para raspar aplicaciones web complejas.

    
respondido por el Arminius 01.06.2017 - 11:43
fuente

Lea otras preguntas en las etiquetas