Si una vulnerabilidad de XSS es un XSS reflejado, ¿se puede calificar el XSS sin afectar la integridad?
No, el tipo de vulnerabilidad XSS no afecta en absoluto a las métricas de impacto.
No importa si una vulnerabilidad XSS está reflejada, almacenada o basada en DOM, o si requiere la interacción del usuario, o si se requiere una cuenta, o ... Esos factores se deben a la complejidad y la autenticación del acceso. métricas.
El impacto por otro lado es siempre el mismo. No importa cómo se entregue la carga útil, una vez que el JavaScript controlado por el atacante se ejecuta en el navegador de las víctimas, lo que se puede hacer es lo mismo.
¿Por qué se califica XSS con impacto PARCIAL a la integridad en lugar de SIN impacto a la integridad?
Al evaluar el impacto, solo se debe considerar el impacto en el host:
CONSEJO DE PUNTUACIÓN # 2: Al calificar una vulnerabilidad, considere el impacto directo solo en el host de destino. Por ejemplo, considere una vulnerabilidad de secuencias de comandos entre sitios: el impacto en el sistema de un usuario podría ser mucho mayor que el impacto en el host de destino. Sin embargo, este es un impacto indirecto. Las vulnerabilidades de las secuencias de comandos entre sitios deben puntuarse sin afectar la confidencialidad o la disponibilidad, y el impacto parcial a la integridad CVSSv2 spec
Puedo pensar en dos opciones para el puntaje de integridad:
-
Con XSS, un atacante cambia los datos que un host envía a su usuario, lo que tiene un impacto directo en la integridad del host. Un atacante puede alterar los datos y, por lo tanto, realizar varios ataques, como mostrar un formulario de inicio de sesión para ataques de phishing (un impacto indirecto en la confidencialidad que no se considera en CVSSv2), lee los datos del lado del cliente (como las cookies, que a su vez no se considera un impacto de confidencialidad directa), etc.
- Como @one sugirió, un atacante podría modificar los datos en una aplicación web al pasar por alto la protección CSRF, lo que tendría un impacto parcial, pero obviamente no completo, en el host. Considero que esta explicación es menos probable, ya que también implicaría que debería haber un impacto en la disponibilidad (al menos para algunas aplicaciones), y también puede implicar un impacto de confidencialidad (vea mi pregunta sobre eso here ).