Ciberseguridad y seguridad de la información

Cross-Site Scripting: Stored, Reflected y DOM

7 min de lecturaPublicado: 5 de agosto de 2026
Ilustración visual profesional sobre la prueba de XSS en el campo de Web y API PT
Respuesta rápida

La prueba de XSS solo se realiza en laboratorio o en un sistema autorizado. Se examina Request/Response, el comportamiento del servidor, los Roles, el State y el impacto, utilizando pruebas mínimas que no dañen los datos.

Las pruebas de seguridad web y API deben examinar los límites de la confianza, los permisos, la entrada, el State y la lógica de negocio. Cada prueba en el artículo está destinada a un laboratorio, CTF o un sistema para el cual se ha otorgado una autorización explícita. El presente artículo se enfoca en la prueba de XSS y está dirigido a estudiantes de Web PT y desarrolladores. El objetivo es proporcionar una metodología que pueda aplicarse en la práctica, en una entrevista profesional y en un entorno de trabajo, sin limitarse a una definición de diccionario.

El desafío principal es que los datos son casi siempre parciales. El contexto, la codificación, CSP pueden indicar una dirección, pero su significado depende del tiempo, el activo, el usuario y la actividad esperada. Por lo tanto, construiremos la prueba en torno a una pregunta de investigación, la evidencia requerida y un criterio claro para su finalización.

El escenario práctico en el artículo es: mapeo de Input-to-Sink en una aplicación de laboratorio. Todos los ejemplos son datos de laboratorio o descripciones de procesos. Cuando se trata de Penetration Testing, Web o Cloud, se debe trabajar únicamente con autorización explícita, un Scope definido y la capacidad de detener la prueba.

Cómo se crea XSS

El tema 'Cómo se crea XSS' es una parte central del trabajo sobre pruebas de XSS. Se recomienda dividirlo en tres preguntas: cuál es la entrada, qué decisión se quiere tomar y qué evidencia es suficiente para justificarla. Estas preguntas evitan el uso automático de herramientas sin comprender el objetivo.

En la práctica, anote el contexto, la codificación, CSP, stored/reflected/DOM, la sanitización, compare con el comportamiento esperado y defina al menos un Pivot. El resultado debe ser verificable por otro analista, incluidas las limitaciones y los siguientes pasos.

Reflected y Stored

El tema 'Reflected y Stored' es una parte central del trabajo sobre pruebas de XSS. Se recomienda dividirlo en tres preguntas: cuál es la entrada, qué decisión se quiere tomar y qué evidencia es suficiente para justificarla. Estas preguntas evitan el uso automático de herramientas sin comprender el objetivo.

En la práctica, anote el contexto, la codificación, CSP, stored/reflected/DOM, la sanitización, compare con el comportamiento esperado y defina al menos un Pivot. El resultado debe ser verificable por otro analista, incluidas las limitaciones y los siguientes pasos.

XSS basado en DOM

El tema 'XSS basado en DOM' es una parte central del trabajo sobre pruebas de XSS. Se recomienda dividirlo en tres preguntas: cuál es la entrada, qué decisión se quiere tomar y qué evidencia es suficiente para justificarla. Estas preguntas evitan el uso automático de herramientas sin comprender el objetivo.

En la práctica, anote el contexto, la codificación, CSP, stored/reflected/DOM, la sanitización, compare con el comportamiento esperado y defina al menos un Pivot. El resultado debe ser verificable por otro analista, incluidas las limitaciones y los siguientes pasos.

Contexto y Codificación

El tema 'Contexto y Codificación' es una parte central del trabajo sobre pruebas de XSS. Se recomienda dividirlo en tres preguntas: cuál es la entrada, qué decisión se quiere tomar y qué evidencia es suficiente para justificarla. Estas preguntas evitan el uso automático de herramientas sin comprender el objetivo.

En la práctica, anote el contexto, la codificación, CSP, stored/reflected/DOM, la sanitización, compare con el comportamiento esperado y defina al menos un Pivot. El resultado debe ser verificable por otro analista, incluidas las limitaciones y los siguientes pasos.

CSP, Remediación y Retest

