lunes, 15 de noviembre de 2010

Donde digo digo, digo diego

¡Ay esas cabezas! Quiero decir... Cabeceras. Hoy quiero seguir jugango con los cambios en los datos que se envian al servidor. Ya me puse un poco pesado con lo que al tamper data I y II se refiere. Ahora, quiero jugar con otras cosas que se podrían hacer con ese programita. Pero, vamos a ver otro para cambiar un poco.

El que quiero enseñar es un proxy local. Al menos, lo voy a llamar así. Este proxy local se llama burp proxy.

Burp proxy

Lo primero que hay que hacer es configurar el proxy para que funcione en un puerto determinado:

Puerto por el que se escucha

Y, configurar el sistema operativo para que la conexión funcione por un proxy y su puerto determinado. En este caso, será en localhost:8080:

Configurando las conexiones

Ahora podemos jugar con este proxy. Sólo para rellenar un poquito más, y para repetirme en una captura, este programa también cambia los datos tal y como hice con el tamper

Modificando datos de javascript

Ahora, vamos a lo que quería hacer. Pongamos un ejemplo. Visitemos el sitio danasoft. Si miramos la zona que tienen para customizar la "firma", nos encontramos con la siguiente imagen:  

Firma sin modificación 

Ahora, vamos a modificar el resultado del cartel. Lo primero, el proxy tiene que estar interceptando (intercept is on). Ahora, tendremos que ir a la sección que muestro a continuación:

Cambios a realizar 

Hay que tener en cuenta las secciones marcadas en rojo.
  1. Marcar el check de User-Agent.
  2. Pulsar el botón edit.
  3. Introducir los datos deseados en el textbox del cuadro rojo de más abajo de la imagen. Una vez se han introducido, hay que pulsar el botón update. ¿Qué datos vamos a introducir? Pues, la verdad, hay alguna sección que no se qué hace, pero las que he tocado me han permitido engañar al cartel.
Esta es la cadena que tiene por defecto:

 User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)

Y, esto es lo que vamos a poner:

User-Agent: compatible; MSIE 4.0; Windows NT 4.0;

¿Cómo? Pues sí. Me ha costado mucho más que ayer. Ayer hice la prueba cambiando dos valores y no conseguí hacerlo funcionar en muy poco tiempo. Pero ahora, haciendo pocos cambios, como puede ser cambiar el número de la versión, no me ha funcionado. Lo que he tenido que hacer es buscar las cabeceras que se envíaban originalmente, copiarlas, pegarlas y hacer el cambio deseado (y quitarle morralla que sin ellas los ejemplos seguían funcionando).

Así, he conseguido hacer esto: 


Cambio realizado: IE4 en NT 4.0 pero es IE8 en Vista

Ahora. ¿Y si quisiéramos... poner que es Linux?

User-Agent: compatible; MSIE 4.0; Linux;

Obtenemos: 

Cambio realizado: IE4 en Linux pero es IE8 en Vista


Vamos a ir más allá. ¿Y si quisiéramos que dijera que es otro navegador estando en Linux? Por ejemplo... Konkeror.
 
User-Agent: compatible; Konqueror/3; Linux;
 
Este es el resultado, lo menos, curioso:

Resultado curioso al intentar poner Konkeror

Y ya está. No voy a poner más porque con estos ejemplos ya se tiene una idea de lo que quería mostrar. A tener en cuenta que hay que acordarse de que para enviar estas cabeceras hay que estar capturándolas y modificándolas tal y como se hacía con javascript. Con la única diferencia en que en este caso, el dato modificado ya está en un campo y sólo hay que darle al botón de "forward". En estas presentaciones he tenido que desactivarlo de vez en cuando porque me estaba dando problemas a la hora de subir las fotos. ¿Qué más? Sí. Alguna imagen de las que he puesto de los cambios realizados las he hecho después de darme cuenta de que las originales ocupaban demasiado.

Si a alguno se le ocurre otras cosas que hacer con las cabeceras, bienvenidas sean aquí.

No hay comentarios:

Publicar un comentario