Las cookies nos permiten ofrecer nuestros servicios. Al utilizar nuestros servicios, aceptas el uso que hacemos de las cookies. Más Información. Aceptar

Realizar un ataque Parameter Tampering

Carlos Lucena Herrera
  • Escrito por Carlos Lucena Herrera el 20 de Agosto de 2019
  • 2 min de lectura | Ethical hacking
Realizar un ataque Parameter Tampering
El reproductor de video será cargado en breves instantes.

Si quieres conocer qué es un ataque de tipo Parameter Tampering, te explicamos en qué consiste esta vulnerabilidad de seguridad y realizamos una práctica para mostrarte cómo funciona un ataque de este tipo.

Qué es Parameter Tampering

Un ataque de tipo Parameter Tampering es un tipo de hacking ético que busca este tipo de vulnerabilidad, de la que hay que ser consciente de su importancia y por qué se debe evitar.

La vulnerabilidad de tipo Parameter Tampering consiste en la “manipulación del valor de algún parámetro que se intercambia entre cliente y servidor con fines malintencionados”.

Un ejemplo de esta vulnerabilidad es el siguiente.

Imagen 0 en Realizar un ataque Parameter Tampering

 

Supongamos que accedemos a una aplicación, nos logamos y tenemos un botón para consultar nuestros datos. Al pulsar ese botón, se realiza una petición al servidor, en la cual se le envía un parámetro con nuestro DNI. El servidor recibe esa petición, consulta en la base de datos los datos que tiene para ese DNI y los envía en una respuesta.

¿Qué pasaría si el usuario modifica la petición que envía ese botón y en lugar de poner su DNI pone el DNI de otra persona?

Si existe esta vulnerabilidad, el servidor no va a comprobar si el usuario tiene permiso para ello, y va a devolver los datos de otra persona.

Cómo evitar el Parameter Tampering

Para evitar un ataque de este tipo, fundamentalmente se debe:

  • Validar siempre en el servidor, es decir, cada acción que realice el usuario debe ser validada en el servidor para confirmar que tiene permiso para ello. En el ejemplo anterior, el servidor debe validar que el usuario con el que se ha accedido tiene permisos para consultar los datos del DNI que ha modificado.
  • No enviar datos innecesarios. En el mismo ejemplo previo se está enviando como parámetro el DNI del usuario que está accediendo. Esto no debería ser necesario, ya que el servidor podría, a partir del id de sesión del usuario, sacar cuál es el nombre de usuario que tiene esa sesión, y a partir del mismo consultar en su base de datos qué DNI tiene el usuario y darle sus datos. De esta forma se evita este tipo de problemas, ya que los usuarios no envían ningún parámetro.

Ejemplo de cómo hacer un ataque tipo Parameter Tampering

Para realizar este tipo de ataque utilizaremos una herramienta llamada OWASP ZAP, con la que vamos a capturar la petición que hagamos a través del navegador, antes de que se envíe al servidor, para modificar un parámetro.

Imagen 1 en Realizar un ataque Parameter Tampering

Por defecto herramienta escucha en el puerto 8080, pero en este caso lo tenemos configurado para que lo haga en el puerto 8089, así que en el navegador tenemos que configurar el proxy para que todo el tráfico se reenvíe al puerto 8089 y pase por la herramienta.

En Firefox se hace en esta pantalla.

Imagen 2 en Realizar un ataque Parameter Tampering

A continuación, accedemos a una aplicación tengo tenemos preparada, en la que tenemos una serie de artículos y un precio.

Imagen 3 en Realizar un ataque Parameter Tampering

Si compramos una escalera, que tiene un precio de 20, nos aparecerá en la pantalla un mensaje indicando que la hemos comprado a ese precio.

Imagen 4 en Realizar un ataque Parameter Tampering

Ahora vamos a intentar modificar ese precio para comprar la escalera más barata. Para ello vamos a la herramienta anterior y pulsamos el botón correspondiente para que capture las peticiones.

Imagen 5 en Realizar un ataque Parameter Tampering

De nuevo vamos al navegador y pulsamos en el botón de comprar la escalera. En esta ocasión el proceso de compra no continúa, porque en la herramienta tenemos parada la petición, y ha aparecido una nueva pestaña con el nombre “Punto de interrupción”.

Imagen 6 en Realizar un ataque Parameter Tampering

En la misma podemos ver los datos de la petición que se está enviando, y los parámetros de la misma que se envían, que en este caso son “artículo” y “precio”, los cuáles indican la escalera y el coste de la misma, que son 20.

Modificamos el valor de compra y lo cambiamos por 1, y pulsamos en el botón para que continúe el envío de la petición.

Imagen 7 en Realizar un ataque Parameter Tampering

Se reanuda el proceso de compra, y al finalizar vemos que en pantalla nos muestra el mensaje de compra indicando que se ha comprado una escalera con un precio de 1.

Imagen 8 en Realizar un ataque Parameter Tampering

Para evitar que se produzca este tipo de ataque, habría que evitar enviar el precio del artículo, enviando únicamente el producto que se está comprando, y que el servidor haga una consulta a la base de datos para consultar el precio de la misma.

Relacionado

Te dejamos una selección de cursos, carreras y artículos

Qué es el hacking

Qué es el hacking

Desarrollo Web

19 de Agosto de 2019

El hacking es un concepto que cada vez está más presente en el día a día. Si quieres aclarar tus dudas al respecto, te contamos qué es el hacking, los tipos de hackers que existen y cuáles son las ...

Curso de Hacking web

Curso de Hacking web

curso

Con este curso aprenderás:

  • Aprenderás a realizar pruebas de seguridad contra aplicaciones Web.
  • Aprenderás las principales vulnerabilidades que puede tener una aplicación web.
  • Serás capaz de realizar ataques para explotar dichas vulnerabilidades.

Duración: 2 horas y 43 segundos

Estas son algunas de las empresas que ya confían en OpenWebinars

Profesores y profesionales

Nuestros docentes son profesionales que trabajan día a día en la materia que imparten

Conviértete en profesor de OpenWebinars