Icônes SCW
héros bg sans séparateur
Blog

Coders Conquer Security: Serie Share & Learn: Carga de archivos sin restricciones

Jaap Karan Singh
Publié le 10 janvier 2019
Dernière mise à jour le 6 mars 2026

El problema de la carga de archivos sin restricciones no es un ataque en sí mismo, sino una situación o estado común que permite a los atacantes acceder fácilmente a las aplicaciones y los recursos de la red. Puedes pensar que es algo así como andar por ahí con ropa mojada cuando hace frío. Si bien hacerlo no necesariamente hará que te enfermes por sí solo, reduce tu resistencia hasta el punto de que cualquier virus oportunista fácilmente abruma las defensas del cuerpo.

En el ámbito de la ciberseguridad, los atacantes pueden aprovechar rápidamente cualquier aplicación o programa al que se haya permitido subir archivos sin restricciones. Y los resultados pueden ser devastadores. Los atacantes inteligentes pueden utilizar su acceso sin restricciones para subir archivos malintencionados, configurar scripts para robar credenciales o lanzar ataques más profundos contra una red utilizando los permisos propios de una aplicación. Incluso un atacante relativamente poco sofisticado podría utilizar este tipo de acceso sin restricciones para realizar ataques de denegación de servicio o bloquear una aplicación.

Afortunadamente, hay varias maneras de superar el problema de la subida de archivos sin restricciones que detendrán a los posibles atacantes. Para ello, analizaremos tres aspectos clave de la subida de archivos sin restricciones:

  • Cómo funcionan
  • Por qué son tan peligrosos
  • Cómo puedes establecer defensas para detenerlos.

¿Cómo aprovechan los ataques la carga de archivos sin restricciones?

Hay muchas razones por las que los sitios querrían permitir que el público suba archivos. Quizás una empresa esté buscando contratar personas y quiera permitirles subir sus currículums como parte del proceso de solicitud. Los bancos pueden alentar a los clientes a completar documentos importantes en casa, por ejemplo, al solicitar un préstamo o abrir una cuenta nueva. Los sitios turísticos o de redes sociales pueden invitar a los usuarios a subir sus fotografías para compartirlas con otros.

Hay muchas razones válidas para permitir la carga de archivos. Y de forma predeterminada, es probable que la mayoría de las aplicaciones nuevas permitan subir cualquier tipo de archivo, sin restricciones. El problema comienza cuando un posible atacante se da cuenta de que no hay restricciones para subir esas cargas.

Al no tener restricciones a la hora de subir contenido, los sitios sufren tres tipos de ataques. Empezando por los menos sofisticados, un usuario malintencionado puede simplemente subir archivos enormes, como archivos comprimidos que contienen cientos de gigabytes de información. Además de reducir el ancho de banda, esto puede sobrecargar el área de almacenamiento asignada a la aplicación.

El siguiente escalón de la infame escalera es un usuario que sube un archivo malicioso, como un virus, o incluso algo más siniestro, como un ransomware. Es algo así como la vieja superstición de tener que invitar específicamente a un vampiro a tu casa. Si cuelgas un cartel que dice que cualquiera puede entrar libremente, es como subir archivos sin restricciones. Ya no controlas lo que entra por tu puerta, y probablemente deberías esperar que no todas las visitas o archivos sean benignos. Algunos de ellos pueden ser monstruos.

Por último, un atacante experto puede utilizar las subidas sin restricciones para introducirse en una red y realizar ataques más profundos. Como no hay restricciones en cuanto a lo que alguien puede subir, un atacante puede enviar su propio shell web a través de ese proceso. A partir de entonces, pueden enviar comandos a su shell y esos comandos se ejecutarán en el servidor con el mismo nivel de permisos que la aplicación.

¿Por qué es tan peligroso tener acceso sin restricciones a los archivos?

Si bien la implementación de una aplicación con acceso sin restricciones a los archivos no es un peligro inmediato, es básicamente como abrir una brecha en las defensas de ciberseguridad e invitar a alguien a atacar a la organización. Tarde o temprano, alguien responderá.

En el nivel más básico, los atacantes ni siquiera necesitan mucha habilidad para causar estragos. El simple hecho de comprimir archivos extremadamente grandes y subirlos puede ser suficiente para denegar el servicio a los usuarios válidos. Con el tiempo, puede incluso bloquear la aplicación o un sitio completo, dependiendo de cómo esté programada y conectada en red la aplicación.

Tener acceso sin restricciones a los archivos también puede abrir un agujero en los firewalls de red y otras protecciones. Si ha creado una ruta para que los atacantes carguen malware directamente en su red principal, no importará si tiene un escáner que analice su correo electrónico entrante o la actividad de navegación web de sus empleados. El malware puede bloquear la aplicación o incluso el servidor en el que se ejecuta, aunque probablemente ese sea el mejor resultado posible. En el peor de los casos, un programa verdaderamente malintencionado como el ransomware puede utilizar el servidor infectado para extenderse por toda la red.

