¿Es posible obtener una inyección SQL sin que vuelva a aparecer un error?

2

He intentado hacer una inyección SQL en un sitio web usando la barra de Hack. El servidor no respondió a los errores de SQL.

También he intentado usar sqlmap:

sqlmap -u http://website/login.php?op=login --dbs
sqlmap -u http://website/login.php?id=1 --dbs
[10:06:33] [CRITICAL] all tested parameters appear to be not injectable.

Entonces, mi pregunta es: ¿es posible obtener una inyección SQL, incluso si el servidor web no muestra ningún error?

    
pregunta Salcybercat 02.11.2016 - 15:13
fuente

2 respuestas

4

Sí, se llama Inyección de SQL ciego , que es bastante difícil, pero no imposible.

Si puede consultar una gran cantidad de valores verdaderos / falsos, entonces se trata de una inyección de SQL ciegos basada en contenido .

Otro método común es la inyección de SQL ciego basada en el tiempo , donde básicamente le indica a la base de datos que realice una operación que requiere mucho tiempo. Si el sitio web no devuelve una respuesta inmediatamente, la aplicación web es vulnerable a la Inyección de Blind SQL. Sobre todo, se utiliza la operación de reposo.

yoursite.com/index.php?id=1337 and if(1=1, sleep(42), false)

Si la página no se vuelve a cargar lo antes posible, es vulnerable.

    
respondido por el pguetschow 02.11.2016 - 15:16
fuente
1

Hay un concepto llamado inyección ciega de SQL . Se trata de la situación de que un parámetro es vulnerable a la inyección, pero los errores se tratan internamente desde el programa y el atacante no puede ver el mensaje de error o que ocurrió un error, respectivamente.

Consulte este tutorial , explica las cosas con más detalle.

    
respondido por el kaidentity 02.11.2016 - 15:21
fuente

Lea otras preguntas en las etiquetas