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.
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:
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