Es probable que los atacantes más expertos no sean tan obvios al explotar una aplicación con acceso ilimitado a los archivos. En su lugar, pueden utilizar la vulnerabilidad para poner en peligro la aplicación y utilizarla para penetrar más profundamente en la red, actuar con lentitud e intentar evitar ser detectados. Esto se puede hacer cargando un shell web u otro archivo de tipo .exe y, a continuación, enviándole comandos directamente una vez que aparezca. Todo lo que el usuario ejecute a través de su shell normalmente lo ejecutará el servidor, utilizando los niveles de permisos establecidos para la aplicación que lo aloja. Para el servidor, esos comandos provienen de la aplicación y no es probable que se comprueben o examinen más a fondo.

Todo esto hace que la vulnerabilidad de acceso sin restricciones a los archivos sea una de las más peligrosas de la red. Probablemente no se trate de si causará un problema, sino de cuándo.

¿Cómo elimino la vulnerabilidad de acceso sin restricciones a los archivos?

Entonces, ¿cómo se resuelve el problema del acceso sin restricciones a los archivos? La forma más sencilla es simplemente añadir una o varias restricciones a los tipos de archivos que se pueden cargar. Puedes comunicárselas al usuario si lo deseas, por ejemplo, diciéndole que el sitio solo aceptará archivos de Word o de texto o, en el caso de un sitio para compartir imágenes, solo .jpgs o .gifs. En el backend, tendrás que crear una lista blanca de extensiones de archivo aceptables y, a continuación, rechazar todo lo demás. También se deben establecer restricciones en cuanto a la longitud máxima de los nombres de los archivos. Si el nombre de un archivo contiene caracteres especiales que podrían indicar que se ha intentado activar un comando ejecutable, también se debe rechazar.

Además de los tipos de archivos y las reglas de nomenclatura, también querrá restringir el tamaño máximo de cada archivo. El tamaño máximo debe ser razonable y apropiado para el tipo de archivo que se espera que recopile la aplicación. Esto podría significar un límite de aproximadamente 10 megabytes para los archivos de Word y algo un poco más grande, quizás alrededor de 50 megabytes, para los archivos gráficos. También es posible establecer reglas de tamaño mínimo de archivo, pero solo si se conoce bien el rango de tamaño de los archivos esperados, lo que podría ocurrir si los usuarios rellenan y cargan un formulario específico.

Es posible que los atacantes sigan encontrando una forma inteligente de burlar un shell u otro programa potencialmente malicioso más allá de las restricciones de tamaño y tipo de archivo. Como compensación, los archivos recopilados siempre deben almacenarse en un directorio privado sin privilegios de ejecución. Para mayor seguridad, el sistema puede cambiar el nombre de los archivos a una serie de caracteres aleatorios. Esto evitaría que los usuarios no autorizados de fuera de la red buscaran la ubicación del archivo que han subido, lo que podría permitirles acceder a la red. Sin embargo, si lo hace, es probable que necesite configurar y mantener una tabla que vincule los nombres aleatorios de los archivos con sus designaciones originales.

Por último, cualquier programa defensivo que utilice la organización para esas tareas debe analizar todo lo que llegue a la red a través de una carga en busca de malware y virus. Puede que esto no lo detecte todo, pero es un importante nivel de seguridad que podría usarse para detectar hasta el 90 por ciento o más de los archivos malintencionados más comunes que intentan entrar al subir archivos.

Restringir el problema de carga de archivos sin restricciones

Una vez que se implementan varios niveles de seguridad en el backend, el problema de carga de archivos sin restricciones deja de ser un problema. Básicamente, estás eliminando el problema imponiendo restricciones a la carga de archivos, por lo que ya no son ilimitadas. Solo se permite la entrada de archivos buenos, mientras que todos los vampiros y el malware se quedan fuera.

Para leer más, puede echar un vistazo a la carga de archivos sin restricciones de OWASP Hoja de trucos de prevención, que describe algunos de los problemas más comunes cuando se permite este tipo de situaciones en una red. También puede poner a prueba sus nuevos conocimientos defensivos con el escaparate gratuito de la plataforma Secure Code Warrior, que forma a los equipos de ciberseguridad para que se conviertan en los mejores ciberguerreros. Para obtener más información sobre cómo derrotar esta vulnerabilidad y la galería de otras amenazas de los delincuentes, visita la Blog de Secure Code Warrior.

¿Cree que está preparado para hacer frente a esta vulnerabilidad ahora mismo? Dirígete al campo de batalla y pon a prueba tus habilidades:

Veuillez consulter la ressource
Veuillez consulter la ressource

En el ámbito de la ciberseguridad, los atacantes pueden aprovechar rápidamente cualquier aplicación o programa al que se haya permitido subir archivos sin restricciones. Y los resultados pueden ser devastadores.

Souhaitez-vous en savoir davantage ?

Jaap Karan Singh est un évangéliste du codage sécurisé, Chief Singh et cofondateur de Secure Code Warrior.

En savoir plus

Secure Code Warrior là pour aider votre organisation à protéger le code tout au long du cycle de vie du développement logiciel et à créer une culture où la cybersécurité est une priorité. Que vous soyez administrateur AppSec, développeur, CISO ou toute autre personne impliquée dans la sécurité, nous pouvons aider votre organisation à réduire les risques associés à un code non sécurisé.

