BorrowBits - ciencia y tecnología

21 Formas de hacer tu web insegura: #1 – No valides formularios en el servidor

web insegura

La seguridad es uno de los aspectos mas importantes a la hora de desarrollar una web. ¿O a alguien le gustaría que un usuario malintencionado pudiera aprovecharse de ciertas vulnerabilidades para sacar información privada, borrar datos o provocar malos funcionamientos en nuestra aplicación? En esta serie de artículos os voy a explicar cómo implementar páginas inseguras.
Para que sepáis precisamente la importancia de por qué no hay que hacerlo así y como un usuario mal intencionado podría explotar dicha vulnerabilidad para hacer cosas no permitidas en nuestra web.

La primera forma para hacer tu página insegura es…

Forma #1: No implementar validaciones en el servidor

¿Por qué son tan importantes las validaciones en el servidor?

y por que las validaciones de cliente no son suficientes

Las validaciones en el cliente son unas reglas que se activan en base al código HTML que está cargado en nuestro navegador. Esto significa que, al estar en el lado del cliente, son manipulables. Observemos el siguiente código:

1maneras

Ambos campos están creados como “requeridos” (required) y el segundo de ellos es un campo de “email“, por tanto si tratamos de introducir valores incorrectos nos saltará el mensaje de error de la validación HTML5 (lanzado desde el navegador).

¿Cómo podemos saltarnos estas validaciones?

Abramos el inspector de Firefox o Chrome (dentro de las Herramientas para Desarrolladores) y marquemos ambos campos, dejando al descubierto el código de los campos que estamos mostrando. Por supuesto, es totalmente editable, puesto que está en el navegador:2maneras

Tranquilamente, podemos modificar los tipos de campo y eliminar las etiquetas “required”. De esta forma ya tenemos vía libre para introducir lo que queramos, y el navegador se lo tragará.

¿Qué ocurre cuando llegan a nuestro Servidor datos que no han pasado las validaciones en el cliente?

Las validaciones de nuestro servidor son inaccesibles por parte del usuario, por tanto son las que realmente le van a dar seguridad a nuestra aplicación. Por tanto:

Si no hemos implementado validaciones en el servidor, nuestra aplicación quedará desprotegida y cualquier usuario podrá:

  • Introducir datos erróneos provocando errores en nuestra aplicación
  • Inyectar fragmentos de código con los que podrán “pinchar” a nuestra aplicación para por ejemplo, obtener información.

Estudiaremos en artículos posteriores otras maneras más avanzadas de hacer tu web insegura. Te dejo dándole vueltas a porqué las validaciones en el cliente no son suficientes.

Un saludo y hasta el próximo artículo.

plfgavilan

Ingeniero de telecomunicaciones con casi 4 años de experiencia en la ingeniería de software. Forma parte del proyecto Borrowbits desde hace varios años, donde colabora como escritor.

2 comentarios

Suscríbete

¡Sácale el máximo partido a BBits!

Introduce tu dirección de correo electrónico para seguir este Blog y recibir por email las nuevas publicaciones, si has leído y aceptas las Políticas de Privacidad, Cookies y Aviso Legal.

Recíbelo gratis al suscribirte

Webs amigas

  • Frikilogia.- Blog Multi-Tematico orientado a todos los campos del frikismo.
  • Meridiem90.tv.- Mira la TV gratis en HD. Canal Plus y Gol TV, todo el futbol desde tu navegador.
  • JITKey.- Startup enfocada en la gestión de alojamientos turísticos.

Bits del pasado

Síguenos en FB