🟣
Vulnerabilities
  • Inicio
  • Web
    • Full path disclosure
    • Insecure Direct Object References (IDOR)
    • Unrestricted file upload
Con tecnología de GitBook
En esta página
  • Descripción
  • Clasificación
  • Impacto
  • Recomendaciones
  • Referencias

¿Te fue útil?

  1. Web

Unrestricted file upload

AnteriorInsecure Direct Object References (IDOR)

Última actualización hace 1 año

¿Te fue útil?

Descripción

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.

Clasificación

Tipo
Valor

OWASP Top 10 2017

A6:2017 - Security Misconfiguration

OWASP Top 10 2021

A5:2021 - Security Misconfiguration

Common Weakness Enumeration (CWE)

Impacto

  • Vector:

  • Puntuación: 4.3

  • Calificación: Medio

El impacto puede cambiar según el contexto de la vulnerabilidad.

Recomendaciones

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.

Referencias

  • OWASP Web Security Testing Guide (WSTG):

CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:L/A:N
OWASP
Unexpected file types
Malicious files
OWASP Cheat Sheet Series
PortSwigger
434