Veuillez réserver une démonstration.
Partager sur :
marques LinkedInSocialLogo x
auteur
Jaap Karan Singh
Publié le 10 janvier 2019

Jaap Karan Singh est un évangéliste du codage sécurisé, Chief Singh et cofondateur de Secure Code Warrior.

Partager sur :
marques LinkedInSocialLogo x

El problema de la carga de archivos sin restricciones no es un ataque en sí mismo, sino una situación o estado común que permite a los atacantes acceder fácilmente a las aplicaciones y los recursos de la red. Puedes pensar que es algo así como andar por ahí con ropa mojada cuando hace frío. Si bien hacerlo no necesariamente hará que te enfermes por sí solo, reduce tu resistencia hasta el punto de que cualquier virus oportunista fácilmente abruma las defensas del cuerpo.

En el ámbito de la ciberseguridad, los atacantes pueden aprovechar rápidamente cualquier aplicación o programa al que se haya permitido subir archivos sin restricciones. Y los resultados pueden ser devastadores. Los atacantes inteligentes pueden utilizar su acceso sin restricciones para subir archivos malintencionados, configurar scripts para robar credenciales o lanzar ataques más profundos contra una red utilizando los permisos propios de una aplicación. Incluso un atacante relativamente poco sofisticado podría utilizar este tipo de acceso sin restricciones para realizar ataques de denegación de servicio o bloquear una aplicación.

Afortunadamente, hay varias maneras de superar el problema de la subida de archivos sin restricciones que detendrán a los posibles atacantes. Para ello, analizaremos tres aspectos clave de la subida de archivos sin restricciones:

  • Cómo funcionan
  • Por qué son tan peligrosos
  • Cómo puedes establecer defensas para detenerlos.

¿Cómo aprovechan los ataques la carga de archivos sin restricciones?

Hay muchas razones por las que los sitios querrían permitir que el público suba archivos. Quizás una empresa esté buscando contratar personas y quiera permitirles subir sus currículums como parte del proceso de solicitud. Los bancos pueden alentar a los clientes a completar documentos importantes en casa, por ejemplo, al solicitar un préstamo o abrir una cuenta nueva. Los sitios turísticos o de redes sociales pueden invitar a los usuarios a subir sus fotografías para compartirlas con otros.

Hay muchas razones válidas para permitir la carga de archivos. Y de forma predeterminada, es probable que la mayoría de las aplicaciones nuevas permitan subir cualquier tipo de archivo, sin restricciones. El problema comienza cuando un posible atacante se da cuenta de que no hay restricciones para subir esas cargas.

Al no tener restricciones a la hora de subir contenido, los sitios sufren tres tipos de ataques. Empezando por los menos sofisticados, un usuario malintencionado puede simplemente subir archivos enormes, como archivos comprimidos que contienen cientos de gigabytes de información. Además de reducir el ancho de banda, esto puede sobrecargar el área de almacenamiento asignada a la aplicación.

El siguiente escalón de la infame escalera es un usuario que sube un archivo malicioso, como un virus, o incluso algo más siniestro, como un ransomware. Es algo así como la vieja superstición de tener que invitar específicamente a un vampiro a tu casa. Si cuelgas un cartel que dice que cualquiera puede entrar libremente, es como subir archivos sin restricciones. Ya no controlas lo que entra por tu puerta, y probablemente deberías esperar que no todas las visitas o archivos sean benignos. Algunos de ellos pueden ser monstruos.

Por último, un atacante experto puede utilizar las subidas sin restricciones para introducirse en una red y realizar ataques más profundos. Como no hay restricciones en cuanto a lo que alguien puede subir, un atacante puede enviar su propio shell web a través de ese proceso. A partir de entonces, pueden enviar comandos a su shell y esos comandos se ejecutarán en el servidor con el mismo nivel de permisos que la aplicación.

¿Por qué es tan peligroso tener acceso sin restricciones a los archivos?

Si bien la implementación de una aplicación con acceso sin restricciones a los archivos no es un peligro inmediato, es básicamente como abrir una brecha en las defensas de ciberseguridad e invitar a alguien a atacar a la organización. Tarde o temprano, alguien responderá.

En el nivel más básico, los atacantes ni siquiera necesitan mucha habilidad para causar estragos. El simple hecho de comprimir archivos extremadamente grandes y subirlos puede ser suficiente para denegar el servicio a los usuarios válidos. Con el tiempo, puede incluso bloquear la aplicación o un sitio completo, dependiendo de cómo esté programada y conectada en red la aplicación.

Tener acceso sin restricciones a los archivos también puede abrir un agujero en los firewalls de red y otras protecciones. Si ha creado una ruta para que los atacantes carguen malware directamente en su red principal, no importará si tiene un escáner que analice su correo electrónico entrante o la actividad de navegación web de sus empleados. El malware puede bloquear la aplicación o incluso el servidor en el que se ejecuta, aunque probablemente ese sea el mejor resultado posible. En el peor de los casos, un programa verdaderamente malintencionado como el ransomware puede utilizar el servidor infectado para extenderse por toda la red.

