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

 

 


Tema destacado: Sigue las noticias más importantes de seguridad informática en el Twitter! de elhacker.NET


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP)
| | | |-+  Programación Visual Basic (Moderadores: LeandroA, seba123neo)
| | | | |-+  Averiguar nombre de textbox y button de web para login
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] 2 Ir Abajo Respuesta Imprimir
Autor Tema: Averiguar nombre de textbox y button de web para login  (Leído 5,501 veces)
jor1980

Desconectado Desconectado

Mensajes: 30


Ver Perfil
Averiguar nombre de textbox y button de web para login
« en: 29 Junio 2010, 13:04 pm »

Hola a todos, he creado una pequeña aplicación con el objetivo de loguearme automáticamente a una página de la fifa, este código fue creado para loguearse a gmail y el problema es que no se como averiguar el nombre que la pagina le da al textbox usuario y contraseña.

Por otro lado además me crea el siguiente problema, cuando depuro el programa por primera me abre el explorer sin problema, pero si cierro esa ventana del explorer si haber detenido la depuración cuando vuelvo a tratar de depurar no me llega a abrir el explorer hasta que voy a administrador de tareas y finalizo el proceso iexplorer.

Aquí os dejo el codigo a ver si me orientais sobre como puedo averiguar el nombre del textbox usuario y contraseña para rellernarlos:

'no hagais mucho caso a los comentarios del código ya que es un borrador

Código:
Public Sub LaunchGamil()
        'Sirve para loguearse en una web, abrirla, leer html, etc..
        'usa el control de objetos html y el internet control(ver referencias)
        'http://mail.google.com

        Const strURL_c As String = "http://es.fifa.com/theclub/login.htmx"
        Const strUsr_c As String = "aquielcorreo"
        Const strPwd_c As String = "aquilacontraseña"
        Dim objIE As SHDocVw.InternetExplorer
        Dim ieDoc As mshtml.HTMLDocument
        Dim tbxPwdFld As mshtml.HTMLInputElement
        Dim tbxUsrFld As mshtml.HTMLInputElement
        Dim btnSubmit As mshtml.HTMLInputElement
        On Error GoTo Err_Hnd
        'Create Internet Explorer Object
        objIE = New SHDocVw.InternetExplorer
        'Navigate the URL
        objIE.Navigate(strURL_c)
        'Wait for page to load
        Do Until objIE.ReadyState = SHDocVw.tagREADYSTATE.READYSTATE_COMPLETE : Loop
        'Get document object
        ieDoc = objIE.Document

        'prueba para averiguar los nombres de los items dentro de la web
        For Each HtmlElementCollection In ieDoc.all
            RichTextBox1.Text += HtmlElementCollection.ToString
        Next

        'Get username/password fields and submit button.
        'Passwd,Email,signIn

        tbxPwdFld = ieDoc.all.item("Passwd")
        tbxUsrFld = ieDoc.all.item("Email")
        btnSubmit = ieDoc.all.item("signIn")
        'Fill Fields
        tbxUsrFld.value = strUsr_c
        tbxPwdFld.value = strPwd_c
        'Click submit
        btnSubmit.click()
        'Wait for page to load
        Do Until objIE.ReadyState = SHDocVw.tagREADYSTATE.READYSTATE_COMPLETE : Loop
Err_Hnd:  '(Fail gracefully)
        objIE.Visible = True
    End Sub


En línea

raul338


Desconectado Desconectado

Mensajes: 2.633


La sonrisa es la mejor forma de afrontar las cosas


Ver Perfil WWW
Re: Averiguar nombre de textbox y button de web para login
« Respuesta #1 en: 29 Junio 2010, 15:44 pm »

1º Para averiguar el nombrede los textboxes tienes que examinar en el codigo html de la pagina. Usa algun depurador web tipo Firebug o DrangFly

2º SHDocVw.InternetExplorer ???? Usa el control web de microsoft :P


En línea

jor1980

Desconectado Desconectado

Mensajes: 30


Ver Perfil
Re: Averiguar nombre de textbox y button de web para login
« Respuesta #2 en: 29 Junio 2010, 15:58 pm »

