elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Introducción a Git (Primera Parte)


+  Foro de elhacker.net
|-+  Foros Generales
| |-+  Dudas Generales (Moderador: engel lex)
| | |-+  Automatizar "tareas" en la web parte 2
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Automatizar "tareas" en la web parte 2  (Leído 2,055 veces)
KINGARZA

Desconectado Desconectado

Mensajes: 33

Facebook: Luis Garza


Ver Perfil
Automatizar "tareas" en la web parte 2
« en: 19 Enero 2018, 11:05 am »

Buenas a todos!!

Hace poco tenia la siguiente cuestión:
https://foro.elhacker.net/dudas_generales/automatizar_tareas_en_la_web-t479005.0.html

Gracias a su apoyo he tenido un gran avance pero tengo una duda que no he encontrado como resolverla...

Antes que nada he hecho un formulario, el cual consta de 4 campos:
*ID
*Fecha de nacimiento

Cuando el usuario ingresa la información correcta (Id = A5 Dia = 1 Mes = 2 año = 3) en un nueva pagina se le da el mensaje de bienvenida, de lo contrario se abre una nueva pagina con el mensaje sigue intentando.

El problema es que supongamos el usuario olvida su contraseña y no hay otra manera de obtenerla mas que usando la bruta, el sabe que el ID solo consta de una letra mayúscula del alfabeto ingles y un numero, es decir el total de combinaciones posibles seria:
26 * 10 * 5 * 5 * 5 = 32500

Notar que la ID en este caso consta de una letra mayúscula del alfabeto ingles y un numero, los demás datos (día, mes, año) están limitados a 5 valores.

Intentar manualmente esas 32,500 combinaciones seria prácticamente imposible...

Encontré la manera de acceder desde el DOM a los campos del formulario:

document.getElementsByTagName("form")[0].ID.value
document.getElementsByTagName("form")[0].dia.value
document.getElementsByTagName("form")[0].mes.value
document.getElementsByTagName("form")[0].año.value
document.getElementById("Enviar").click()


Mi pregunta es la siguiente:

Como puedo intentar todas las posibles combinaciones hasta que ingrese los datos correctos, es decir, hasta que el formulario me envié a la pagina de bienvenido?

Mi idea es la siguiente (pero no se como llevarla acabo):

A cada campo del formulario le asigno el valor de una posible combinación, por ejemplo:

document.getElementsByTagName("form")[0].ID.value = "A1"
document.getElementsByTagName("form")[0].dia.value = "1"
document.getElementsByTagName("form")[0].mes.value = "1"
document.getElementsByTagName("form")[0].año.value = "1"
document.getElementById("Enviar").click()

Y después encuentro la manera de pegar ese código en la consola (cuando damos inspeccionar pagina) y si me da el mensaje de bienvenida pues excelente, allí paro, sino seguir intentado las demás combinaciones...

Dejo el código del formulario en HTML Y javascript y el generador de combinaciones en lenguaje C++

Código
  1. <html>
  2.  
  3. <head>
  4. <title>"Example 1"</title>
  5. </head>
  6.  
  7. <body>
  8.  
  9. <h1>Formulario</h1>
  10. <br/>
  11.  
  12. <form target = "_blank" action = ""  method = "POST">
  13.  
  14. <input type = "text" id = "ID", name = "ID" placeholder = "Introduce tu ID aqui">
  15. <select id = "dia" name = "dia">
  16. <option value = "0">Selecciona el Dia</option>
  17. <option value = "1">01</option>
  18. <option value = "2">02</option>
  19. <option value = "3">03</option>
  20. <option value = "4">04</option>
  21. <option value = "5">05</option>
  22. </select>
  23. <select id = "mes" name = "mes">
  24. <option value = "0">Selecciona el Mes</option>
  25. <option value = "1">01 Enero</option>
  26. <option value = "2">02 Febrero</option>
  27. <option value = "3">03 Marzo</option>
  28. <option value = "4">04 Abril</option>
  29. <option value = "5">05 Mayo</option>
  30. </select>
  31. <select id = "año" name = "año">
  32. <option value = "0">Selecciona el año</option>
  33. <option value = "1">2001</option>
  34. <option value = "2">2002</option>
  35. <option value = "3">2003</option>
  36. <option value = "4">2004</option>
  37. <option value = "5">2005</option>
  38. </select>
  39. <br/>
  40. <br/>
  41. <input type = "submit" id = "Enviar" name = "Enviar" value = "Enviar" onclick = "Evaluar()">
  42.  
  43. </form>
  44.  
  45. <script>
  46. function Evaluar(){
  47. var ID = document.getElementById("ID").value,
  48. Dia = document.getElementById("dia").value,
  49. Mes = document.getElementById("mes").value,
  50. año = document.getElementById("año").value;
  51. if(ID === "A5" && Dia === "1" && Mes === "2" && año === "3")
  52. document.write("Bienvenido");
  53. else
  54. document.write("Sigue intentado");
  55. }
  56. </script>
  57. </body>
  58. </html>
  59.  

Código
  1. #include<bits/stdc++.h>
  2. using namespace std;
  3.  
  4. vector<string>Combinacion;
  5.  
  6. void genera_combinaciones(){
  7.    for(char i = 'A'; i <= 'Z'; i++)
  8.        for(char j = '0'; j <= '9'; j++){
  9.            string cad = "";
  10.            cad.push_back(i);
  11.            cad.push_back(j);
  12.            Combinacion.push_back(cad);
  13.        }
  14. }
  15.  
  16. int main(){
  17.    ofstream File("Combinaciones.txt");
  18.    int t = 0;
  19.    genera_combinaciones();
  20.    for(int i = 0; i < Combinacion.size(); i++)
  21.        for(int dia = 1; dia <= 5; dia++)
  22.            for(int mes = 1; mes <= 5; mes++)
  23.                for(int año = 1; año <= 5; año++)
  24.                    File<<Combinacion[i]<<" "<<dia<<" "<<mes<<" "<<año<<"\n", t++;
  25.    File<<"Total de combinaciones: "<<t;
  26.    File.close();
  27. }
  28.  
Gracias por tu atencion :rolleyes:


« Última modificación: 19 Enero 2018, 11:08 am por KINGARZA » En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines