Inclusión de Archivos Remotos

archivos-remotos

La Descarga Reflejada de Archivos (RFD) es un vector de ataque web que permite a los atacantes obtener control total sobre la máquina de la víctima. En un ataque RFD, el usuario sigue un enlace malicioso a un dominio de confianza que resulta en la descarga de un archivo a partir de ese dominio. Una vez ejecutado el atacante puede ejecutar comandos en el sistema operativo de la computadora del cliente.

 

Solución

 

Utilice un mapeado de URL exacto cuando haga el mapeado de APIs, páginas web, Servlet y al escribir reglas de reescritura. Asegúrese de que los atacantes no pueden introducir caracteres adicionales después del nombre del recurso. Los caracteres adicionales en la URL deben dar lugar a un error 404.

Codifique la entrada de datos del usuario para hacerla más segura. Por ejemplo de esta forma en Javascript las comillas dobles se trasnformarán en \x22 o \u0022, lo cual es mucho más seguro.

Añada Content-Disposition con un atributo “nombre de archivo” para las API. Por ejemplo:

Content-Disposition: attachment; filename = 1.txt

No hay razón para que un usuario tenga acceso a este tipo de API directamente desde la barra de direcciones o siguiendo un enlace. Al añadir el encabezado para todas las respuestas del API. En caso de acceso directo el archivo es descargado y guardado como 1.txt, lo que se considera inofensivo. Esta es también una buena práctica para ayudar a mitigar las vulnerabilidades XSS en APIs.

-Si es posible solicite tokens CSRF, haciendo esto los atacantes no podrán crear enlaces RFD para enviar a sus víctimas.

-Nunca incluya los datos de entrada del usuario en errores de uso del API.

-Elimine el uso de parámetros tipo PATH, son muy vulnerables a varios tipos de ataques, incluidos los XSS.

-Añada la cabecera X-Content-Type-Options

-X-Content-Type-Options: nosniff