Que tipo de programación es necesario para....

Iniciado por Fox_Neo, 15 Junio 2010, 20:34 PM

0 Miembros y 1 Visitante están viendo este tema.

Fox_Neo

Hola  me gustaría saber como se puede introducir automáticamente valores en  una web  como los típicos nombre y contraseña,  al ejecutar un código (no se que tipo de programación es necesaria :huh:) , algo parecido a la función de recordar contraseña de Firefox o a lo que hace el JDonwloader con los capchas que los pone automáticamente.  Gracias.

Salu2.  

TeKNo dUKe

A ver, si lo que quieres es rellenar formularios hay varias extensiones para firefox o ie que hacen eso, reconocer captchas no es nada facil.


"Lucy is an artist. Lucy paints pictures of Barbara Streisand"

Fox_Neo

Lo que quiero es crear un programa que entre en mi router automáticamente (para eso hay  que poner el usuario y el pass) y una vez dentro que vaya cambiando la MAC del router cada vez que se ejecute, no creo que con una apliación de rellenar formularios  pueda ponerme las direcciones MAC.
Cita de: TeKNo dUKe en 15 Junio 2010, 20:46 PM
reconocer captchas no es nada facil.



No he dicho nada de reconocer los captchas  eso ya intuyo que no es nada fácil, pero a lo que me refería era a como sabe el Jdonwloader  donde introducir las letras.  Espero que ahora me entiendas por qué he puesto el ejemplo del JDonwloader  ;)

TeKNo dUKe

Que interface tiene el router, como entras para cambiar los datos, porque si se hace enviando un formulario desde una web (por ejemplo el mio es asi) es cuestion de hacer un programa que le mande a la direccion local los mismos datos por post.

"Lucy is an artist. Lucy paints pictures of Barbara Streisand"

Fox_Neo

Si es vía web aparece una ventanita y hay que introducir el pass y el nombre
  y ya que mencionas lo de datos Post una vez se me ocurrió cogerlos con el tamperdata de firefox pero no lo supe interpretar  :-\


TeKNo dUKe

Baja el Firebug para Firefox, navega la pantalla de login, ahi vas a tener en el html que buscar los datos del form, el method (para saber como envia la info), los text user y password y fijarte si no envia ningun campo hidden que pueda estar enviando alguna información adicional, y obviamente el action que es donde se va a enviar el formulario. Ya con esos datos puedes hacer un programa en el lenguaje que conozcas que envie por "method" un formulario identico a ese a la direccion donde se envia el formulario de login, o sea, al "action" de ese form.

Si haces esa parte, hacer otros formularios va a ser lo mismo.-


"Lucy is an artist. Lucy paints pictures of Barbara Streisand"

Fox_Neo

#6
ok muchas gracias Tekno duke por la respuesta  lo puesto en funcionamiento pero hay un problema no sale el código a la hora de meter el pass y el usuario asi que no puedo pillar los datos:


cuando entro si que me aparece el código pero el de la pestaña del router en donde esté, por ejemplo en la pestaña para cmabiar la MAC aparece esto No lo pongo en forma de code porque no entra todo ya que pone tambien los JScript, si es necesario los subo en un archivo de texto):


y esta es la pestaña del cambio de MAC:


El TamperData me muestra lo siguiente al aparecer la ventana de introducir el pass y el nombre:

0:07:17.081[194ms][total 194ms] Estado: 401[Unauthorized]
GET http://192.168.1.1/ Indicadores cargados[VALIDATE_ALWAYS LOAD_DOCUMENT_URI  LOAD_INITIAL_DOCUMENT_URI  ] Tamaño[-1] Tipo Mime[text/html]
  Cabeceras pedidas:
     Host[192.168.1.1]
     User-Agent[Mozilla/5.0 (Windows; U; Windows NT 5.1; es-ES; rv:1.9.2.3) Gecko/20100401 Firefox/3.6.3 ( .NET CLR 3.5.30729)]
     Accept[text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8]
     Accept-Language[es-es,es;q=0.8,en-us;q=0.5,en;q=0.3]
     Accept-Encoding[gzip,deflate]
     Accept-Charset[ISO-8859-1,utf-8;q=0.7,*;q=0.7]
     Keep-Alive[115]
     Connection[keep-alive]
     Cache-Control[max-age=0]
  Cabeceras recibidas:
     Server[Apache]
     Pragma[no-cache]
     Cache-Control[max-age=0, must-revalidate]
     Connection[close]
     Content-Type[text/html]
     WWW-Authenticate[Basic realm="WRT120N"]