Es probable que los atacantes más expertos no sean tan obvios al explotar una aplicación con acceso ilimitado a los archivos. En su lugar, pueden utilizar la vulnerabilidad para poner en peligro la aplicación y utilizarla para penetrar más profundamente en la red, actuar con lentitud e intentar evitar ser detectados. Esto se puede hacer cargando un shell web u otro archivo de tipo .exe y, a continuación, enviándole comandos directamente una vez que aparezca. Todo lo que el usuario ejecute a través de su shell normalmente lo ejecutará el servidor, utilizando los niveles de permisos establecidos para la aplicación que lo aloja. Para el servidor, esos comandos provienen de la aplicación y no es probable que se comprueben o examinen más a fondo.

Todo esto hace que la vulnerabilidad de acceso sin restricciones a los archivos sea una de las más peligrosas de la red. Probablemente no se trate de si causará un problema, sino de cuándo.

¿Cómo elimino la vulnerabilidad de acceso sin restricciones a los archivos?

Entonces, ¿cómo se resuelve el problema del acceso sin restricciones a los archivos? La forma más sencilla es simplemente añadir una o varias restricciones a los tipos de archivos que se pueden cargar. Puedes comunicárselas al usuario si lo deseas, por ejemplo, diciéndole que el sitio solo aceptará archivos de Word o de texto o, en el caso de un sitio para compartir imágenes, solo .jpgs o .gifs. En el backend, tendrás que crear una lista blanca de extensiones de archivo aceptables y, a continuación, rechazar todo lo demás. También se deben establecer restricciones en cuanto a la longitud máxima de los nombres de los archivos. Si el nombre de un archivo contiene caracteres especiales que podrían indicar que se ha intentado activar un comando ejecutable, también se debe rechazar.

Además de los tipos de archivos y las reglas de nomenclatura, también querrá restringir el tamaño máximo de cada archivo. El tamaño máximo debe ser razonable y apropiado para el tipo de archivo que se espera que recopile la aplicación. Esto podría significar un límite de aproximadamente 10 megabytes para los archivos de Word y algo un poco más grande, quizás alrededor de 50 megabytes, para los archivos gráficos. También es posible establecer reglas de tamaño mínimo de archivo, pero solo si se conoce bien el rango de tamaño de los archivos esperados, lo que podría ocurrir si los usuarios rellenan y cargan un formulario específico.

Es posible que los atacantes sigan encontrando una forma inteligente de burlar un shell u otro programa potencialmente malicioso más allá de las restricciones de tamaño y tipo de archivo. Como compensación, los archivos recopilados siempre deben almacenarse en un directorio privado sin privilegios de ejecución. Para mayor seguridad, el sistema puede cambiar el nombre de los archivos a una serie de caracteres aleatorios. Esto evitaría que los usuarios no autorizados de fuera de la red buscaran la ubicación del archivo que han subido, lo que podría permitirles acceder a la red. Sin embargo, si lo hace, es probable que necesite configurar y mantener una tabla que vincule los nombres aleatorios de los archivos con sus designaciones originales.

Por último, cualquier programa defensivo que utilice la organización para esas tareas debe analizar todo lo que llegue a la red a través de una carga en busca de malware y virus. Puede que esto no lo detecte todo, pero es un importante nivel de seguridad que podría usarse para detectar hasta el 90 por ciento o más de los archivos malintencionados más comunes que intentan entrar al subir archivos.

Restringir el problema de carga de archivos sin restricciones

Una vez que se implementan varios niveles de seguridad en el backend, el problema de carga de archivos sin restricciones deja de ser un problema. Básicamente, estás eliminando el problema imponiendo restricciones a la carga de archivos, por lo que ya no son ilimitadas. Solo se permite la entrada de archivos buenos, mientras que todos los vampiros y el malware se quedan fuera.

Para leer más, puede echar un vistazo a la carga de archivos sin restricciones de OWASP Hoja de trucos de prevención, que describe algunos de los problemas más comunes cuando se permite este tipo de situaciones en una red. También puede poner a prueba sus nuevos conocimientos defensivos con el escaparate gratuito de la plataforma Secure Code Warrior, que forma a los equipos de ciberseguridad para que se conviertan en los mejores ciberguerreros. Para obtener más información sobre cómo derrotar esta vulnerabilidad y la galería de otras amenazas de los delincuentes, visita la Blog de Secure Code Warrior.

¿Cree que está preparado para hacer frente a esta vulnerabilidad ahora mismo? Dirígete al campo de batalla y pon a prueba tus habilidades:

Veuillez consulter la ressource
Veuillez consulter la ressource

Veuillez remplir le formulaire suivant pour télécharger le rapport.

Nous souhaiterions obtenir votre autorisation pour vous envoyer des informations sur nos produits ou sur des sujets liés au codage sécurisé. Nous traiterons toujours vos données personnelles avec le plus grand soin et ne les vendrons jamais à d'autres entreprises à des fins de marketing.

Envoyer
icône de réussite scw
icône d'erreur scw
Pour envoyer le formulaire, veuillez activer les cookies « d'analyse ». N'hésitez pas à les désactiver à nouveau une fois que vous avez terminé.

El problema de la carga de archivos sin restricciones no es un ataque en sí mismo, sino una situación o estado común que permite a los atacantes acceder fácilmente a las aplicaciones y los recursos de la red. Puedes pensar que es algo así como andar por ahí con ropa mojada cuando hace frío. Si bien hacerlo no necesariamente hará que te enfermes por sí solo, reduce tu resistencia hasta el punto de que cualquier virus oportunista fácilmente abruma las defensas del cuerpo.

En el ámbito de la ciberseguridad, los atacantes pueden aprovechar rápidamente cualquier aplicación o programa al que se haya permitido subir archivos sin restricciones. Y los resultados pueden ser devastadores. Los atacantes inteligentes pueden utilizar su acceso sin restricciones para subir archivos malintencionados, configurar scripts para robar credenciales o lanzar ataques más profundos contra una red utilizando los permisos propios de una aplicación. Incluso un atacante relativamente poco sofisticado podría utilizar este tipo de acceso sin restricciones para realizar ataques de denegación de servicio o bloquear una aplicación.

Afortunadamente, hay varias maneras de superar el problema de la subida de archivos sin restricciones que detendrán a los posibles atacantes. Para ello, analizaremos tres aspectos clave de la subida de archivos sin restricciones:

  • Cómo funcionan
  • Por qué son tan peligrosos
  • Cómo puedes establecer defensas para detenerlos.

¿Cómo aprovechan los ataques la carga de archivos sin restricciones?

Hay muchas razones por las que los sitios querrían permitir que el público suba archivos. Quizás una empresa esté buscando contratar personas y quiera permitirles subir sus currículums como parte del proceso de solicitud. Los bancos pueden alentar a los clientes a completar documentos importantes en casa, por ejemplo, al solicitar un préstamo o abrir una cuenta nueva. Los sitios turísticos o de redes sociales pueden invitar a los usuarios a subir sus fotografías para compartirlas con otros.

Hay muchas razones válidas para permitir la carga de archivos. Y de forma predeterminada, es probable que la mayoría de las aplicaciones nuevas permitan subir cualquier tipo de archivo, sin restricciones. El problema comienza cuando un posible atacante se da cuenta de que no hay restricciones para subir esas cargas.

Al no tener restricciones a la hora de subir contenido, los sitios sufren tres tipos de ataques. Empezando por los menos sofisticados, un usuario malintencionado puede simplemente subir archivos enormes, como archivos comprimidos que contienen cientos de gigabytes de información. Además de reducir el ancho de banda, esto puede sobrecargar el área de almacenamiento asignada a la aplicación.

El siguiente escalón de la infame escalera es un usuario que sube un archivo malicioso, como un virus, o incluso algo más siniestro, como un ransomware. Es algo así como la vieja superstición de tener que invitar específicamente a un vampiro a tu casa. Si cuelgas un cartel que dice que cualquiera puede entrar libremente, es como subir archivos sin restricciones. Ya no controlas lo que entra por tu puerta, y probablemente deberías esperar que no todas las visitas o archivos sean benignos. Algunos de ellos pueden ser monstruos.

Por último, un atacante experto puede utilizar las subidas sin restricciones para introducirse en una red y realizar ataques más profundos. Como no hay restricciones en cuanto a lo que alguien puede subir, un atacante puede enviar su propio shell web a través de ese proceso. A partir de entonces, pueden enviar comandos a su shell y esos comandos se ejecutarán en el servidor con el mismo nivel de permisos que la aplicación.

¿Por qué es tan peligroso tener acceso sin restricciones a los archivos?

Si bien la implementación de una aplicación con acceso sin restricciones a los archivos no es un peligro inmediato, es básicamente como abrir una brecha en las defensas de ciberseguridad e invitar a alguien a atacar a la organización. Tarde o temprano, alguien responderá.

En el nivel más básico, los atacantes ni siquiera necesitan mucha habilidad para causar estragos. El simple hecho de comprimir archivos extremadamente grandes y subirlos puede ser suficiente para denegar el servicio a los usuarios válidos. Con el tiempo, puede incluso bloquear la aplicación o un sitio completo, dependiendo de cómo esté programada y conectada en red la aplicación.

Tener acceso sin restricciones a los archivos también puede abrir un agujero en los firewalls de red y otras protecciones. Si ha creado una ruta para que los atacantes carguen malware directamente en su red principal, no importará si tiene un escáner que analice su correo electrónico entrante o la actividad de navegación web de sus empleados. El malware puede bloquear la aplicación o incluso el servidor en el que se ejecuta, aunque probablemente ese sea el mejor resultado posible. En el peor de los casos, un programa verdaderamente malintencionado como el ransomware puede utilizar el servidor infectado para extenderse por toda la red.

Es probable que los atacantes más expertos no sean tan obvios al explotar una aplicación con acceso ilimitado a los archivos. En su lugar, pueden utilizar la vulnerabilidad para poner en peligro la aplicación y utilizarla para penetrar más profundamente en la red, actuar con lentitud e intentar evitar ser detectados. Esto se puede hacer cargando un shell web u otro archivo de tipo .exe y, a continuación, enviándole comandos directamente una vez que aparezca. Todo lo que el usuario ejecute a través de su shell normalmente lo ejecutará el servidor, utilizando los niveles de permisos establecidos para la aplicación que lo aloja. Para el servidor, esos comandos provienen de la aplicación y no es probable que se comprueben o examinen más a fondo.

Todo esto hace que la vulnerabilidad de acceso sin restricciones a los archivos sea una de las más peligrosas de la red. Probablemente no se trate de si causará un problema, sino de cuándo.

¿Cómo elimino la vulnerabilidad de acceso sin restricciones a los archivos?

Entonces, ¿cómo se resuelve el problema del acceso sin restricciones a los archivos? La forma más sencilla es simplemente añadir una o varias restricciones a los tipos de archivos que se pueden cargar. Puedes comunicárselas al usuario si lo deseas, por ejemplo, diciéndole que el sitio solo aceptará archivos de Word o de texto o, en el caso de un sitio para compartir imágenes, solo .jpgs o .gifs. En el backend, tendrás que crear una lista blanca de extensiones de archivo aceptables y, a continuación, rechazar todo lo demás. También se deben establecer restricciones en cuanto a la longitud máxima de los nombres de los archivos. Si el nombre de un archivo contiene caracteres especiales que podrían indicar que se ha intentado activar un comando ejecutable, también se debe rechazar.

Además de los tipos de archivos y las reglas de nomenclatura, también querrá restringir el tamaño máximo de cada archivo. El tamaño máximo debe ser razonable y apropiado para el tipo de archivo que se espera que recopile la aplicación. Esto podría significar un límite de aproximadamente 10 megabytes para los archivos de Word y algo un poco más grande, quizás alrededor de 50 megabytes, para los archivos gráficos. También es posible establecer reglas de tamaño mínimo de archivo, pero solo si se conoce bien el rango de tamaño de los archivos esperados, lo que podría ocurrir si los usuarios rellenan y cargan un formulario específico.

Es posible que los atacantes sigan encontrando una forma inteligente de burlar un shell u otro programa potencialmente malicioso más allá de las restricciones de tamaño y tipo de archivo. Como compensación, los archivos recopilados siempre deben almacenarse en un directorio privado sin privilegios de ejecución. Para mayor seguridad, el sistema puede cambiar el nombre de los archivos a una serie de caracteres aleatorios. Esto evitaría que los usuarios no autorizados de fuera de la red buscaran la ubicación del archivo que han subido, lo que podría permitirles acceder a la red. Sin embargo, si lo hace, es probable que necesite configurar y mantener una tabla que vincule los nombres aleatorios de los archivos con sus designaciones originales.

Por último, cualquier programa defensivo que utilice la organización para esas tareas debe analizar todo lo que llegue a la red a través de una carga en busca de malware y virus. Puede que esto no lo detecte todo, pero es un importante nivel de seguridad que podría usarse para detectar hasta el 90 por ciento o más de los archivos malintencionados más comunes que intentan entrar al subir archivos.

Restringir el problema de carga de archivos sin restricciones

Una vez que se implementan varios niveles de seguridad en el backend, el problema de carga de archivos sin restricciones deja de ser un problema. Básicamente, estás eliminando el problema imponiendo restricciones a la carga de archivos, por lo que ya no son ilimitadas. Solo se permite la entrada de archivos buenos, mientras que todos los vampiros y el malware se quedan fuera.

Para leer más, puede echar un vistazo a la carga de archivos sin restricciones de OWASP Hoja de trucos de prevención, que describe algunos de los problemas más comunes cuando se permite este tipo de situaciones en una red. También puede poner a prueba sus nuevos conocimientos defensivos con el escaparate gratuito de la plataforma Secure Code Warrior, que forma a los equipos de ciberseguridad para que se conviertan en los mejores ciberguerreros. Para obtener más información sobre cómo derrotar esta vulnerabilidad y la galería de otras amenazas de los delincuentes, visita la Blog de Secure Code Warrior.

¿Cree que está preparado para hacer frente a esta vulnerabilidad ahora mismo? Dirígete al campo de batalla y pon a prueba tus habilidades:

Veuillez consulter le webinaire
Commencer
En savoir plus

Veuillez cliquer sur le lien ci-dessous et télécharger le PDF de cette ressource.

Secure Code Warrior là pour aider votre organisation à protéger le code tout au long du cycle de vie du développement logiciel et à créer une culture où la cybersécurité est une priorité. Que vous soyez administrateur AppSec, développeur, CISO ou toute autre personne impliquée dans la sécurité, nous pouvons aider votre organisation à réduire les risques associés à un code non sécurisé.

Veuillez consulter le rapportVeuillez réserver une démonstration.
Télécharger le PDF
Veuillez consulter la ressource
Partager sur :
marques LinkedInSocialLogo x
Souhaitez-vous en savoir davantage ?

Partager sur :
marques LinkedInSocialLogo x
auteur
Jaap Karan Singh
Publié le 10 janvier 2019