1º Para averiguar el nombrede los textboxes tienes que examinar en el codigo html de la pagina. Usa algun depurador web tipo Firebug o DrangFly

2º SHDocVw.InternetExplorer ???? Usa el control web de microsoft :P

Hola gracias por tu respuesta, tengo otro pequeño programita que lee el código html de la página y crea un nuevo documento html usando el control wininet
y ahí creo que puedo leer el nombre de las textbox.

Sería posible loguearme en la web usando winsock y no este código?alguien tiene un ejemplo sobre esto?

Gracias por la ayuda

« Última modificación: 29 Junio 2010, 16:12 pm por jor1980 » En línea

raul338


Desconectado Desconectado

Mensajes: 2.633


La sonrisa es la mejor forma de afrontar las cosas


Ver Perfil WWW
Re: Averiguar nombre de textbox y button de web para login
« Respuesta #3 en: 30 Junio 2010, 00:38 am »

1º Para averiguar el nombrede los textboxes tienes que examinar en el codigo html de la pagina. Usa algun depurador web tipo Firebug o DrangFly

2º SHDocVw.InternetExplorer ???? Usa el control web de microsoft :P

Hola gracias por tu respuesta, tengo otro pequeño programita que lee el código html de la página y crea un nuevo documento html usando el control wininet
y ahí creo que puedo leer el nombre de las textbox.

Sería posible loguearme en la web usando winsock y no este código?alguien tiene un ejemplo sobre esto?

Gracias por la ayuda



Si si, es posible, casi la misma tecnica :P

hace una cosa, busca los "<input type='text'>" y extraele los nombres :)
En línea

jor1980

Desconectado Desconectado

Mensajes: 30


Ver Perfil
Re: Averiguar nombre de textbox y button de web para login
« Respuesta #4 en: 30 Junio 2010, 13:06 pm »

he probado haciendo busqueda del texto que pone al lado de las textbox, y me funcionó, el problema me surje con el botón de enviar, porque al ejecutar la linea:

btnSubmit = ieDoc.all.item("signIn")
da error(el nombre no es signin pero ahora no recuerdo el real)

el error que me da es el siguiente:
no se puede convertir en un objeto de tipo mshtml.HTMLDivElementClass al tipo
mshtml.HTMLInputElement

En el código el botón singIn aparece como:
input type="submit"

no se si eso servirá de ayuda
« Última modificación: 30 Junio 2010, 14:05 pm por jor1980 » En línea

raul338


Desconectado Desconectado

Mensajes: 2.633


La sonrisa es la mejor forma de afrontar las cosas


Ver Perfil WWW
Re: Averiguar nombre de textbox y button de web para login
« Respuesta #5 en: 30 Junio 2010, 15:42 pm »

Piensa! no tiene nombre, y estas obteniendo el contenedor! lo tienes casi servido!

Usando el contenedor, recorre todos los hijos, y si el hijo es un input de tipo submit (y si en caso haya mas de uno xD, comprueba que tiene el texto "Enviar") es ese, y lo separas a otro objeto :)

Luego le haces click y wala :xD
En línea

jor1980

Desconectado Desconectado

Mensajes: 30


Ver Perfil
Re: Averiguar nombre de textbox y button de web para login
« Respuesta #6 en: 30 Junio 2010, 17:16 pm »

Piensa! no tiene nombre, y estas obteniendo el contenedor! lo tienes casi servido!

Usando el contenedor, recorre todos los hijos, y si el hijo es un input de tipo submit (y si en caso haya mas de uno xD, comprueba que tiene el texto "Enviar") es ese, y lo separas a otro objeto :)

Luego le haces click y wala :xD

Gracias de nuevo, pero no entendí lo que querías decir, no se html, espero no volverte loco, podrías explicarme un poco más como hacer eso que dices? perdona por darte tantas molestias

Lo que he hecho ahora es cambiar lo siguiente:

Dim btnSubmit As mshtml.HTMLDivElement
 btnSubmit = ieDoc.all.item("d_buttons")
btnSubmit.click()