Fox_Neo

Tekno duke he buscado por goolge y he encontrado un Jcript  que la gente usa para  reiniciar el router, en el code viene una parte que me puede interesar que es la que introduce automáticamente  el pass y el nombre es el siguiente código:
Código (js) [Seleccionar]
// Configuración

URL_DESCONECTAR="http://IPDELROUTER/status.cgi";
ContentTypeDesconectar="application/x-www-form-urlencoded";
ContentLengthDesconectar="33";
POSTDATADesconectar="release=Desconexi%F3n&ctype=pppoe";

URL_CONECTAR="http://192.168.1.1/status.cgi";
ContentTypeConectar="application/x-www-form-urlencoded";
ContentLengthConectar="27";
POSTDATAConectar="renew=+Conecte+&ctype=pppoe";

admin="modificarEsto";
pass="modificarEsto";

// Fin de la parte de configuración

var WinHttpReq = new ActiveXObject("WinHttp.WinHttpRequest.5.1");

function send(URL_POST,CT,CL,CD)
{
  HTTPREQUEST_SETCREDENTIALS_FOR_SERVER = 0;
 
  WinHttpReq.open( "POST", URL_POST , false );

  // No cambiar la palabra "modificarEsto" en las líneas que siguen, porque se usan para saber si
  // has ingresado user y password en la parte de configuración de mas arriba.
  if (admin!="modificarEsto" || pass!="modificarEsto")
  {
WinHttpReq.SetCredentials( admin, pass, HTTPREQUEST_SETCREDENTIALS_FOR_SERVER);
  }
  WinHttpReq.SetRequestHeader("Content-Type", CT);
  WinHttpReq.SetRequestHeader("Content-Length", CL);
 
  WinHttpReq.send(CD);
};

function conectar()
{
send(URL_CONECTAR,ContentTypeConectar,ContentLengthConectar,POSTDATAConectar)
};

function desconectar()
{
send(URL_DESCONECTAR,ContentTypeDesconectar,ContentLengthDesconectar,POSTDATADesconectar)
};

desconectar(); //Enviamos desconectar
WScript.Sleep(10000); // esperamos 10 seg

conectar(); //Enviamos conectar
WScript.Sleep(1000);  // esperamos 1 seg

conectar(); // conectar de nuevo, por las dudas???
WScript.Sleep(1000);

conectar();
WScript.Sleep(1000);
 

Lo he modificado para  ver si me podía servir, he de mencionar que no se programación Jscript, lo siguiente lo he hecho por intuición pero no funciona   :¬¬

Código (js) [Seleccionar]
URL_CONECTAR="http://192.168.1.1/status.cgi";
admin="mi usuario";
pass="mi contraseña";

// Fin de la parte de configuración

var WinHttpReq = new ActiveXObject("WinHttp.WinHttpRequest.5.1");

function send(URL_POST,CT,CL,CD)
{
  HTTPREQUEST_SETCREDENTIALS_FOR_SERVER = 0;
 
  WinHttpReq.open( "POST", URL_POST , false );

  // El if lo he quitado porque no tiene que comprobrar que está introducido porque lo pongo directamente en las variables.
  //
 
   WinHttpReq.SetCredentials( admin, pass, HTTPREQUEST_SETCREDENTIALS_FOR_SERVER);
   WinHttpReq.SetRequestHeader("Content-Type", CT);
  WinHttpReq.SetRequestHeader("Content-Length", CL);
 
  WinHttpReq.send(CD);
};


Alguna sugerencia??

Pd: El js le ejecuto con un bat  guardado en la misma carpeta que el code.
wscript Abrirrouter.js