Permitiendo a los usuarios cargar y descargar XML de forma segura

2

Tenemos un requisito para permitir que los usuarios carguen un documento XML en nuestro sistema. No lo procesamos, solo permitimos que lo descarguen de nuevo.

Teniendo en cuenta varias vulnerabilidades de XSS del navegador como esta: enlace (varios sabores que afectan a IE, Chrome y FF)

¿Cuál es nuestro mejor enfoque para permitir que los usuarios descarguen el documento de forma segura? Cosas que hemos considerado hasta ahora:

  • Envuelva el documento en un archivo ZIP para descargarlo
  • Use un tipo de contenido simple / de texto (tenemos todos los encabezados de detección de contenido desactivados habilitados pero aún no hemos probado qué hará IE 8 en este escenario)
  • ¿Algo más enteramente?
pregunta James Crowley 21.01.2015 - 10:10
fuente

4 respuestas

1

Hay algunas maneras de hacer esto.

  1. Comprueba si XML contiene algún código malicioso.
  2. Doble codificación del XML. ( enlace )

También puede cifrar el XML al cargar y descifrar al descargar.

.Htaccess también debe editarse para obligar al usuario a descargar en lugar de verlo en el navegador ( enlace )

    
respondido por el GaringoXXS 21.01.2015 - 11:18
fuente
1

Cuando un usuario hace clic para ver un archivo XML, simplemente configure el content-disposition encabezado para forzar una descarga en la máquina local en lugar de una visualización en el navegador.

Content-Disposition: attachment; filename=foo.xml;

Por supuesto, el usuario debe tener cuidado con lo que hace con el XML guardado, pero hacer clic para descargar ahora no activará automáticamente un ataque XSS.

    
respondido por el SilverlightFox 22.01.2015 - 17:13
fuente
0

Parece que comprimir es una opción válida. No sé cómo se comportarán todos los navegadores con el tipo de contenido de texto sin formato, supongo que eso también está bien, pero quién sabe, tal vez alguna versión anterior reconozca que está descargando XML e intenta reemplazar el tipo de contenido ... >

Si desea ser realmente amable con su usuario, puede escanear los archivos cargados en busca de contenido malicioso y eliminar el sus. Hay servicios en la nube que ofrecen este servicio, como Total de virus

    
respondido por el aviv 21.01.2015 - 11:09
fuente
0

Podrías algo como esto:

  • Al subir, cambiarías el nombre del archivo a .txt y al descargar force con extensión .xml.
  • Puede usar la opción que menciona del archivo zip, pero luego debe pensar en algo para obtener una vista previa del archivo. (si necesita esta opción)

Para la parte de vista previa es importante que implementes algo de Evasión del filtro XSS . Esto debería ser suficiente para protegerte.

    
respondido por el G4spr 21.01.2015 - 11:24
fuente

Lea otras preguntas en las etiquetas