Descifrando un inicio de sesión basado en un formulario web con hydra [cerrado]

3

¿Cómo debo usar hydra en un formulario web?

Lo que he hecho hasta ahora:
Ya usé Hydra con éxito en una carpeta con un autenticación HTTP :

http://localhost/test/authtest/

con el usuario admin y la contraseña 1234 , encontré la contraseña con éxito:

hydra -l admin -x 1:5:1 -t 1 -f -vV 127.0.0.1 http-get /test/authtest/

Pero, ¿cómo tendría que intentar ejecutar en un formulario web como

http://127.0.0.1/test/login.php?&username=admin&password=1234
    
pregunta rubo77 11.06.2014 - 02:08
fuente

1 respuesta

6

Básicamente, necesitas especificar dos cosas:

  1. Donde van el nombre de usuario y la contraseña.
  2. Cómo determinar el éxito / fracaso de la solicitud.

El primero se logra con tokens como ^USER^ y ^PASS^ en la URL donde deben ser reemplazados por los nombres de usuario y las contraseñas que se están probando. El segundo se realiza mediante hydra mediante la coincidencia de cadenas en la página devuelta. Puede probar una condición de falla, como "Contraseña incorrecta", o una condición exitosa, como "iniciar sesión".

Aquí hay un ejemplo:

hydra 127.0.0.1 http-form-get '/test/login.php?username=^USER^&password=^PASS^:Bad password'

También puede probar si una cookie se establece con C=cookie_name o un encabezado HTTP con H=header_name en lugar de "Contraseña incorrecta" para la condición de prueba para un inicio de sesión exitoso.

En caso de que el formulario de inicio de sesión utilice POST, en lugar de GET, (como hacen muchos), debe utilizar el "protocolo" de http-form-post. También deberá usar : para separar la URL y los parámetros POST, en lugar de ? en una cadena de consulta. También hay variaciones de https, que son (como era de esperar) prefijadas con https- , en lugar de http- .

    
respondido por el David 11.06.2014 - 02:33
fuente

Lea otras preguntas en las etiquetas