basándome en esta línea de html:
<div id="d_buttons"><input type="submit" id="btn_login" name="btn_login" value="Iniciar sesión" class="btnB" /></div>

no da errores, me rellena las textbox, pero no parece que haga click y no inicia sesión
« Última modificación: 30 Junio 2010, 18:13 pm por jor1980 » En línea

raul338


Desconectado Desconectado

Mensajes: 2.633


La sonrisa es la mejor forma de afrontar las cosas


Ver Perfil WWW
Re: Averiguar nombre de textbox y button de web para login
« Respuesta #7 en: 30 Junio 2010, 17:37 pm »

Mira, segun creo yo. Cada control contenedor es como una colleccion de controles. Sabes usar colecciones/arrays ?

BUeno, esto es igual, seria algo asi

Código
  1. For Each control as HTMLControl In contenedor.Childs
  2.   if control.Text = "Enviar" Then
  3.           ' Es el boton!
  4.           control.Click
  5.   End if
  6. NExt
  7.  
En línea

jor1980

Desconectado Desconectado

Mensajes: 30


Ver Perfil
Re: Averiguar nombre de textbox y button de web para login
« Respuesta #8 en: 30 Junio 2010, 18:25 pm »

Mira, segun creo yo. Cada control contenedor es como una colleccion de controles. Sabes usar colecciones/arrays ?

BUeno, esto es igual, seria algo asi

Código
  1. For Each control as HTMLControl In contenedor.Childs
  2.   if control.Text = "Enviar" Then
  3.           ' Es el boton!
  4.           control.Click
  5.   End if
  6. NExt
  7.  
  8.  

Contestamos justo a la vez je je, te había puesto que cambié lo siguiente:

Dim btnSubmit As mshtml.HTMLDivElement
 btnSubmit = ieDoc.all.item("d_buttons")
btnSubmit.click()

basándome en esta línea de html:
<div id="d_buttons"><input type="submit" id="btn_login" name="btn_login" value="Iniciar sesión" class="btnB" /></div>

No da errores pero parece que no hace click,Sabes por qué?

Estaba probando el código que me acabas de postear pero no encuentro el espacio de nombres que contiene HTMLControl.

He logrado hacer funcionar el botón para registrarse logrando que funcione la función de hacer click, ese botón es un HtlmlInputElement.

Mientras que el botón Iniciar sesión es un HTMLDivElement y no logro ejecutar la función hacer click

Muchas gracias por todo
« Última modificación: 1 Julio 2010, 01:04 am por jor1980 » En línea

raul338


Desconectado Desconectado

Mensajes: 2.633


La sonrisa es la mejor forma de afrontar las cosas


Ver Perfil WWW
Re: Averiguar nombre de textbox y button de web para login
« Respuesta #9 en: 1 Julio 2010, 22:39 pm »

Dim btnSubmit As mshtml.HTMLDivElement
 btnSubmit = ieDoc.all.item("d_buttons")
btnSubmit.click()

basándome en esta línea de html:
<div id="d_buttons"><input type="submit" id="btn_login" name="btn_login" value="Iniciar sesión" class="btnB" /></div>

No da errores pero parece que no hace click,Sabes por qué?

He logrado hacer funcionar el botón para registrarse logrando que funcione la función de hacer click, ese botón es un HtlmlInputElement.
Mientras que el botón Iniciar sesión es un HTMLDivElement y no logro ejecutar la función hacer click
Si! vos estas obteniendo el div como dije. Tenes que obtener el boton input. Basandote en la linea seria
Código
  1. Dim btnSubmit As mshtml.HtlmlInputElement
  2. btnSubmit = ieDoc.all.item("btn_login")
  3. btnSubmit.click()
  4.  
Para ejecutar el click, hazlo igual que el boton registrarse
En línea

Páginas: [1] 2 Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
¿ Como hago para que un radiobutton rebote en un button ?
.NET (C#, VB.NET, ASP)
arts 2 2,667 Último mensaje 18 Junio 2013, 04:18 am
por XresH
Averiguar nombre de herramienta
Hacking
Usuario125 1 3,059 Último mensaje 15 Mayo 2020, 18:02 pm
por EdePC
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines