Si bien un buen sistema de desinfección de parámetros de entrada desde y hacia la aplicación es siempre la mejor solución ante este tipo de ataques, una técnica muy útil que existe desde hace tiempo en el navegador Internet Explorer 6 SP1 y adoptada por todas las nuevas versiones de otros navegadores (Firefox desde 3.01, Opera desde 9.5 ) consiste en declarar los cookies como HTTPonly, protegiéndolos de lectura y escritura por parte de scripts del lado del usuario. De esta forma solo el servidor y el navegador tendrán acceso a la información guardada en los mismos.
La solución es en realidad muy simple en algunos casos, por ejemplo en ASP.NET solo tendrá que agregar un parámetro a la línea de configuración "httpCookies" al archivo de configuración web.config:
<httpCookies httpOnlyCookies = "true"... />
En PHP el proceso es parecido, añada la siguiente línea al archivo php.ini:
session.cookie_httponly = True
En Java EE desde la versión 6, se soporta la propiedad o flag HttpOnly en la interfaz Cookie y esta puede modificarse a true o false con los métodos setHttpOnly y getHttpOnly.
En Tomcat 6 puede colocar la línea del archivo context.xml . Esto es válido para cualquier framework basada en Tomcat como por ejemplo JBoss.
useHttpOnly = True
Como cualquier programador web podrá apreciar el proceso es muy simple, sin embargo esto no es la panacea anti-XSS, recuerde que para estar seguro ante ataques de este tipo de amenaza y otras como el SQL injection, la única solución eficiente proviene de una desinfección a conciencia de los parámetros de entrada hacia a la aplicación.
No hay comentarios.:
Publicar un comentario