
Durante el análisis del sitio web ecodotempo.com.br, se descubrió una vulnerabilidad de Cross-Site Scripting (XSS) almacenado. Esta vulnerabilidad permite a un atacante inyectar scripts maliciosos en campos que posteriormente se muestran a otros usuarios sin la debida sanitización, específicamente en la página principal del área no autenticada (sin sesión iniciada).
Durante el análisis del sitio web ecodotempo.com.br, se descubrió una vulnerabilidad de Cross-Site Scripting (XSS) Almacenado. Esta vulnerabilidad permite a un atacante inyectar scripts maliciosos en campos que posteriormente se muestran a otros usuarios sin una sanitización adecuada, específicamente en la página principal del área no autenticada (sin sesión iniciada).
ecodotempo.com.br/colecoes/cadastrar_realizar.php
name="nome" y name="descricao"
Durante el análisis del sitio web ecodotempo.com.br, se descubrió una vulnerabilidad de Cross-Site Scripting (XSS) Almacenado. Esta vulnerabilidad permite a un atacante inyectar scripts maliciosos en campos que posteriormente se muestran a otros usuarios sin una sanitización adecuada, específicamente en la página principal del área no autenticada (sin sesión iniciada).
El script inyectado se almacenó de forma persistente en el backend de la aplicación y se ejecutó en el navegador de cualquier visitante que accediera a la página afectada, sin mecanismos de escape ni protección mediante Content Security Policy (CSP).
Durante las pruebas en ecodotempo.com.br, la vulnerabilidad de XSS almacenado se identificó específicamente en el proceso de creación de colecciones de artículos. Fue posible inyectar un payload malicioso en los campos de nombre o descripción de la colección, sin mecanismos de mitigación activos —como validación de entradas, filtros a nivel de código, Web Application Firewall (WAF) o cabeceras HTTP de seguridad—.
Después de crear la colección que contenía el script malicioso, cerrar sesión y volver a acceder a la página principal de inicio de sesión, el payload se ejecutó automáticamente en el navegador, lo que provocó que se mostrara una ventana emergente. En la prueba, esto se utilizó para demostrar la extracción de cookies. Este comportamiento confirma la falta de sanitización adecuada y la posibilidad real de ejecución arbitraria de scripts en el contexto del navegador de la víctima. Consulte la sección de evidencia a continuación para ver un ejemplo.




Nota: Además del robo de cookies, esta vulnerabilidad podría explotarse para diversos fines maliciosos, como redirigir a los usuarios a sitios web dañinos, exfiltrar datos sensibles, alterar el contenido de la página para ataques de phishing o ejecutar acciones en nombre del usuario, como se describió anteriormente en la sección de impacto.
La presencia de una vulnerabilidad de XSS almacenado en la página principal del área no autenticada de ecodotempo.com.br supone un riesgo de seguridad significativo. Dado que el script inyectado se almacena de forma permanente y se sirve a todos los usuarios que acceden a la página afectada, abre la puerta a una serie de ataques del lado del cliente. Un atacante podría explotar esta falla para ejecutar JavaScript arbitrario en el navegador de visitantes desprevenidos, robando potencialmente cookies de sesión, redirigiendo a los usuarios a sitios web maliciosos, realizando acciones en nombre de los usuarios sin su consentimiento o manipulando el contenido de la página para llevar a cabo intentos de phishing. Debido a que la vulnerabilidad está expuesta en un área de acceso público, aumenta la probabilidad de explotación a gran escala, especialmente mediante bots automatizados o campañas dirigidas, lo que podría socavar la confianza de los usuarios y la integridad de la plataforma.
Para remediar la vulnerabilidad de XSS almacenado encontrada en la página principal del área no autenticada de ecodotempo.com.br, se deben tomar las siguientes acciones:
Toda la entrada de usuario debe sanitizarse y validarse adecuadamente tanto en el lado del cliente como en el del servidor antes de almacenarse o mostrarse. Específicamente, cualquier entrada que se vaya a mostrar en el contexto HTML debe tener codificados los caracteres especiales como <, >, ", ' y & para evitar la ejecución de scripts. Además, la aplicación debe implementar codificación de salida basada en el contexto donde se inyectan los datos (HTML, JavaScript, atributo, URL, etc.).
También se recomienda encarecidamente aplicar una Content Security Policy (CSP) para limitar la ejecución de scripts no autorizados, y deshabilitar los scripts en línea y la carga de scripts externos desde fuentes no confiables. Se deben incorporar revisiones periódicas de código y pruebas de seguridad automatizadas (p. ej., con herramientas como OWASP ZAP o Burp Suite) en el ciclo de vida del desarrollo para detectar y prevenir fallas similares en el futuro.
Finalmente, cualquier payload malicioso ya almacenado debe identificarse y eliminarse del sistema para eliminar los riesgos existentes.