lunes, 4 de diciembre de 2006

Problemas de seguridad

Hace mucho tiempo, dediqué bastante tiempo al tema de la seguridad en sitios web. Incluso colaboré con Kriptopolis. Luego, las miles de historias que tengo siempre entre manos (y que nunca llegan a nada, por cierto), hicieron que perdiera la motivación, aunque nunca la afición.
Recientemente, he recordado aquellos tiempos, y he descubierto algunos fallos en un sitio bastante conocido, (que evidentemente no voy a nombrar). Como siempre, los fallos han sido comunicados oportunamente.
El caso es que hay URLs que invitan a trastear. Por ejemplo:
  • Si la URL es del tipo http://servidor/pag?id=456, siempre me preocupa pensar qué pasa si pongo en vez de 456, el número -1, una letra, el número 0, o el valor máximo más uno (en el ejemplo 457). No siempre falla, pero a veces lo hace y te dice no se qué de una SELECT qué ha fallado, que primero te da mucha información sobre la estructura de la base de datos, y segundo puede ser una vía de entrada a lo que se llama inyección de SQL (en sentido estricto, el fallo ya lo es).
  • Si la URL permite descargar un fichero y es del tipo http://servidor/descargar?fichero=fulanito.pdf, siempre me pregunto qué pasa si cambio el nombre del fichero.
  • Si la URL es del tipo http://servidor/descargar?texto=sacatexto, y la palabra sacatexto sale en la página, pruebo a cambiar sacatexto por fulanito y si también funciona, entonces pruebo algo como
<script>alert("fulanito");</script>
Reconozco que hay que tener una mente "para el mal" y que yo la tengo ;D. Pero conviene fijarse en que no se trata de herramientas sofisticadas, sino simplemente de cambiar la URL.
Corolario: Si programas no te fíes del usuario.

No hay comentarios: