Coders Conquer Security: Share & Learn Series - Inclusión remota de archivos
Aquellos de ustedes que lean esta serie de blogs pueden notar muchas similitudes entre la vulnerabilidad de inclusión de archivos remotos y la vulnerabilidad de inclusión de archivos locales y de cruce de rutas discutida anteriormente. Sus causas fundamentales son similares, al igual que las correcciones recomendadas.
En muchos sentidos, la vulnerabilidad de inclusión de archivos remotos es mucho más peligrosa, y también más fácil de explotar, que su contraparte de archivos locales. Como tal, debe ser encontrada y remediada tan pronto como sea posible. O mejor aún, las aplicaciones web deben ser diseñadas de tal manera que eviten que ocurra en primer lugar.
En este episodio, aprenderemos:
- Cómo aprovechan los hackers la vulnerabilidad de inclusión remota de archivos
- Por qué es peligroso permitir la inclusión de archivos remotos
- Técnicas que pueden solucionar este problema.
¿Cómo aprovechan los atacantes la inclusión remota de archivos?
La vulnerabilidad de inclusión remota de archivos se aprovecha del comando o mecanismo de "inclusión dinámica de archivos" que existe en la mayoría de los marcos de programación. Esta capacidad tiene como objetivo permitir a los desarrolladores utilizar archivos ubicados en un servidor secundario para ejecutar actividades en el servidor de aplicaciones. Obviamente, esto puede ser peligroso en las manos equivocadas.
La forma en que los atacantes explotan esta capacidad es encontrando cualquier sitio web o aplicación que permita la entrada incontrolada del usuario, que puede provenir de cosas como cabeceras HTTP o áreas de entrada en formularios interactivos. Utilizan esto como punto de partida para generar comandos de inclusión de archivos.
Por ejemplo, si un sitio utiliza la función GET para cargar páginas, como page = request.getParameter("page'); include page; entonces un atacante podría enviar una consulta utilizando el comando page, pero con una URL de un sitio que controla y la ruta del archivo que quiere ejecutar. La consulta se pasa al servidor y el archivo remoto se ejecuta en el host. La actividad está permitida porque ahora es parte de la aplicación de confianza.
¿Por qué es peligrosa la vulnerabilidad de inclusión remota de archivos?
El nivel de peligro que supone la inclusión remota de archivos es extremadamente alto. A diferencia de las vulnerabilidades de inclusión de archivos locales, en las que los archivos que un atacante ejecuta deben existir en un host, y también ser encontrados por el atacante mediante prueba y error, no hay restricciones como esa con la inclusión de archivos remotos. Obviamente, un atacante conoce la ubicación de los archivos que quiere explotar, ya que probablemente existen en sus propias máquinas, o en los sitios que controla. Los archivos también pueden ser elegidos a mano por ellos, y no necesitan existir en la máquina de destino antes del exploit. El archivo puede incluso consistir en scripts escritos específicamente para explotar un host remoto.
En resumen, una vez que un atacante es capaz de encontrar y explotar una vulnerabilidad de inclusión de archivos remotos, no hay nada que le impida obtener el control total de una aplicación o incluso de un sitio entero. Ciertamente, ningún dato almacenado allí estará a salvo de su incursión.
Eliminación de la vulnerabilidad de inclusión de archivos remotos
Nunca permita que la entrada del usuario pase directamente a un comando de inclusión de archivos para su ejecución. En su lugar, utilice un mapa de referencia indirecta de comandos y sólo ejecute los comandos desde allí. Un mapa de referencia indirecta asigna la entrada del usuario no confiable a un conjunto de valores confiables codificados en el servidor. Asegúrese de poner en una lista blanca cualquier área en la que los usuarios puedan introducir datos, y no olvide incluir en esa lista las cabeceras HTTP, los parámetros de los formularios e incluso las cookies. Hacer esto cerrará cualquier ventana que un atacante que busque crear un comando de inclusión de archivos pueda utilizar.
Además, una adecuada sanitización y validación del contenido generado por el usuario y el empleo de mapas de referencia para ejecutar comandos no sólo aplastará la vulnerabilidad de inclusión de archivos remotos, sino también muchas otras, incluyendo la peligrosa prima de este fallo, la inclusión de archivos locales y el aprovechamiento de rutas.
Más información sobre la inclusión de archivos remotos
Para más información, puedes echar un vistazo a la guía de referencia de OWASP para los exploits de inclusión de archivos remotos. También puedes poner a prueba tus nuevos conocimientos defensivos con la demostración gratuita de la plataforma Secure Code Warrior , que forma a los equipos de ciberseguridad para que se conviertan en los mejores ciberguerreros. Para saber más sobre cómo derrotar esta vulnerabilidad, y una galería de pícaros de otras amenazas, visite el blogSecure Code Warrior .


En muchos sentidos, la vulnerabilidad de inclusión de archivos remotos es mucho más peligrosa, y también más fácil de explotar, que su contraparte de archivos locales. Como tal, debe ser encontrada y remediada tan pronto como sea posible.
Jaap Karan Singh es un evangelista de la codificación segura, jefe Singh y cofundador de Secure Code Warrior.

Secure Code Warrior está a disposición de su organización para ayudarle a proteger el código a lo largo de todo el ciclo de vida de desarrollo de software y crear una cultura en la que la ciberseguridad sea una prioridad. Tanto si es director de AppSec, desarrollador, CISO o cualquier persona implicada en la seguridad, podemos ayudar a su organización a reducir los riesgos asociados a un código inseguro.
Reservar una demostraciónJaap Karan Singh es un evangelista de la codificación segura, jefe Singh y cofundador de Secure Code Warrior.


Aquellos de ustedes que lean esta serie de blogs pueden notar muchas similitudes entre la vulnerabilidad de inclusión de archivos remotos y la vulnerabilidad de inclusión de archivos locales y de cruce de rutas discutida anteriormente. Sus causas fundamentales son similares, al igual que las correcciones recomendadas.
En muchos sentidos, la vulnerabilidad de inclusión de archivos remotos es mucho más peligrosa, y también más fácil de explotar, que su contraparte de archivos locales. Como tal, debe ser encontrada y remediada tan pronto como sea posible. O mejor aún, las aplicaciones web deben ser diseñadas de tal manera que eviten que ocurra en primer lugar.
En este episodio, aprenderemos:
- Cómo aprovechan los hackers la vulnerabilidad de inclusión remota de archivos
- Por qué es peligroso permitir la inclusión de archivos remotos
- Técnicas que pueden solucionar este problema.
¿Cómo aprovechan los atacantes la inclusión remota de archivos?
La vulnerabilidad de inclusión remota de archivos se aprovecha del comando o mecanismo de "inclusión dinámica de archivos" que existe en la mayoría de los marcos de programación. Esta capacidad tiene como objetivo permitir a los desarrolladores utilizar archivos ubicados en un servidor secundario para ejecutar actividades en el servidor de aplicaciones. Obviamente, esto puede ser peligroso en las manos equivocadas.
La forma en que los atacantes explotan esta capacidad es encontrando cualquier sitio web o aplicación que permita la entrada incontrolada del usuario, que puede provenir de cosas como cabeceras HTTP o áreas de entrada en formularios interactivos. Utilizan esto como punto de partida para generar comandos de inclusión de archivos.
Por ejemplo, si un sitio utiliza la función GET para cargar páginas, como page = request.getParameter("page'); include page; entonces un atacante podría enviar una consulta utilizando el comando page, pero con una URL de un sitio que controla y la ruta del archivo que quiere ejecutar. La consulta se pasa al servidor y el archivo remoto se ejecuta en el host. La actividad está permitida porque ahora es parte de la aplicación de confianza.
¿Por qué es peligrosa la vulnerabilidad de inclusión remota de archivos?
El nivel de peligro que supone la inclusión remota de archivos es extremadamente alto. A diferencia de las vulnerabilidades de inclusión de archivos locales, en las que los archivos que un atacante ejecuta deben existir en un host, y también ser encontrados por el atacante mediante prueba y error, no hay restricciones como esa con la inclusión de archivos remotos. Obviamente, un atacante conoce la ubicación de los archivos que quiere explotar, ya que probablemente existen en sus propias máquinas, o en los sitios que controla. Los archivos también pueden ser elegidos a mano por ellos, y no necesitan existir en la máquina de destino antes del exploit. El archivo puede incluso consistir en scripts escritos específicamente para explotar un host remoto.
En resumen, una vez que un atacante es capaz de encontrar y explotar una vulnerabilidad de inclusión de archivos remotos, no hay nada que le impida obtener el control total de una aplicación o incluso de un sitio entero. Ciertamente, ningún dato almacenado allí estará a salvo de su incursión.
Eliminación de la vulnerabilidad de inclusión de archivos remotos
Nunca permita que la entrada del usuario pase directamente a un comando de inclusión de archivos para su ejecución. En su lugar, utilice un mapa de referencia indirecta de comandos y sólo ejecute los comandos desde allí. Un mapa de referencia indirecta asigna la entrada del usuario no confiable a un conjunto de valores confiables codificados en el servidor. Asegúrese de poner en una lista blanca cualquier área en la que los usuarios puedan introducir datos, y no olvide incluir en esa lista las cabeceras HTTP, los parámetros de los formularios e incluso las cookies. Hacer esto cerrará cualquier ventana que un atacante que busque crear un comando de inclusión de archivos pueda utilizar.
Además, una adecuada sanitización y validación del contenido generado por el usuario y el empleo de mapas de referencia para ejecutar comandos no sólo aplastará la vulnerabilidad de inclusión de archivos remotos, sino también muchas otras, incluyendo la peligrosa prima de este fallo, la inclusión de archivos locales y el aprovechamiento de rutas.
Más información sobre la inclusión de archivos remotos
Para más información, puedes echar un vistazo a la guía de referencia de OWASP para los exploits de inclusión de archivos remotos. También puedes poner a prueba tus nuevos conocimientos defensivos con la demostración gratuita de la plataforma Secure Code Warrior , que forma a los equipos de ciberseguridad para que se conviertan en los mejores ciberguerreros. Para saber más sobre cómo derrotar esta vulnerabilidad, y una galería de pícaros de otras amenazas, visite el blogSecure Code Warrior .

Aquellos de ustedes que lean esta serie de blogs pueden notar muchas similitudes entre la vulnerabilidad de inclusión de archivos remotos y la vulnerabilidad de inclusión de archivos locales y de cruce de rutas discutida anteriormente. Sus causas fundamentales son similares, al igual que las correcciones recomendadas.
En muchos sentidos, la vulnerabilidad de inclusión de archivos remotos es mucho más peligrosa, y también más fácil de explotar, que su contraparte de archivos locales. Como tal, debe ser encontrada y remediada tan pronto como sea posible. O mejor aún, las aplicaciones web deben ser diseñadas de tal manera que eviten que ocurra en primer lugar.
En este episodio, aprenderemos:
- Cómo aprovechan los hackers la vulnerabilidad de inclusión remota de archivos
- Por qué es peligroso permitir la inclusión de archivos remotos
- Técnicas que pueden solucionar este problema.
¿Cómo aprovechan los atacantes la inclusión remota de archivos?
La vulnerabilidad de inclusión remota de archivos se aprovecha del comando o mecanismo de "inclusión dinámica de archivos" que existe en la mayoría de los marcos de programación. Esta capacidad tiene como objetivo permitir a los desarrolladores utilizar archivos ubicados en un servidor secundario para ejecutar actividades en el servidor de aplicaciones. Obviamente, esto puede ser peligroso en las manos equivocadas.
La forma en que los atacantes explotan esta capacidad es encontrando cualquier sitio web o aplicación que permita la entrada incontrolada del usuario, que puede provenir de cosas como cabeceras HTTP o áreas de entrada en formularios interactivos. Utilizan esto como punto de partida para generar comandos de inclusión de archivos.
Por ejemplo, si un sitio utiliza la función GET para cargar páginas, como page = request.getParameter("page'); include page; entonces un atacante podría enviar una consulta utilizando el comando page, pero con una URL de un sitio que controla y la ruta del archivo que quiere ejecutar. La consulta se pasa al servidor y el archivo remoto se ejecuta en el host. La actividad está permitida porque ahora es parte de la aplicación de confianza.
¿Por qué es peligrosa la vulnerabilidad de inclusión remota de archivos?
El nivel de peligro que supone la inclusión remota de archivos es extremadamente alto. A diferencia de las vulnerabilidades de inclusión de archivos locales, en las que los archivos que un atacante ejecuta deben existir en un host, y también ser encontrados por el atacante mediante prueba y error, no hay restricciones como esa con la inclusión de archivos remotos. Obviamente, un atacante conoce la ubicación de los archivos que quiere explotar, ya que probablemente existen en sus propias máquinas, o en los sitios que controla. Los archivos también pueden ser elegidos a mano por ellos, y no necesitan existir en la máquina de destino antes del exploit. El archivo puede incluso consistir en scripts escritos específicamente para explotar un host remoto.
En resumen, una vez que un atacante es capaz de encontrar y explotar una vulnerabilidad de inclusión de archivos remotos, no hay nada que le impida obtener el control total de una aplicación o incluso de un sitio entero. Ciertamente, ningún dato almacenado allí estará a salvo de su incursión.
Eliminación de la vulnerabilidad de inclusión de archivos remotos
Nunca permita que la entrada del usuario pase directamente a un comando de inclusión de archivos para su ejecución. En su lugar, utilice un mapa de referencia indirecta de comandos y sólo ejecute los comandos desde allí. Un mapa de referencia indirecta asigna la entrada del usuario no confiable a un conjunto de valores confiables codificados en el servidor. Asegúrese de poner en una lista blanca cualquier área en la que los usuarios puedan introducir datos, y no olvide incluir en esa lista las cabeceras HTTP, los parámetros de los formularios e incluso las cookies. Hacer esto cerrará cualquier ventana que un atacante que busque crear un comando de inclusión de archivos pueda utilizar.
Además, una adecuada sanitización y validación del contenido generado por el usuario y el empleo de mapas de referencia para ejecutar comandos no sólo aplastará la vulnerabilidad de inclusión de archivos remotos, sino también muchas otras, incluyendo la peligrosa prima de este fallo, la inclusión de archivos locales y el aprovechamiento de rutas.
Más información sobre la inclusión de archivos remotos
Para más información, puedes echar un vistazo a la guía de referencia de OWASP para los exploits de inclusión de archivos remotos. También puedes poner a prueba tus nuevos conocimientos defensivos con la demostración gratuita de la plataforma Secure Code Warrior , que forma a los equipos de ciberseguridad para que se conviertan en los mejores ciberguerreros. Para saber más sobre cómo derrotar esta vulnerabilidad, y una galería de pícaros de otras amenazas, visite el blogSecure Code Warrior .

Haga clic en el siguiente enlace y descargue el PDF de este recurso.
Secure Code Warrior está a disposición de su organización para ayudarle a proteger el código a lo largo de todo el ciclo de vida de desarrollo de software y crear una cultura en la que la ciberseguridad sea una prioridad. Tanto si es director de AppSec, desarrollador, CISO o cualquier persona implicada en la seguridad, podemos ayudar a su organización a reducir los riesgos asociados a un código inseguro.
Ver el informeReservar una demostraciónJaap Karan Singh es un evangelista de la codificación segura, jefe Singh y cofundador de Secure Code Warrior.
Aquellos de ustedes que lean esta serie de blogs pueden notar muchas similitudes entre la vulnerabilidad de inclusión de archivos remotos y la vulnerabilidad de inclusión de archivos locales y de cruce de rutas discutida anteriormente. Sus causas fundamentales son similares, al igual que las correcciones recomendadas.
En muchos sentidos, la vulnerabilidad de inclusión de archivos remotos es mucho más peligrosa, y también más fácil de explotar, que su contraparte de archivos locales. Como tal, debe ser encontrada y remediada tan pronto como sea posible. O mejor aún, las aplicaciones web deben ser diseñadas de tal manera que eviten que ocurra en primer lugar.
En este episodio, aprenderemos:
- Cómo aprovechan los hackers la vulnerabilidad de inclusión remota de archivos
- Por qué es peligroso permitir la inclusión de archivos remotos
- Técnicas que pueden solucionar este problema.
¿Cómo aprovechan los atacantes la inclusión remota de archivos?
La vulnerabilidad de inclusión remota de archivos se aprovecha del comando o mecanismo de "inclusión dinámica de archivos" que existe en la mayoría de los marcos de programación. Esta capacidad tiene como objetivo permitir a los desarrolladores utilizar archivos ubicados en un servidor secundario para ejecutar actividades en el servidor de aplicaciones. Obviamente, esto puede ser peligroso en las manos equivocadas.
La forma en que los atacantes explotan esta capacidad es encontrando cualquier sitio web o aplicación que permita la entrada incontrolada del usuario, que puede provenir de cosas como cabeceras HTTP o áreas de entrada en formularios interactivos. Utilizan esto como punto de partida para generar comandos de inclusión de archivos.
Por ejemplo, si un sitio utiliza la función GET para cargar páginas, como page = request.getParameter("page'); include page; entonces un atacante podría enviar una consulta utilizando el comando page, pero con una URL de un sitio que controla y la ruta del archivo que quiere ejecutar. La consulta se pasa al servidor y el archivo remoto se ejecuta en el host. La actividad está permitida porque ahora es parte de la aplicación de confianza.
¿Por qué es peligrosa la vulnerabilidad de inclusión remota de archivos?
El nivel de peligro que supone la inclusión remota de archivos es extremadamente alto. A diferencia de las vulnerabilidades de inclusión de archivos locales, en las que los archivos que un atacante ejecuta deben existir en un host, y también ser encontrados por el atacante mediante prueba y error, no hay restricciones como esa con la inclusión de archivos remotos. Obviamente, un atacante conoce la ubicación de los archivos que quiere explotar, ya que probablemente existen en sus propias máquinas, o en los sitios que controla. Los archivos también pueden ser elegidos a mano por ellos, y no necesitan existir en la máquina de destino antes del exploit. El archivo puede incluso consistir en scripts escritos específicamente para explotar un host remoto.
En resumen, una vez que un atacante es capaz de encontrar y explotar una vulnerabilidad de inclusión de archivos remotos, no hay nada que le impida obtener el control total de una aplicación o incluso de un sitio entero. Ciertamente, ningún dato almacenado allí estará a salvo de su incursión.
Eliminación de la vulnerabilidad de inclusión de archivos remotos
Nunca permita que la entrada del usuario pase directamente a un comando de inclusión de archivos para su ejecución. En su lugar, utilice un mapa de referencia indirecta de comandos y sólo ejecute los comandos desde allí. Un mapa de referencia indirecta asigna la entrada del usuario no confiable a un conjunto de valores confiables codificados en el servidor. Asegúrese de poner en una lista blanca cualquier área en la que los usuarios puedan introducir datos, y no olvide incluir en esa lista las cabeceras HTTP, los parámetros de los formularios e incluso las cookies. Hacer esto cerrará cualquier ventana que un atacante que busque crear un comando de inclusión de archivos pueda utilizar.
Además, una adecuada sanitización y validación del contenido generado por el usuario y el empleo de mapas de referencia para ejecutar comandos no sólo aplastará la vulnerabilidad de inclusión de archivos remotos, sino también muchas otras, incluyendo la peligrosa prima de este fallo, la inclusión de archivos locales y el aprovechamiento de rutas.
Más información sobre la inclusión de archivos remotos
Para más información, puedes echar un vistazo a la guía de referencia de OWASP para los exploits de inclusión de archivos remotos. También puedes poner a prueba tus nuevos conocimientos defensivos con la demostración gratuita de la plataforma Secure Code Warrior , que forma a los equipos de ciberseguridad para que se conviertan en los mejores ciberguerreros. Para saber más sobre cómo derrotar esta vulnerabilidad, y una galería de pícaros de otras amenazas, visite el blogSecure Code Warrior .
Índice
Jaap Karan Singh es un evangelista de la codificación segura, jefe Singh y cofundador de Secure Code Warrior.

Secure Code Warrior está a disposición de su organización para ayudarle a proteger el código a lo largo de todo el ciclo de vida de desarrollo de software y crear una cultura en la que la ciberseguridad sea una prioridad. Tanto si es director de AppSec, desarrollador, CISO o cualquier persona implicada en la seguridad, podemos ayudar a su organización a reducir los riesgos asociados a un código inseguro.
Reservar una demostraciónDescargarRecursos para empezar
Seguridad desde el diseño: Definición de las mejores prácticas, capacitación de los desarrolladores y evaluación comparativa de los resultados de la seguridad preventiva
En este documento de investigación, los cofundadores Secure Code Warrior , Pieter Danhieux y el Dr. Matias Madou, Ph.D., junto con los expertos colaboradores, Chris Inglis, ex Director Nacional Cibernético de EE.UU. (ahora Asesor Estratégico de Paladin Capital Group), y Devin Lynch, Director Senior, Paladin Global Institute, revelarán los hallazgos clave de más de veinte entrevistas en profundidad con líderes de seguridad empresarial, incluyendo CISOs, un VP de Seguridad de Aplicaciones y profesionales de seguridad de software.
Evaluación comparativa de las competencias en materia de seguridad: optimización del diseño seguro en la empresa
Encontrar datos significativos sobre el éxito de las iniciativas Secure-by-Design es notoriamente difícil. Los responsables de la seguridad de la información se enfrentan a menudo al reto de demostrar el rendimiento de la inversión (ROI) y el valor empresarial de las actividades de los programas de seguridad, tanto a nivel de las personas como de la empresa. Por no mencionar que a las empresas les resulta especialmente difícil obtener información sobre cómo se comparan sus organizaciones con los estándares actuales del sector. La Estrategia Nacional de Ciberseguridad del Presidente desafió a las partes interesadas a "adoptar la seguridad y la resiliencia desde el diseño". La clave para que las iniciativas de seguridad por diseño funcionen no es sólo dotar a los desarrolladores de las habilidades necesarias para garantizar un código seguro, sino también garantizar a los reguladores que esas habilidades están en su lugar. En esta presentación, compartimos una miríada de datos cualitativos y cuantitativos, derivados de múltiples fuentes primarias, incluidos puntos de datos internos recogidos de más de 250.000 desarrolladores, opiniones de clientes basadas en datos y estudios públicos. Aprovechando esta agregación de puntos de datos, pretendemos comunicar una visión del estado actual de las iniciativas Secure-by-Design en múltiples verticales. El informe detalla por qué este espacio está actualmente infrautilizado, el impacto significativo que un programa de mejora de las competencias puede tener en la mitigación de los riesgos de ciberseguridad y el potencial para eliminar categorías de vulnerabilidades de un código base.
Recursos para empezar
Cierre el círculo de las vulnerabilidades con Secure Code Warrior + HackerOne
Secure Code Warrior se complace en anunciar nuestra nueva integración con HackerOne, líder en soluciones de seguridad ofensiva. Juntos, estamos construyendo un ecosistema potente e integrado. HackerOne señala dónde se producen realmente las vulnerabilidades en entornos reales, exponiendo el "qué" y el "dónde" de los problemas de seguridad.
Revelado: Cómo define el sector cibernético la seguridad por diseño
En nuestro último libro blanco, nuestros cofundadores, Pieter Danhieux y el doctor Matias Madou, se sentaron con más de veinte líderes de seguridad empresarial, incluidos CISO, líderes de AppSec y profesionales de la seguridad, para averiguar las piezas clave de este rompecabezas y descubrir la realidad detrás del movimiento Secure by Design. Se trata de una ambición compartida por todos los equipos de seguridad, pero no de un libro de jugadas compartido.
¿Vibe Coding va a convertir tu código en una fiesta de fraternidad?
Vibe Coding es como una fiesta de fraternidad universitaria, y la IA es la pieza central de todos los festejos, el barril. Es muy divertido dar rienda suelta a la creatividad y ver adónde te lleva tu imaginación, pero después de unas cuantas borracheras, beber (o usar IA) con moderación es, sin duda, la solución más segura a largo plazo.