Riesgos potenciales de permitir javascript personalizado

0

Estoy planeando una herramienta que permitirá a los usuarios publicar colecciones de sus escritos para el consumo de publicación.

Cualquier modificación del contenido o la configuración de la cuenta se realizará a través de un servidor de administración / administración seguro foo.com .

Cuando los usuarios elijan publicar una colección, se les permitirá elegir un subdominio de un TLD diferente, reservado específicamente para el contenido publicado: <subdomain>.foo.pub .

Me gustaría ofrecer a los usuarios la capacidad de inyectar javascript personalizado en el HTML publicado. De esta manera, podrían modificar su tema o incluir comentarios de terceros, por ejemplo.

Dado que las colecciones publicadas están en su propio subdominio de un TLD que está completamente separado del servidor de administración, creo que los usuarios estarán protegidos de los ataques XSS.

¿A qué otros riesgos, si los hubiera, expondría a los lectores al permitir la ejecución personalizada de JS?

    
pregunta Murphy Randle 19.06.2017 - 18:52
fuente

1 respuesta

2

Ser capaz de ejecutar código personalizado en el entorno de otra persona es el objetivo final de la mayoría de los ataques web. Su consideración de diseño pasa por alto cualquier pretensión de seguridad y facilita esto de forma predeterminada.

El servicio que realmente estarías ofreciendo es una plataforma para que cualquiera pueda publicar malware, adware y descargas ocultas, o para usar tu servicio como un nodo en una red de bots.

Hay mejores formas de hacer lo que quiere hacer que permitir la ejecución de código arbitrario.

  • Los temas se pueden manejar a través de un cierto grado de css personalizado (mira el sistema css de subreddit).
  • Los comentarios y las API de terceros pueden facilitarse mediante el uso de widgets o complementos aprobados que usted escribe y crea según la demanda popular.

Es solo una mala idea , y hay una razón por la que solo unos pocos sitios (jsfiddle, etc.) permiten la ejecución de código arbitrario: están en el espacio aislado y regresan al infierno e implementan intérpretes modificados que no permiten la ejecución de potencialmente Comandos maliciosos ( eval() , etc.).

    
respondido por el Ivan 19.06.2017 - 20:00
fuente

Lea otras preguntas en las etiquetas