¿Por qué debería estar presente crossdomain.xml si existen archivos subidos por el usuario?

2

En su libro, Michal Zalewski dice:

  

Para proteger a sus usuarios, incluya un archivo crossdomain.xml de nivel superior con el parámetro de políticas de dominio cruzado permitido establecido en solo maestro o por tipo de contenido, incluso si no usa Flash en cualquier lugar de su sitio . Si lo hace, evitará que el contenido no relacionado controlado por el atacante se malinterprete como un archivo crossdomain.xml secundario, lo que socavará efectivamente las garantías de la política del mismo origen en los navegadores habilitados para Flash.

El sitio actual tiene la siguiente política para los archivos subidos por el usuario:

  • Todas las descargas tienen contenido-Disposición: archivo adjunto
  • Los enlaces de descarga de los archivos subidos por el usuario se ubican en un dominio separado del sitio principal
  • Opciones de tipo de contenido X: nosniff

En caso de que no haya crossdomain.xml , ¿cómo puede colocar el atacante crossdomain.xml para que se interprete como crossdomain.xml válido? ¿Qué pasa si crossdomain.xml está presente? ¿Existen otras vulnerabilidades relacionadas con crossdomain.xml ?

    
pregunta Andrei Botalov 20.03.2012 - 12:18
fuente

2 respuestas

2

No lo sé. No soy Michael Zalewski, y solo puedo especular sobre la base de este consejo. ¿Dijo algo más en el libro?

El archivo crossdomain.xml contiene la política que usa Flash para determinar cómo otros sitios pueden interactuar con este sitio. Si contiene una política permisiva, entonces pueden suceder cosas malas. Por lo tanto, no desea que los usuarios puedan cargar una política que establezca una política permisiva para su sitio.

Hay tres riesgos que conozco:

  1. En estos días, de forma predeterminada, Flash buscará el archivo crossdomain.xml en la raíz de su sitio: http://www.example.com/crossdomain.xml . Si un usuario tiene la capacidad de cargar archivos en la raíz de su sitio y elegir su nombre de archivo, el usuario podría elegir el nombre de archivo crossdomain.xml y elegir su contenido para especificar una política de seguridad permisiva. Eso sería malo.

  2. Creo que alguna vez, los applets de Flash podrían especificar dónde buscar el crossdomain.xml archivo de política ; en particular, Flash con mucho gusto buscaría en otro lugar que no sea la raíz de su sitio. Supongamos que permite a los usuarios cargar archivos de su elección, con su propia elección de nombre de archivo, en el directorio /uploads . Un usuario malintencionado podría subir a http://www.example.com/uploads/crossdomain.xml . Luego, el usuario malintencionado podría alojar un applet Flash malvado en su propio sitio y decirle a la plataforma Flash que el archivo de políticas de www.example.com se puede encontrar en http://www.example.com/uploads/crossdomain.xml . Flash cumpliría felizmente, dando lugar a consecuencias infelices.

    Creo que las versiones modernas de Flash Player ya no sufren esta vulnerabilidad. Siempre buscarán primero en el directorio raíz, para buscar un crossdomain.xml , y solo buscarán los archivos crossdomain.xml en otra parte si el que está en la raíz lo permite.

  3. Érase una vez, las versiones anteriores de Flash player tenían fallas de seguridad que permitían a un atacante engañar a Flash Player para buscar en otro lugar que no sea el directorio raíz para el archivo crossdomain.xml . Entonces estamos en la misma situación que el riesgo anterior. Creo que esta vulnerabilidad se ha solucionado hace mucho tiempo.

No sé si los dos últimos riesgos ya son relevantes. Creo que han sido arreglados hace mucho tiempo. Sin embargo, supongo que es posible que algunos de sus usuarios utilicen versiones antiguas de Flash Player que aún tienen este problema.

Según lo que dijo sobre el alojamiento de todo el contenido del usuario en un dominio separado, que yo sepa, su sitio debe ser seguro, incluso si no realiza ninguna otra acción. Sin embargo, tal vez Michael Zalewski sabe algo que yo no sé. (De acuerdo, estoy seguro de que él sabe mucho de lo que no sé; es decir, tal vez sepa que hay un cuarto riesgo / ataque del que no tengo conocimiento).

    
respondido por el D.W. 21.03.2012 - 02:01
fuente
1

Aquí hay una respuesta de Michal Zalewski que recibí del correo electrónico:

  

La preocupación es que Flash puede apuntarse a cualquier URL para   interpretarlo como crossdomain.xml; así, por ejemplo, si permite a los usuarios   cargue imágenes, descargue informes CSV para sus datos o aloje cualquier otro   tipo de archivos adjuntos o archivos de texto generados, usted está en riesgo.   Requerir que el tipo MIME coincida de manera precisa es una simple contramedida.

    
respondido por el Andrei Botalov 21.05.2012 - 18:32
fuente

Lea otras preguntas en las etiquetas