lunes, 25 de octubre de 2010

Tamper Data II

Una vez hemos visto que podemos ver en qué lugar se encuentran los datos que estamos visitando con el tamper data, podemos jugar un poquito más con esta extensión del firefox.

Ahora nos vamos a saltar los controles que tienen las páginas web en el lado del cliente. ¿Qué significa esto? Significa que si nos encontramos con una página web que está utilizando javascript para obligarnos a introducir unos datos determinados, podamos hacer llegar al servidor lo que nos de la gana. Incluso estructuras que no deberían poderse enviar. La verdad, muchas veces se ha oído hablar sobre los controles que tiene que tener una aplicación web. Entre otros, no fiarse del lado del cliente y siempre comprobar, como mínimo, el lado del servidor. Pero nunca supe cómo hacerlo hasta que en el FTSAI de Informática64 nos mostraron alguna de estas herramientas. Ahora que lo pienso, nunca se me ocurrió buscarlo.

Bueno. Lo mejor será empezar, ¿no?

Lo primero de todo, ir a la página que queremos probar. He realizado una búsqueda en Google. A partir de ahí he ido enlazando página a página. La primera página tiene manuales, entre otros de javascript, que recopilan ejemplos de otras páginas. En este caso, la página del autor tiene el código fuente y además, lo tiene codificado para ver cómo funciona su ejemplo.

El formulario es este:

Formulario vacío

Vamos a introducir datos cualquiera:

Alert del javascript: El nombre no puede tener números

Luego, le vamos a hacer caso y vamos a introducir los datos que nos pide:

 
Alert del javascript: La edad es erronea. Tiene que ser numérica 

Como se puede ver en el pantallazo, me están controlando que la edad sea un número. Así que lo cambio y...

Alert del javascript: La edad es erronea. El rango de edad es erroneo

No sólo me están controlando que la edad sea un número sino que también se encuentre en un rango determinado. Lo corregimos y me controlan que el correo tenga una estructura correcta:

Alert del javascript: La estructura del correo no es la adecuada

Así, vuelvo a corregirlo y tenemos el resultado de enviar el formulario:

Formulario enviado con los datos correctos

El problema está en que no queremos que nos restrinjan qué datos enviar. Aquí es donde entra el tamper data.  Lo primero de todo es volver a la página donde está el formulario y la recargamos para que los datos introducidos antes no aparezcan. Después, y si ya teníamos abierta la extensión, vamos a darle al botón limpiar:

Botón limpiar del tamper data

Ahora, hay que introducir datos que el javascript los dé como válidos. Por ejemplo, los datos anteriores (por no tener que poner otra captura nueva). En el tamper data pulsaremos sobre comenzar modificación y enviaremos el formulario. Lo primero que hará será preguntar si queremos modificar la petición:

¿Modificar petición?

Pulsaremos sobre modificar. Nos saldrá una ventana como esta. Me ha surgido un problema y que mientras que hacía la captura de esta ventana me ha saltado a otra solicitud. Ahora vuelvo a enviar los datos, los modifico y muestro el resultado:

Ventana en la que modificaré los datos


Ahora es el momento de introducir los datos que queremos enviar. Como estoy escribiendo esto a medida que voy haciendo el escenario, he tenido que desactivar la modificación. Sobretodo porque saltan más cosas además del formulario que queremos tratar. En principio vosotros no tenéis que cambiar nada. Al cambiar los datos que hemos enviado por estos otros:

Datos modificados en el tamper data

Nos encontramos con este resultado:

El formulario se ha comido los datos

Ñam, ñam. ¡Qué ricos están estos datos! Se acaban de comer los datos que no querían que enviásemos. ¿Por qué? Porque, tal y como he comentado antes, no han realizado un control de lo que se está recibiendo en el lado del servidor. Si lo hubieran hecho, podrían haber mostrado un mensaje de error También hay que tener en cuenta que hay personas que desactivan javascript, o porque no quieren usarlo o porque su navegador no lo permite, por ejemplo, algunos adaptados a discapacitados.

