Qué es y cómo funciona el XSS

Cualquier sitio que forme parte de la web 2.0 cuenta con vulnerabilidades, ahí están, solo es necesario descubrirlas; y una de las vulnerabilidades más comunes es el XSS.

xss

El XSS (Cross Site Scripting por sus siglas en inglés) es un tipo de vulnerabilidad surgida como consecuencia de errores de filtrado de las entradas del usuario en aplicaciones web. Las vulnerabilidades de XSS originalmente abarcaban cualquier ataque que permitiera ejecutar código de “scripting”, como VBScript o JavaScript, en el contexto de otro sitio web (y recientemente esto se podría clasificar más correctamente como “distintos orígenes”).

Entre las clasificaciones que tiene este tipo de ataque entran las directas (funciona localizando puntos débiles en la programación html) y las indirectas (las que se ven reflejadas en la url del sitio). Al ejecutar código distinto de otro sitio web se podrían obtener algunos privilegios (por lo regular credenciales) para ser usados de manera maliciosa.

El funcionamiento del XSS

Es simple, básicamente toma al servidor del sitio web que se tenga en la mira y lo convierte en un servidor ejecutor de scripts que son agregados por el usuario malicioso.

Cómo darme cuenta si mi sitio web es víctima de XSS

La mayoría de los servidores webs (Apache por lo regular) guardan las peticiones que se hacen en el sitio web; checando estos logs se podrá dar uno cuenta de las peticiones que se hacen en el sitio y por ende, detectar aquellas extrañas peticiones.

De las principales recomendaciones que hay acerca de evitar incidentes es que no se utilice SQL puro en las consultas, es decir, utilizar variables, otra es el de parchar las entradas de datos de los usuarios, registrar las variables globales (php y apache) en off y por último, validar todas las variables que se pasen por medio de la url.