¿Cómo hackeo esta página de inicio de sesión usando la inyección SQL? [cerrado]

-4

Estoy probando la vulnerabilidad del sitio web de un cliente a inyección SQL , que parece ser el caso. El sitio web está alojado en IIS en un servidor Windows y utiliza el marco .NET de Microsoft con SQL. Puedo ingresar sentencias de SQL en el formulario de inicio de sesión.

Pero cuando ingreso ' or 1=1;-- en nombre de usuario , responde "Your Account Has Been Blocked" . Obviamente, el campo no está validado, lo cual es un problema de seguridad grave.

¿Cómo puedo obtener el contenido de la base de datos utilizando la técnica de inyección SQL? He leído este tutorial de prueba de penetración , pero hasta ahora no he tenido suerte. .

Cuando ingreso ' en el campo de nombre de usuario, esto es lo que obtengo:

    
pregunta mehulmpt 18.04.2014 - 10:21
fuente

3 respuestas

7

Debes asegurarte de tener el conjunto de habilidades adecuado antes de ofrecerte el trabajo para un cliente. Esto significa que ver el sitio web valdrá la pena y no le dará al cliente una falsa sensación de seguridad. Esto será mejor para usted, ya que sabrá cómo tomar los pasos correctos para realizar una prueba legalmente y no será demandado por el cliente si se equivoca cuando [verifica el sitio] "contra todos los valores comunes posibles".

Puedo recomendar el Manual para piratas informáticos de aplicaciones web: 2ª edición como una buena guía para comenzar en el campo y los recursos en OWASP , pero se recomienda tomar la capacitación adecuada y trabajar con personas más experimentadas

Dicho esto, SQLMap es una buena herramienta para usar en un pellizco y se puede clonar en github o encontrar en kali / backtrack (pero esta versión puede estar desactualizada).

Asegúrese de tener el permiso expreso por escrito del cliente / su proveedor de servicios para realizar las pruebas y asegúrese de advertir "todas las vulnerabilidades conocidas" en el futuro o se arriesgará a quemarse.

    
respondido por el Stu W 18.04.2014 - 16:14
fuente
1
  

¿Cómo puedo obtener el contenido de la base de datos utilizando la técnica de inyección SQL?

Si puede o no puede hacer esto dependerá en gran medida de cómo se utiliza la información después de que se extrae de la base de datos. Por ejemplo, si la información extraída de la base de datos solo se usa para ver si tiene credenciales válidas, pero nunca muestra el contenido de la base de datos que se recuperó, entonces no podrá mostrar el contenido de la base de datos.

Aunque es probable que pueda iniciar sesión sin una combinación válida de nombre de usuario / contraseña. Usted dijo que su primera cadena recibía el mensaje "La cuenta ha sido bloqueada". Probablemente, por alguna razón, el primer resultado devuelto en la base de datos es una cuenta bloqueada. Podría evitar esto haciendo algo como LIMIT 1,1 (si es mysql, o algo similar si no lo es).

    
respondido por el mikeazo 18.04.2014 - 18:32
fuente
1

Si este formulario es hackeable, es probable que otros también lo sean. Obteniendo el contenido de la La base de datos es problemática, pero pasa por alto la autenticación normal de los usuarios y altera a otros usuarios. Las cuentas, o simplemente la eliminación de la base de datos están en la tabla. Dudo tu El cliente querría que pruebes estas cosas en su base de datos en vivo.

    
respondido por el ddyer 19.04.2014 - 03:31
fuente

Lea otras preguntas en las etiquetas