Jaap Karan Singh est un évangéliste du codage sécurisé, Chief Singh et cofondateur de Secure Code Warrior.

Partager sur :
marques LinkedInSocialLogo x

El problema de la carga de archivos sin restricciones no es un ataque en sí mismo, sino una situación o estado común que permite a los atacantes acceder fácilmente a las aplicaciones y los recursos de la red. Puedes pensar que es algo así como andar por ahí con ropa mojada cuando hace frío. Si bien hacerlo no necesariamente hará que te enfermes por sí solo, reduce tu resistencia hasta el punto de que cualquier virus oportunista fácilmente abruma las defensas del cuerpo.

En el ámbito de la ciberseguridad, los atacantes pueden aprovechar rápidamente cualquier aplicación o programa al que se haya permitido subir archivos sin restricciones. Y los resultados pueden ser devastadores. Los atacantes inteligentes pueden utilizar su acceso sin restricciones para subir archivos malintencionados, configurar scripts para robar credenciales o lanzar ataques más profundos contra una red utilizando los permisos propios de una aplicación. Incluso un atacante relativamente poco sofisticado podría utilizar este tipo de acceso sin restricciones para realizar ataques de denegación de servicio o bloquear una aplicación.

Afortunadamente, hay varias maneras de superar el problema de la subida de archivos sin restricciones que detendrán a los posibles atacantes. Para ello, analizaremos tres aspectos clave de la subida de archivos sin restricciones:

  • Cómo funcionan
  • Por qué son tan peligrosos
  • Cómo puedes establecer defensas para detenerlos.

¿Cómo aprovechan los ataques la carga de archivos sin restricciones?

Hay muchas razones por las que los sitios querrían permitir que el público suba archivos. Quizás una empresa esté buscando contratar personas y quiera permitirles subir sus currículums como parte del proceso de solicitud. Los bancos pueden alentar a los clientes a completar documentos importantes en casa, por ejemplo, al solicitar un préstamo o abrir una cuenta nueva. Los sitios turísticos o de redes sociales pueden invitar a los usuarios a subir sus fotografías para compartirlas con otros.

Hay muchas razones válidas para permitir la carga de archivos. Y de forma predeterminada, es probable que la mayoría de las aplicaciones nuevas permitan subir cualquier tipo de archivo, sin restricciones. El problema comienza cuando un posible atacante se da cuenta de que no hay restricciones para subir esas cargas.

Al no tener restricciones a la hora de subir contenido, los sitios sufren tres tipos de ataques. Empezando por los menos sofisticados, un usuario malintencionado puede simplemente subir archivos enormes, como archivos comprimidos que contienen cientos de gigabytes de información. Además de reducir el ancho de banda, esto puede sobrecargar el área de almacenamiento asignada a la aplicación.

El siguiente escalón de la infame escalera es un usuario que sube un archivo malicioso, como un virus, o incluso algo más siniestro, como un ransomware. Es algo así como la vieja superstición de tener que invitar específicamente a un vampiro a tu casa. Si cuelgas un cartel que dice que cualquiera puede entrar libremente, es como subir archivos sin restricciones. Ya no controlas lo que entra por tu puerta, y probablemente deberías esperar que no todas las visitas o archivos sean benignos. Algunos de ellos pueden ser monstruos.

Por último, un atacante experto puede utilizar las subidas sin restricciones para introducirse en una red y realizar ataques más profundos. Como no hay restricciones en cuanto a lo que alguien puede subir, un atacante puede enviar su propio shell web a través de ese proceso. A partir de entonces, pueden enviar comandos a su shell y esos comandos se ejecutarán en el servidor con el mismo nivel de permisos que la aplicación.

¿Por qué es tan peligroso tener acceso sin restricciones a los archivos?

Si bien la implementación de una aplicación con acceso sin restricciones a los archivos no es un peligro inmediato, es básicamente como abrir una brecha en las defensas de ciberseguridad e invitar a alguien a atacar a la organización. Tarde o temprano, alguien responderá.

En el nivel más básico, los atacantes ni siquiera necesitan mucha habilidad para causar estragos. El simple hecho de comprimir archivos extremadamente grandes y subirlos puede ser suficiente para denegar el servicio a los usuarios válidos. Con el tiempo, puede incluso bloquear la aplicación o un sitio completo, dependiendo de cómo esté programada y conectada en red la aplicación.

Tener acceso sin restricciones a los archivos también puede abrir un agujero en los firewalls de red y otras protecciones. Si ha creado una ruta para que los atacantes carguen malware directamente en su red principal, no importará si tiene un escáner que analice su correo electrónico entrante o la actividad de navegación web de sus empleados. El malware puede bloquear la aplicación o incluso el servidor en el que se ejecuta, aunque probablemente ese sea el mejor resultado posible. En el peor de los casos, un programa verdaderamente malintencionado como el ransomware puede utilizar el servidor infectado para extenderse por toda la red.

