Explorando la web con Python | Urllib2

Información importante del blog 

Hoy estaba en medio de un pentest y he recordado la utilidad que tiene en determinadas ocasiones el programar nuestras propias herramientas para analizar aplicaciones web, en este caso vamos a empezar a hablar de la programación de scripts con Python haciendo uso de la librería Urllib2.

El uso es bastante sencillo.

import urllib2

connect = urllib2.urlopen(“https://cyberh992017.wordpress.com”)

print connect.read()

Con este sencillo script lo que estamos haciendo es conectarnos a una web ( mi blog en este caso ) y descargar la información que tiene, sin embargo, como estamos realizando una consulta básica no obtendremos el contenido el JavaScript u otro lenguaje de scripting que sea utilizado por el navegador, dicho esto el resultado sería el siguiente.

Ejemplo de consulta básica con urllib2

Este ejemplo esta muy bien, pero al navegar por internet, entra en juego las cabeceras, concretamente el User-Agent, que es utilizado por las páginas web para identificar al navegador dentro de internet. En el siguiente ejemplo usaremos urllib2, pero modificando las cabeceras y agregando un User-Agent

import urllib2

url =”https://cyberh992017.wordpress.com”

headers = {}

headers[‘user-agent’]= “GoogleBot”

peticion = urllib2.Request(url, headers=headers)

respuesta = urllib2.urlopen(peticion)

print repuesta.read()

respuesta.close()

Con este script estamos definiendo el valor de los header como un diccionario ( puesto que al conectarnos dicho diccionario se irá completando ) y añadimos la opción que nos interesa modificar a nuestro antojo ( en este caso el user-agent  para hacernos pasar por un robot de Google )

Consulta con urllib2 y User-agent personalizado

Si queremos ver todos los headers de la conexión anterior sería tan simple como realizar lo siguiente:

import urllib2

respuesta = urllib2.urlopen(“https://cyberh992017.wordpress.com”)

for header, value in respuesta.headers.items():

print “%s:%s”%(header,value)

 

Información de las cabeceras de una conexión

 

Con esto tenemos las funciones básicas de urllib2, en próximos post veremos como podemos usarlo con proxy y la forma de autenticación en formularios web.

@cyberh99

Anuncios

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión /  Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión /  Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión /  Cambiar )

Conectando a %s