Páginas: [1]
|
 |
|
Autor
|
Tema: Auditoría de Passwords contra aplicaciones Web (Leído 731 veces)
|
SiD#(0)
Desconectado
Mensajes: 13
|
Estoy realizando un "experimento"....  Estoy intentando averiguar las contraseñas de unos usuarios de un servidor web que me he instalado con un simple formulario de validación. Sé cuales son los usuarios y sus contraseñas pero para aprender auditoría de passwords estoy utilizando THC HYDRA. En la configuración de la herramienta permite el auditar estos passwords mediante http-get, pero en el formulario que he creado, el método que contempla para el input de usuario y contraseña es POST... Mi pregunta es...si los formularios de input de usuarios/contraseña de las aplicaciones web necesitan del método POST, la herramienta estára correctamente configurada? Se puede probar la auditoría de passwords configurando en el herramienta el método http-get? 
|
|
|
|
« Última modificación: 02 Abril 2008, 15:04 por SiD#(0) »
|
En línea
|
|
|
|
B|4k3_X
Desconectado
Mensajes: 15
|
Pues la verdad en lo personal prefiero implementar el metodo POST que el GET en formularios, y pues el hydra es mas para bruteforcing y en la actualidad los ids de los servidors ya se encargan de eso.
Es mas facil intentar algun Bypass o el cookiepoison, xss o algo similar que a fuerza bruta.
|
|
|
|
|
En línea
|
|
|
|
SiD#(0)
Desconectado
Mensajes: 13
|
Wenas... Entiendo entonces que si un formulario el cual funciona con el método POST para la validación de usuarios, evita que mediante el método GET se pueda realizar bruteforcing verdad?  o...no evita nada.. me gustaría saber si es una buena contramedida....  Pienso lo mismo que tu B|4k3_X bruteforcing como su nombre indica es muy agresivo, tanto que su detección por los IDS es en al "acto" , hay otras maneras de robo de sesión más "sutiles" a la vez de sofisticadas. 
|
|
|
|
|
En línea
|
|
|
|
pepeluxx
Desconectado
Mensajes: 254
Todos los días se aprende algo nuevo
|
Lo importante no es que tu en el formulario pongas metodo POST sino que al recibir los datos en la pagina correspondiente te asegures de recibirlos por POST.
Por ejemplo, si mandar un form method="POST" debes luego recoger algo asi:
$valor = $_POST['valor']
si no haces eso, te los podran colar por GET
|
|
|
|
|
En línea
|
|
|
|
|
|
pepeluxx
Desconectado
Mensajes: 254
Todos los días se aprende algo nuevo
|
Porque no importa como mandes los datos (desde la barra de direcciones a traves de un GET) o metiante un formulario usando POST. Lo importante es como se reciben:
$_GET['valor'] $_POST['valor']
Si quieres que solo te manden datos desde POST debes capturar luego esos datos con un $_POST
|
|
|
|
|
En línea
|
|
|
|
SiD#(0)
Desconectado
Mensajes: 13
|
Porque no importa como mandes los datos (desde la barra de direcciones a traves de un GET) o metiante un formulario usando POST. Lo importante es como se reciben:
$_GET['valor'] $_POST['valor']
Si quieres que solo te manden datos desde POST debes capturar luego esos datos con un $_POST
Por eso mismo en mucho sitios web con formularios que admiten unicamente el método POST les pueden hacer bruteforcing de passwords por método GET.
|
|
|
|
|
En línea
|
|
|
|
pepeluxx
Desconectado
Mensajes: 254
Todos los días se aprende algo nuevo
|
De todas formas eso no es una medida de seguridad. Desde cualquier aplicacion puedes hacer un bruteforce por POST
|
|
|
|
|
En línea
|
|
|
|
satan69
Desconectado
Mensajes: 308
|
De todas formas eso no es una medida de seguridad. Desde cualquier aplicacion puedes hacer un bruteforce por POST
mira el ejemplo... <?php $da = fsockopen("www.example.com", 80, $errno, $errstr, 30); if (!$da) { echo "$errstr ($errno)<br />\n"; } else { $salida = "GET /archivo.php?user=chele&pass=chele666 HTTP/1.1\r\n"; $salida .= "Host: www.example.com\r\n"; $salida .= "Connection: Close\r\n\r\n";
fwrite($da, $salida); while (!feof($da)) { echo fgets($da, 128); } fclose($da); } ?>
sacado de www.php.neten ese ejemplo se mira cuando envias parametros a cualquier archivo.. tonces podes hacer una funcion de bruteforce y asi mirar el resultado de la respuesta del servidor... eso hablando de metodo get... y hablando de metodo post podes leer los headers y asi enviar los datos al servidor ejemplo $data_end = "username=&password=&txtContador=0"; $data = "POST /foros/login.php HTTP/1.0\r\n"; $data .= "Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-shockwave-flash, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/msword, */*\r\n"; $data .= "Referer: http://www.examplo.com/\r\n"; $data .= "Accept-Language: es-mx\r\n"; $data .= "Content-Type: application/x-www-form-urlencoded\r\n"; $data .= "Proxy-Connection: Keep-Alive\r\n"; $data .= "User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322; InfoPath.2)\r\n"; $data .= "Host: www.example.com.ni\r\n"; $data .= "Content-Length: ".strlen($data_end)."\r\n"; $data .= "Pragma: no-cache\r\n\r\n"; $data .= $data_end."\r\n\r\n"; $cnx = @fsockopen("www.example.comi",80); if($cnx){ fwrite($cnx, $data); fclose($cnx);}
aqui se envian los headers ... para despues enviar los datos y asi agregarle la opcion de ver la respuesta del servidor... saludos xD
|
|
|
|
|
En línea
|
|
|
|
pepeluxx
Desconectado
Mensajes: 254
Todos los días se aprende algo nuevo
|
Exactamente ... como bien dice satan69, eso serian dos ejemplos de conexion GET y POST. Como ves, en ambos casos se podria hacer un bruteforce y, en ambos casos, tendrias que hacer un estudio de lo que devuelve (OK o ERROR) analizando la pagina.
SiD#(0), Supongo que no hara falta que te diga que cada envio que hagas queda registrado en el log del servidor y que hacer un ataque de fuerza bruta es un delito
|
|
|
|
« Última modificación: 09 Abril 2008, 22:21 por pepeluxx »
|
En línea
|
|
|
|
SiD#(0)
Desconectado
Mensajes: 13
|
Exactamente ... como bien dice satan69, eso serian dos ejemplos de conexion GET y POST. Como ves, en ambos casos se podria hacer un bruteforce y, en ambos casos, tendrias que hacer un estudio de lo que devuelve (OK o ERROR) analizando la pagina.
SiD#(0), Supongo que no hara falta que te diga que cada envio que hagas queda registrado en el log del servidor y que hacer un ataque de fuerza bruta es un delito
Efectivamente no hace falta que me digas nada  pq mis intenciones son unicamente las de entender el funcionamiento de los formularios y sus contramedidas ante ataques de fuerza bruta o diccionario. Echaré un vistazo a los ejemplos de código de formularios para probar reacciones de la aplicación web como el comportamiento de THC Hydra, Brutus Etc... Es un tema que me interesa y del que necesito aprender cosas. Gracias por los ejemplos 
|
|
|
|
|
En línea
|
|
|
|
satan69
Desconectado
Mensajes: 308
|
Exactamente ... como bien dice satan69, eso serian dos ejemplos de conexion GET y POST. Como ves, en ambos casos se podria hacer un bruteforce y, en ambos casos, tendrias que hacer un estudio de lo que devuelve (OK o ERROR) analizando la pagina.
SiD#(0), Supongo que no hara falta que te diga que cada envio que hagas queda registrado en el log del servidor y que hacer un ataque de fuerza bruta es un delito
Efectivamente no hace falta que me digas nada  pq mis intenciones son unicamente las de entender el funcionamiento de los formularios y sus contramedidas ante ataques de fuerza bruta o diccionario. Echaré un vistazo a los ejemplos de código de formularios para probar reacciones de la aplicación web como el comportamiento de THC Hydra, Brutus Etc... Es un tema que me interesa y del que necesito aprender cosas. Gracias por los ejemplos  no hay problema... estamos para ayudarte...
|
|
|
|
|
En línea
|
|
|
|
|
Páginas: [1]
|
|
|
|