Dominio cruzado externo incluye secuencia de comandos

5

Una de mis aplicaciones web se sometió a una evaluación de vulnerabilidad recientemente, y uno de los hallazgos se relaciona con el script de inclusión de varios dominios. Nuestra aplicación web utiliza addthis_widget.js de AddThis para marcar Facebook / Twitter Se recomendó copiar el contenido del script en nuestro propio dominio e incluirlo desde allí, o volver a implementar la funcionalidad del script dentro de nuestro propio código.

¿Es realmente un problema explotable?

    
pregunta dorothy 16.02.2015 - 12:05
fuente

3 respuestas

5

Si el código es servido por una Red de entrega de contenido (CDN) grande, como la CDN de Google, es más que probable que sea hackeado por otros medios. Los CDN grandes tienen mucho dinero para gastar en seguridad, y es poco probable que un CDN sea un punto débil en su propia infraestructura.

Una vez que un sitio alcanza un cierto nivel de popularidad, debe proporcionar contenido estático desde un CDN. Considera la siguiente publicación:

¿Por qué debería usar el CDN de Google para jQuery?

Lo bueno de un CDN es mayor que la posibilidad muy poco probable de comprometer un servidor bien mantenido que distribuye contenido estático. Dicho esto, encontré una falla importante en un producto de Akamai ...

    
respondido por el rook 16.02.2015 - 16:10
fuente
3

Sí, es un problema de seguridad.

El JavaScript incluido se ejecuta en el contexto de su sitio web, lo que significa que tiene control sobre cualquier cosa sobre la que usted tendría control.

Los archivos JavaScript externos pueden dañarte entre otros:

  • leer cookies (por ejemplo, para robar sesiones)
  • leer la entrada del usuario (por ejemplo, para leer las entradas de contraseña)
  • cambiar lo que ve el usuario (por ejemplo, para mostrar anuncios, phishing, desfigurar)
  • ejecutar formularios como usuario (por ejemplo, para cambiar la información de los usuarios, para enviar correo no deseado a otros usuarios)
  • realizar solicitudes a otros servidores (por ejemplo, para enviar la información obtenida al servidor de los atacantes, para realizar ataques de DOS / bruteforce en otros servidores, etc.)

Por lo tanto, solo debes incluir archivos JavaScript externos si :

  • confía en el dominio / compañía desde el cual se incluye para no dañarlo
  • confías en ellos para mantener seguro su servidor
  • utiliza HTTPS para la inclusión para evitar ataques de hombre en el medio

Por supuesto, también hay ventajas para incluir JavaScript desde un servidor externo :

  • la carga en su servidor se reducirá
  • es posible que el usuario ya tenga ese archivo en caché, por lo que el sitio web se cargará más rápido para sus usuarios.
respondido por el tim 16.02.2015 - 14:48
fuente
1

El problema principal con la inclusión de scripts de otros sitios es que ellos (o incluso alguien que piratee su servidor) pueden modificar el script para incluir código malicioso.

Ahora mismo tienes 2 opciones que tienen "desventajas" bastante grandes:

  1. Reimplementar el script addthis llevaría bastante tiempo, así que, No creas que quieres ir por ese camino. También deberías mantener el guión.
  2. Y si hace una copia a su servidor, necesita saber que el equipo de AddThis actualiza esa secuencia de comandos y tendrá que comprobar si tiene una versión anterior para actualizarla (lo cual tendría que hacerlo manualmente ya que no sé si algo malo se insertó en él).

Sinceramente, me limitaría a incluir AddThis script (de su servidor), pero tiene un asesor de seguridad trabajando para usted ... Hable con él sobre las 3 opciones y los inconvenientes que ve sobre cada opción (reimplementar, dominio cruzado) , copia a su servidor).

    
respondido por el Jhuliano Moreno 16.02.2015 - 14:50
fuente