XUT_ / COURSES / PENETRATION TESTER

Causes and Implications

¿Qué Hace Posible el XSS?

Hay muchas razones por las que todavía se ven vulnerabilidades XSS en las páginas Web. Debajo una lista de ellas.

Insufficient Input Validation and Sanitization

Las aplicaciones web aceptan input del usuario vía formularios y la usan en la generación dinámica de páginas HTML. Consecuentemente, los scripts maliciosos pueden ser incrustados como parte de un input legítimo y ser eventualmente ejecutados por el navegador a no ser que se saniticen correctamente.

Lack of Output Encoding

El usuario puede usar varios caracteres para alterar cómo el navegador web procesa y muestra una página. Por la parte de HTML es crítico encodear correctamente caracteres como <, >, ", ' y &. Para JavaScript requieren especial atención ', " y \ .

Improper Use of Security Headers

Varios headers de seguridad pueden ayudar a mitigar las vulnerabilidades XSS. Por ejemplo, Consent Security Policy (SCP) mitiga riesgos XSS definiendo qué fuentes son confiadas por scripts ejecutables. Un SCP mal configurado o con políticas muy permisibas o uso inadecuado de unsafe-inline o unsafe-eval puede ser más fácilmente vulnerado.

Framework and Language Vulnerabilities

Algunos frameworks antiguos no ofrecen mecanismos de seguridad contra XSS y otros tienen vulnerabilidades XSS no parcheadas. Los frameworks modernos automáticamente escapan XSS por diseño y parchean cualquier vulnerabilidad descubierta.

Third-Party Libraries

Integrar librerías de terceros en una aplicación web puede introducir vulnerabilidades XSS, incluso si la aplicaciión en sí no es vulnerable.


Implicaciones del XSS

Hay muchas implicaciones de XSS. Debajo una lista de ellas:

Session Hijacking

Un XSS puede ser usado para robar cookies de sesión, con la que los atacantes pueden tomar control de ella.

Phissing and Credential Theft

Usando XSS, los atacantes pueden presentar un prompt de login falso al usuario.

Social Engineering

Usando XSS, un atacante puede crear un pop-up o alerta de apariencia legítima en una web

Content Manipulation and Defacement

Además puede hacerse para causar daños de reputacion, etc.

Data Exfiltration

Puede acceder y filtrar información como datos personales o información financiera.

Malware Installation

Un atacante sofisticado puede usar XSS para esparcir malware.