Es probable que los atacantes más expertos no sean tan obvios al explotar una aplicación con acceso ilimitado a los archivos. En su lugar, pueden utilizar la vulnerabilidad para poner en peligro la aplicación y utilizarla para penetrar más profundamente en la red, actuar con lentitud e intentar evitar ser detectados. Esto se puede hacer cargando un shell web u otro archivo de tipo .exe y, a continuación, enviándole comandos directamente una vez que aparezca. Todo lo que el usuario ejecute a través de su shell normalmente lo ejecutará el servidor, utilizando los niveles de permisos establecidos para la aplicación que lo aloja. Para el servidor, esos comandos provienen de la aplicación y no es probable que se comprueben o examinen más a fondo.

Todo esto hace que la vulnerabilidad de acceso sin restricciones a los archivos sea una de las más peligrosas de la red. Probablemente no se trate de si causará un problema, sino de cuándo.

¿Cómo elimino la vulnerabilidad de acceso sin restricciones a los archivos?

Entonces, ¿cómo se resuelve el problema del acceso sin restricciones a los archivos? La forma más sencilla es simplemente añadir una o varias restricciones a los tipos de archivos que se pueden cargar. Puedes comunicárselas al usuario si lo deseas, por ejemplo, diciéndole que el sitio solo aceptará archivos de Word o de texto o, en el caso de un sitio para compartir imágenes, solo .jpgs o .gifs. En el backend, tendrás que crear una lista blanca de extensiones de archivo aceptables y, a continuación, rechazar todo lo demás. También se deben establecer restricciones en cuanto a la longitud máxima de los nombres de los archivos. Si el nombre de un archivo contiene caracteres especiales que podrían indicar que se ha intentado activar un comando ejecutable, también se debe rechazar.

Además de los tipos de archivos y las reglas de nomenclatura, también querrá restringir el tamaño máximo de cada archivo. El tamaño máximo debe ser razonable y apropiado para el tipo de archivo que se espera que recopile la aplicación. Esto podría significar un límite de aproximadamente 10 megabytes para los archivos de Word y algo un poco más grande, quizás alrededor de 50 megabytes, para los archivos gráficos. También es posible establecer reglas de tamaño mínimo de archivo, pero solo si se conoce bien el rango de tamaño de los archivos esperados, lo que podría ocurrir si los usuarios rellenan y cargan un formulario específico.

Es posible que los atacantes sigan encontrando una forma inteligente de burlar un shell u otro programa potencialmente malicioso más allá de las restricciones de tamaño y tipo de archivo. Como compensación, los archivos recopilados siempre deben almacenarse en un directorio privado sin privilegios de ejecución. Para mayor seguridad, el sistema puede cambiar el nombre de los archivos a una serie de caracteres aleatorios. Esto evitaría que los usuarios no autorizados de fuera de la red buscaran la ubicación del archivo que han subido, lo que podría permitirles acceder a la red. Sin embargo, si lo hace, es probable que necesite configurar y mantener una tabla que vincule los nombres aleatorios de los archivos con sus designaciones originales.

Por último, cualquier programa defensivo que utilice la organización para esas tareas debe analizar todo lo que llegue a la red a través de una carga en busca de malware y virus. Puede que esto no lo detecte todo, pero es un importante nivel de seguridad que podría usarse para detectar hasta el 90 por ciento o más de los archivos malintencionados más comunes que intentan entrar al subir archivos.

Restringir el problema de carga de archivos sin restricciones

Una vez que se implementan varios niveles de seguridad en el backend, el problema de carga de archivos sin restricciones deja de ser un problema. Básicamente, estás eliminando el problema imponiendo restricciones a la carga de archivos, por lo que ya no son ilimitadas. Solo se permite la entrada de archivos buenos, mientras que todos los vampiros y el malware se quedan fuera.

Para leer más, puede echar un vistazo a la carga de archivos sin restricciones de OWASP Hoja de trucos de prevención, que describe algunos de los problemas más comunes cuando se permite este tipo de situaciones en una red. También puede poner a prueba sus nuevos conocimientos defensivos con el escaparate gratuito de la plataforma Secure Code Warrior, que forma a los equipos de ciberseguridad para que se conviertan en los mejores ciberguerreros. Para obtener más información sobre cómo derrotar esta vulnerabilidad y la galería de otras amenazas de los delincuentes, visita la Blog de Secure Code Warrior.

¿Cree que está preparado para hacer frente a esta vulnerabilidad ahora mismo? Dirígete al campo de batalla y pon a prueba tus habilidades:

Table des matières

Télécharger le PDF
Veuillez consulter la ressource
Souhaitez-vous en savoir davantage ?

Jaap Karan Singh est un évangéliste du codage sécurisé, Chief Singh et cofondateur de Secure Code Warrior.

En savoir plus

Secure Code Warrior là pour aider votre organisation à protéger le code tout au long du cycle de vie du développement logiciel et à créer une culture où la cybersécurité est une priorité. Que vous soyez administrateur AppSec, développeur, CISO ou toute autre personne impliquée dans la sécurité, nous pouvons aider votre organisation à réduire les risques associés à un code non sécurisé.

Veuillez réserver une démonstration.Télécharger
Partager sur :
marques LinkedInSocialLogo x
Centre de ressources

Ressources pour débuter

Plus de publications
Centre de ressources

Ressources pour débuter

Plus de publications