02 febrero 2010

Ameriprise, líder de las finanzas...y del XSS

Aunque en la mayoría de los casos, las vulnerabilidades de tipo Cross-Site Scripting se hagan famosas por poner imágenes dónde no deben de estar o promover visitas de personajes o cómicos famosos a una web, también pasa que son llevadas a cabo para su objetivo más peliagudo: obtener cookies de sesión.

Hace 5 meses se reportó una vulnerabilidad XSS en la web de planning de financias Ameriprise Financial, según ellos mismos, líderes de su sector. Con dicha vulnerabilidad se conseguía obtener una cookie de sesión válida, mediante la cual, si un usuario hacía que un cliente de esta página "pinchase en su enlace correctamente preparado", obtendría una cadena la cual le serviría para acceder a su cuenta (explicado a grandes rasgos). Ya sabéis, en ocasiones se incluyen imágenes, otras veces un alert simple con la cadena "PRUEBA", otras veces enseñamos a todos el poder del document.cookie...y otras veces hacemos que ese document.cookie se guarde en un servidor para que luego sea usado para el divertimento y el beneficio de todos.

Se arregló, pero ha vuelto a ocurrir, The Register vuelve a informar que esta compañía ha vuelto a caer.


La vulnerabilidad volvió a casa,
aunque no exactamente en Navidad

Esto demuestra exactamente cómo se arregló supuestamente la vulnerabilidad hace 5 meses. Ya sabéis, tenemos dos maneras de arreglar los problemas: La primera, que nos lleva un poco menos de tiempo, y no soluciona sobretodo la "vergüenza" de salir por todas partes, es la llamada "ñapa", es decir, valido ESE parámetro vulnerable, para que no se pueda introducir exactamente ESE valor, ni se cuele ningún carácter ASÍ. Lo de siempre, luego te vas al buscador, en vez de en español, en inglés, y falla.
La segunda, recomendada para todos, es la de validar correctamente TODOS los parámetros que maneja la aplicación, controlar siempre los tipos de datos permitidos (si ahora quieres un número, acéptame sólo dígitos, Chuck Norris es el único que ha construido números con símbolos de menor y mayor, así como con comillas simples), etc. 

Si se considera una tarea laboriosa el tener que ir asp por asp controlando información...es porque todavía se sigue con la mentalidad ñapa. La solución debe ser genérica para cualquier fichero  o funcionalidad nueva que se genere, por ejemplo, utilizando una clase con los filtros adecuados y seguidamente, incluyéndola para todos y cada uno de los nuevos desarrollos que salgan adelante.

2 comments :

Seifreed dijo...

ola,

Me encanta la vagancia de la gente, con lo que cuesta hacer una vez las cosas y bien echas.

Seifreed dijo...

ola,

Me encanta la vagancia de la gente, con lo que cuesta hacer una vez las cosas y bien echas.