Una prueba profesional para la prueba de XSS comienza con condiciones de éxito y condiciones de fallo. Se define un caso positivo, un caso negativo, un caso límite y una actividad legítima similar. Esto permite identificar tanto falsos negativos como falsos positivos.

En un entorno autorizado, se utiliza una acción mínima que demuestre la afirmación sin causar daño. Se guardan Input, Output, tiempo y versión, y después de la corrección se realiza un Retest en el mismo escenario y también se verifica la regresión en funciones cercanas.

Puntos de prueba únicos

En este tema, se recomienda construir de antemano un mapa de evidencia enfocado. Los puntos principales de prueba son: contexto, codificación, CSP, stored/reflected/DOM, sanitización, sink/source. La lista no es una Checklist automática; cada elemento se elige porque puede vincular una entidad, una acción y un tiempo, o explicar un comportamiento legítimo.

  • contexto: Defina cuál es el valor esperado, qué se consideraría una anomalía y qué fuente adicional verificará el hallazgo.
  • codificación: Defina cuál es el valor esperado, qué se consideraría una anomalía y qué fuente adicional verificará el hallazgo.
  • CSP: Defina cuál es el valor esperado, qué se consideraría una anomalía y qué fuente adicional verificará el hallazgo.
  • stored/reflected/DOM: Defina cuál es el valor esperado, qué se consideraría una anomalía y qué fuente adicional verificará el hallazgo.
  • sanitización: Defina cuál es el valor esperado, qué se consideraría una anomalía y qué fuente adicional verificará el hallazgo.
  • sink/source: Defina cuál es el valor esperado, qué se consideraría una anomalía y qué fuente adicional verificará el hallazgo.

Cuando uno de los puntos no está disponible, se debe documentar la brecha y elegir una alternativa. Por ejemplo, si el identificador de proceso no es estable, se puede usar el tiempo, Host, User y Parent; si el Payload está cifrado, se utilizan metadatos, volumen, frecuencia y el contexto TLS/DNS.

Proceso de trabajo recomendado

  1. Defina el Scope y una pregunta de trabajo sobre la prueba de XSS.
  2. Anote las fuentes de datos y la evidencia necesaria: contexto, codificación, CSP, stored/reflected/DOM.
  3. Cree una línea base corta de comportamiento correcto o resultado esperado.
  4. Realice la prueba mínima en un entorno de laboratorio y guarde el tiempo, la entrada y la salida.
  5. Construya una línea de tiempo o una tabla comparativa y separe los hechos de la interpretación.
  6. Realice un Pivot a una fuente adicional para verificar o refutar la explicación inicial.
  7. Resuma la decisión, las limitaciones, la acción recomendada y el criterio de Retest.

Escenario práctico

El escenario elegido es el mapeo de Input-to-Sink en una aplicación de laboratorio. El objetivo del ejercicio no es demostrar capacidad de ataque, sino practicar la recopilación, comparación y documentación de forma segura. Antes de comenzar el trabajo, se definen datos simulados, un plazo y un resultado esperado.

Al final del ejercicio, se debe entregar un producto que otro analista o probador pueda revisar: una captura de pantalla o una exportación de la evidencia, una línea de tiempo corta, una suposición inicial, evidencia de verificación, una limitación y una recomendación. Cuando no hay evidencia suficiente, la conclusión correcta es que el escenario no ha sido probado.

PasoQué se realizaResultado
PreparaciónDefina el Scope, el tiempo y el objetivo. Anote qué campos o evidencias de contexto, codificación, CSP se espera que aparezcan.Plan de prueba corto
Creación de datosRealice una acción segura y simulada relacionada con la prueba de XSS, sin información real ni impacto en un sistema de producción.Evento/Request/Flujo controlado
RecopilaciónRecopile la evidencia bruta y el contexto de una fuente adicional. Verifique la zona horaria, los identificadores y la integridad.Dos evidencias vinculadas
AnálisisEscriba qué prueba cada evidencia, qué no prueba y cuál es la explicación legítima posible.Conclusión provisional
FinalizaciónElija un cierre, escalada, hallazgo o ajuste; agregue una recomendación y un Retest.Producto documentado