Por cierto, hay otras cosas que no se para qué son, luego, si tenéis alguna idea, por favor, comentadla. 

lunes, 18 de octubre de 2010

Tamper Data I

En una serie de posts anteriores, Descargas de videos en youtube I y II, fossie decía que él usaba una herramienta para firefox llamada para tamper data descargar los vídeos de youtube. Ya comenté que quería hacer un post para hablar de esta herramienta para otros fines. Es el momento de analizar las dos funciones ya comentadas: la descarga de los vídeos y la otra función que ya comentaré en la parte II.

Lo primero de todo es instalar la extensión. Desde firefox buscamos en Google

firefox tamper data

Ahora, seleccionamos la primera entrada, pulsamos sombre "seguir a la descarga" y aceptamos la instalación bajo nuestra responsabilidad. Cualquier pregunta que nos haga el navegador, tendremos que aceptarla para poder continuar con la instalación. Una vez más, y tal y como decía un gran profesor que tuve, "aceptamos bajo pena de muerte".

Una vez lo tenemos instalado, podemos acceder a éste desde Herramientas --> Tamper Data:

Herramientas --> Tamper Data

Sólo hay que acer click sobre esta opción para que se nos abra una nueva ventana con el programita.

Tamper Data abierto

Ahora vamos a seleccionar el lugar que queremos visitar. Como vamos a descargar un nuevo vídeo, vamos a buscar uno que pueda ser interesante. En este caso, se me ha ocurrido buscar el documental Capacitados. Será la primera parte, que es el vídeo enlazado.

Una vez hemos cargado la página en cuestión con el tamper data abierto se irán cargando una serie de elementos en un listado. En estos elementos buscaremos el tipo de contenido video/x-flv:

Vídeo encontrado en el listado del tamper data

Se puede ver que ahí está la URL, pero no permite verla entera. Como lo que queremos es coger la URL y tiene un menú contextual al hacer click con el botón derecho sobre ese elemento, seleccionaremos detalles. 

Detalles del elemento seleccionado

Tenemos que indicar que lo queremos decodificado y al hacer click con el botón derecho diremos copiar. Después, vamos al navegador, en este caso seguiré con el firefox y pegamos el resultado. Mucho ojo porque también se copia una cadena como URL=. Luego, al pegar, también aparecerá y hay que quitarla. Al final, nos encontramos con este resultado:

Video en proceso de visionado

Lo suyo es ir a Archivo --> Guardar Como... y ahí seleccionar el destino y asignarle el nombre que queráis, por ejemplo capacitados.flv:

Guardando Capcitados.flv

Y, así, podemos visionarlo tranquilamente desde nuestro reproductor favorito:

Visionando el vídeo

La verdad, es que no está mal la idea de utilizar el tamper data para esta tarea. 

sábado, 9 de octubre de 2010

El maps y las coordenadas.

Algunos ya sabéis que hace una semana, más o menos, me fui con unos amigos a hacer piragüismo. El lugar fue Las hoces del Duratón.

Para ir, me pidieron que buscara cómo ir allí. Para ello, busqué primero en Google "hoces del duratón". Así, encontré el enlace incluido en el nombre del lugar. 

Mirando en la página, encontré una sección. 

Index de Las hoces del Duratón

Tenemos la sección de cómo llegar. Si miramos ahí dentro nos encontramos con lo siguiente:

Como llegar a Las hoces del Duratón

Como se puede ver, hay una sección en la que ponen coordenadas. Por ejemplo, las coordenadas GEO que tenemos son:

Latitiud: 41º 16' 35.7'' N
Longitud: 3º 53' 5.79'' W

Así, solicitando en el Google Maps "como llegar" de esta forma:

Introduciendo los datos en Google Maps


¿Quieres ver cómo llegar desde Madrid hasta este punto?

Ver mapa más grande

Y así te muestra cómo llegar de una manera precisa. Como podéis ver, incluso introduciendo coordenadas puedes ver cómo llegar.