Los desarrolladores de aplicaciones web a menudo confían en que la mayoría de los usuarios seguirán las reglas y utilizarán una aplicación como se pretende utilizar, pero ¿qué ocurre cuando el usuario (o un pirata informático) dobla las reglas? ¿Qué pasa si un usuario se salta la interfaz web de lujo y comienza a jugar debajo del capó sin las restricciones impuestas por el navegador?
¿Qué pasa con Firefox?
Firefox es el navegador de elección para la mayoría de los piratas informáticos debido a su diseño amigable con plug-in. Una de las herramientas de pirateo informático más populares para Firefox es un complemento llamado Tamper Data. Tamper Data no es una herramienta súper complicada, es simplemente un proxy que se inserta entre el usuario y el sitio web o la aplicación web que está navegando.
Los datos de sabotaje permiten a un pirata informático abrir la cortina para ver y desordenar toda la "magia" de HTTP que tiene lugar detrás de escena. Todos esos GET y POST pueden manipularse sin las restricciones impuestas por la interfaz de usuario que se ven en el navegador.
¿Qué me gusta?
Entonces, ¿por qué a los piratas informáticos les gustan tanto los datos de sabotaje como a los desarrolladores de aplicaciones web? La razón principal es que permite a una persona manipular los datos que se envían de un lado a otro entre el cliente y el servidor (de ahí el nombre de datos de manipulación). Cuando se inician los datos de sabotaje y se inicia una aplicación web o sitio web en Firefox, los datos de sabotaje mostrarán todos los campos que permiten la entrada o manipulación del usuario. Un hacker puede entonces cambiar un campo a un "valor alternativo" y enviar los datos al servidor para ver cómo reacciona.
Por qué esto podría ser peligroso para una aplicación
Digamos que un hacker está visitando un sitio de compras en línea y agrega un artículo a su carrito de compras virtual. El desarrollador de la aplicación web que construyó el carrito de compras puede haber codificado el carrito para aceptar un valor del usuario, como Cantidad = "1" y restringió el elemento de la interfaz de usuario a un cuadro desplegable que contiene selecciones predeterminadas para la cantidad.
Un pirata informático podría intentar utilizar los datos de manipulación para evitar las restricciones del cuadro desplegable que solo permite a los usuarios seleccionar entre un conjunto de valores como 1, 2, 3, 4 y 5. Al usar la información de manipulación, el pirata informático podría probar para ingresar un valor diferente de "-1" o tal vez ".000001".
Si el desarrollador no ha codificado correctamente su rutina de validación de entrada, entonces este valor "-1" o ".000001" podría terminar pasando a la fórmula utilizada para calcular el costo del artículo (por ejemplo, Precio x Cantidad). Esto podría causar algunos resultados inesperados dependiendo de la cantidad de comprobación de errores que esté ocurriendo y de la confianza que tenga el desarrollador en los datos provenientes del lado del cliente. Si el carrito de la compra está mal codificado, el pirata informático puede terminar obteniendo un posible gran descuento involuntario, un reembolso por un producto que ni siquiera compró, un crédito de la tienda o quién sabe qué más.
Las posibilidades de uso indebido de una aplicación web con datos de manipulación son infinitas. Si fuera un desarrollador de software, el solo hecho de saber que existen herramientas como Tamper Data me mantendría despierto toda la noche.
Por otro lado, Tamper Data es una excelente herramienta para que los desarrolladores de aplicaciones preocupados por la seguridad puedan usarla para que puedan ver cómo responden sus aplicaciones a los ataques de manipulación de datos del lado del cliente.
Los desarrolladores a menudo crean "Casos de uso" para centrarse en cómo un usuario usaría el software para lograr un objetivo. Desafortunadamente, a menudo ignoran el factor chico malo. Los desarrolladores de aplicaciones deben ponerse sus gorras de tipo malo y crear "Casos de uso indebido" para tener en cuenta a los piratas informáticos que utilizan herramientas como los datos de manipulación.
Los datos de sabotaje deben formar parte de su arsenal de pruebas de seguridad para ayudar a garantizar que la entrada del lado del cliente se valide y verifique antes de que se permita que afecte a las transacciones y los procesos del lado del servidor. Si los desarrolladores no desempeñan un papel activo en el uso de herramientas como Tamper Data para ver cómo responden sus aplicaciones al ataque, no sabrán qué esperar y podrían terminar pagando la factura de 60 "Plasma TV que el hacker acaba de comprar. Por 99 centavos usando su carrito de compras defectuoso.




