Unrestricted file upload
Última actualización
¿Te fue útil?
Última actualización
¿Te fue útil?
Las vulnerabilidades de carga de archivos sin restrincciones ocurren cuando se permite a los usuarios subir archivos a su aplicación sin validar suficientemente cosas como su nombre, extensión, tipo, contenido o tamaño. Si no se aplican correctamente las restricciones, podría significar que incluso una función básica de carga de imágenes se pueda usar para cargar archivos arbitrarios y potencialmente peligrosos. Esto podría incluso incluir archivos de script del lado del servidor que permitan la ejecución remota de código.
OWASP Top 10 2017
A6:2017 - Security Misconfiguration
OWASP Top 10 2021
A5:2021 - Security Misconfiguration
Common Weakness Enumeration (CWE)
Vector:
Puntuación: 4.3
Calificación: Medio
Incorporar validaciones de nombre, extensión, tipo (Content-Type
), contenido (MIME-Type), tamaño y análisis/escaneo (sandbox) para el proceso de carga de archivos en la aplicación.
Establezca un límite de longitud para el nombre de archivo. Restrinja los caracteres permitidos.
Asegúrese que el nombre del archivo no contenga caracteres especiales y subcadenas que puedan interpretarse como un directorio o una secuencia transversal (../
).
Compruebe el nombre del archivo con una lista negra de extensiones prohibidas.
Verifique la extensión del archivo con una lista blanca de extensiones permitidas. Solo admita extensiones seguras y necesarias para la funcionalidad del comercio/negocio.
Valide el tipo y contenido del archivo, no confíe en el encabezado de tipo de contenido (Content-Type
), ya que puede ser falsificado.
Establezca un límite de tamaño de archivo para evitar ataques de denegación de servicio en el espacio de almacenamiento u otras funciones de la aplicación.
No revele el directorio o ubicación de cargas y no proporcione acceso directo al archivo cargado. Siempre oculte el directorio de carga de los usuarios finales y solo permita descargar los archivos a través de una página de descarga.
Aleatorizar los nombres de los archivos cargados y almacene sus nombres originales "sanitizados".
La carga de archivos solo debe ser accesible para usuarios autenticados y autorizados.
Almacene los archivos en un host diferente, lo que permite una segregación completa de funciones entre la aplicación que atiende al usuario y el host que maneja las cargas de archivos y su almacenamiento.
El directorio o lugar de almacenamiento de los archivos no debe tener ningún permiso de "ejecución".
Analicé y escaneé (sandbox) los archivos en busca de malware o cadenas maliciosas.
Utilice un Web Application Firewall (WAF) como una capa secundaria de protección.
OWASP Web Security Testing Guide (WSTG):