Vulnerabilidad XSS en la Vista previa en Directo
Bueno, si usas GrapesJS y permites la posibilidad de insertar HTML personalizado, sí, Self-XSS es posible. Desafortunadamente, hay pocos problemas que no me permitan solucionarlo correctamenteNecesito acceder al DOM del iframe para añadir o actualizar componentes internos, así que el editor no funcionará sin 'sandbox=...
Lee la respuesta completa abajo ↓Pregunta
Versión: 0.16.22
¿Puedes reproducir el error de la demo?
[x] Sí
Pasos:
- Haz clic en Importar HTML
- Insertar '<img src="any_image_source.gif" onload="alert(1)"/>'
- La JS será ejecutada
Tener un atributo "sandbox" adecuado en iframe probablemente podría mitigar el problema.
Respuestas (3)
Bueno, si usas GrapesJS y permites la posibilidad de insertar HTML personalizado, sí, Self-XSS es posible. Desafortunadamente, hay pocos problemas que no me permitan solucionarlo correctamenteNecesito acceder al DOM del iframe para añadir o actualizar componentes internos, así que el editor no func...
Tienes razón, pensábamos que 'sandbox="permite-mismo-origen"' bastaría, pero también hace falta 'permitir-scripts', y entonces es como no usar sandbox en absoluto. Pero, lo que podría ser útil es proporcionar una forma para que los usuarios de grapejs controlen de alguna manera los atributos del li...
Si usas el encabezado HTTP de la política de seguridad de contenido puedes solucionar muchos problemas de XSS como este. pero hay un problema con GrapesJS ahora mismo que es que usa underscore.js, que incluye una función con el uso de "eval", así que no puedes hacer que el encabezado CSP sea tan se...
Preguntas y respuestas relacionadas
Continúa investigando con debates sobre temas similares.
Issue #1693
Caracteres extraños (Â) dentro de la vista previa CSS/HTML; Los elementos no se eliminan completamente
BICHO¿Estás usando la última versión (las versiones anteriores NO son compatibles)?0.14.50¿Te enfrentas al error con tu copia local de Grap...
Issue #1295
Falta el campo de selección de unidad en IE tras hacer clic
@artf actualmente estoy usando la última versión de GrapesJS (pero puedes reproducir este error usando la demo). Básicamente, solo tienes q...
Issue #3045
Problema al importar CSS y módulos en nodejs es6
Versión: 0.16.22 ¿Puedes reproducir el error de la demo? [x] Sí [ ] No ¿Cuál es el comportamiento esperado? Para importar Grapejs CSS y mód...
Issue #3579
RTE se pierde al abrirse justo después de soltar el componente 'activeOnRender'
Versión: 0.17.4 ¿Puedes reproducir el error de la demo?[x] Sí[ ] No Pasos para reproducir:Ir a la demoColocar un bloque de "Texto" dentro d...
Plugins de pago que cumplen con este problema
Seleccionado por temas clave y relevancia de etiquetas para ayudarte a enviar más rápido.
Cargando recomendaciones de plugins de pago...
Consulta los plugins de código abierto de GrapesJS en GitHub O haz una búsqueda rápida en nuestro catálogo gratuito.
Explora plugins gratuitos →Los plugins premium incluyen soporte, actualizaciones regulares y funciones listas para producción — ahorrando días de trabajo de integración.
Explora plugins premium →Explorar categorías de plugins
Ve directamente a las páginas de categorías de plugins en el marketplace.