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
<html> <head> <title>"Example 1"</title> </head> <body> <h1>Formulario</h1> <br/> <form target = "_blank" action = "" method = "POST"> <input type = "text" id = "ID", name = "ID" placeholder = "Introduce tu ID aqui"> <select id = "dia" name = "dia"> <option value = "0">Selecciona el Dia</option> <option value = "1">01</option> <option value = "2">02</option> <option value = "3">03</option> <option value = "4">04</option> <option value = "5">05</option> </select> <select id = "mes" name = "mes"> <option value = "0">Selecciona el Mes</option> <option value = "1">01 Enero</option> <option value = "2">02 Febrero</option> <option value = "3">03 Marzo</option> <option value = "4">04 Abril</option> <option value = "5">05 Mayo</option> </select> <select id = "año" name = "año"> <option value = "0">Selecciona el año</option> <option value = "1">2001</option> <option value = "2">2002</option> <option value = "3">2003</option> <option value = "4">2004</option> <option value = "5">2005</option> </select> <br/> <br/> <input type = "submit" id = "Enviar" name = "Enviar" value = "Enviar" onclick = "Evaluar()"> </form> <script> function Evaluar(){ var ID = document.getElementById("ID").value, Dia = document.getElementById("dia").value, Mes = document.getElementById("mes").value, año = document.getElementById("año").value; if(ID === "A5" && Dia === "1" && Mes === "2" && año === "3") document.write("Bienvenido"); else document.write("Sigue intentado"); } </script> </body> </html>
Código
Gracias por tu atencion
#include<bits/stdc++.h> using namespace std; vector<string>Combinacion; void genera_combinaciones(){ for(char i = 'A'; i <= 'Z'; i++) for(char j = '0'; j <= '9'; j++){ string cad = ""; cad.push_back(i); cad.push_back(j); Combinacion.push_back(cad); } } int main(){ ofstream File("Combinaciones.txt"); int t = 0; genera_combinaciones(); for(int i = 0; i < Combinacion.size(); i++) for(int dia = 1; dia <= 5; dia++) for(int mes = 1; mes <= 5; mes++) for(int año = 1; año <= 5; año++) File<<Combinacion[i]<<" "<<dia<<" "<<mes<<" "<<año<<"\n", t++; File<<"Total de combinaciones: "<<t; File.close(); }