Login web python

Iniciado por campe43, 19 Mayo 2011, 02:03 AM

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

campe43

Hola a todos. Estoy intentando poder hacer login con python automáticamente en una web. He mirado multitud de códigos y el que tengo implementado es así:

import urllib2, cookielib, re

url = 'http://www.ejemplo.com/Index.php'; #pagina de ejemplo


username = "***" #put your account here
passwd = "***"   #put your password here


cj = cookielib.CookieJar()

opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cj))

opener.addheaders = [('Referer', url)]

usock = opener.open(url)

the_page = usock.read()

print the_page

usock.close()

El problema es que teniendo el pass y la cuenta bien me sale la misma página que si el login estuviera mal. El posible error puede deberse a que la página en la que me estoy tratando de loguear se llama igual antes del login que después, es decir, en el navegador me aparece antes y después de loguearme como ..../Index.php. Puede ser ese el fallo?

Pd: no sé si está en la sección correcta, si no es así por favor muévanlo y disculpad las molestias. Muchas gracias.

LeXeL

hmm ok primero en el codigo nunca usas el username ni la password...
segundo tienes que ver si la web hace un GET/POST request la gran mayoria lo hacen en post.
Para esto te recomiendo que busques como usar Tamper Data(firefox) y con este programita puedes ver si es POST y el tipo de codificacion que usa el server.

Si es GET pues seria muy muy sencillo aqui te dejo un script para que veas como funciona:
Código (Python) [Seleccionar]

mport urllib
import urllib2
encode = urllib.urlencode({'username':'admin','password':'password','Login':'Login'})
url = "http://localhost/dvwa/vulnerabilities/brute/"
opener = urllib2.build_opener(urllib2.HTTPHandler())
opener.addheaders = [('User-agent', 'Mozilla/4.0 (compatible; MSIE 5.5; Windows NT)')]
urllib2.install_opener(opener)
source = urllib2.urlopen(url+'?'+encode)
source.read()


Cualquier duda enviame un PM y con gusto te ayudo