Checklist práctico

  • Verifique y documente: Role y session.
  • Verifique y documente: Endpoint y method.
  • Verifique y documente: Request/Response.
  • Verifique y documente: Object identifier.
  • Verifique y documente: Server-side effect.
  • Verifique y documente: Control expected y remediation.
  • Indique la zona horaria, la versión de la herramienta y la hora de recopilación.
  • Guarde los datos brutos antes de filtrar o modificar.
  • Escriba lo que demuestra el hallazgo y lo que aún se desconoce.
  • Defina al propietario y la acción de seguimiento con fecha.

Errores comunes

  • Verificar solo el código de estado.
  • Confiar en el cambio del lado del cliente.
  • Usar un Payload peligroso.
  • No probar diferentes Roles.
  • Ignorar la lógica de negocio.
  • Informar sin Request/Response limpios.

Profundización profesional: Calidad, Contexto y Control

Un trabajo de calidad en la prueba de XSS también se mide por la capacidad de reproducir el camino hacia la conclusión. Se recomienda guardar Query, Filter, Scope, Timestamp, Dataset y la versión de la herramienta. De este modo, se puede volver a examinar el mismo caso después de un cambio de configuración o después de recibir información adicional.

El contexto empresarial cambia el significado técnico. Un activo crítico, una cuenta con privilegios o un servicio que se conecta a Internet requieren un nivel de precaución diferente al de un laboratorio aislado. Sin embargo, la Criticality no sustituye la evidencia: influye en la Priority y en las acciones de respuesta, no en si el comportamiento realmente ocurrió.

El control por pares es una forma eficaz de reducir errores. Otro analista solo necesita recibir la documentación y ser capaz de comprender la pregunta, reproducir la búsqueda y llegar a la misma conclusión. Si requiere explicaciones verbales, la documentación aún no está completa.

Finalmente, cada producto debe convertirse en una oportunidad de mejora: una fuente de registro faltante, un Playbook poco claro, una Rule ruidosa, un permiso amplio o una guía de prueba imprecisa. La documentación de la acción y el Retest son los que conectan una investigación única con la mejora continua de la capacidad de la organización.

Resumen y CTA

Cross-Site Scripting: Stored, Reflected y DOM es un tema que conecta el conocimiento técnico con la disciplina de trabajo. Comience con una pregunta, recopile solo la evidencia relevante, mantenga el contexto y el tiempo, y elija una acción que pueda justificarse y volver a probarse.

En el curso Cybersecurity & AI de HPI, estos principios se practican utilizando sistemas, registros y laboratorios. Un paso natural es pasar a los artículos relacionados, realizar el ejercicio de laboratorio y guardar el producto como parte de una cartera de trabajo profesional.

Preguntas frecuentes

¿Está permitido probar XSS en un sitio web público?

No, sin la autorización explícita del propietario del sistema. Incluso una prueba que parece fácil puede cambiar datos, activar mecanismos de defensa o considerarse acceso no autorizado.

¿Qué hacer cuando faltan algunos datos?

Documentar lo que falta, verificar una fuente alternativa y reducir el nivel de confianza. No se deben completar campos por conjetura ni presentar "Desconocido" como válido.

¿Cuánto tiempo se deben guardar las evidencias?

El tiempo depende de la política, la regulación, el costo y el tipo de incidente. Es importante definir de antemano la retención, la retención legal y la capacidad de exportar la evidencia en un formato verificable.

¿Cómo se practica sin poner en riesgo un sistema real?

Se utilizan máquinas virtuales, datos simulados, CTF o un laboratorio dedicado. En pruebas autorizadas, se definen el Scope, las condiciones de parada y la copia de seguridad antes de comenzar el trabajo.

¿Quieres comprobar si este itinerario es para ti?

Deja tus datos y un asesor de HPI te llamará para una breve charla de orientación, sin compromiso.

Tus datos se guardan de forma segura.

Para estudios de SOC y ciberseguridad en el programa Cybersecurity & AI

¿Quieres los detalles del programa? Déjanos tus datos y te contactaremos.

Artículos relacionados