Blog

Coders Conquer Security: Serie Share & Learn - Inclusión de archivos remotos

July 18, 2019
Jaap Karan Singh

Quienes sigan esta serie de blogs notarán muchas similitudes entre la vulnerabilidad de inclusión de archivos remotos y las de inclusión de archivos locales y recorrido de rutas analizadas anteriormente. Sus causas raíz son similares, al igual que las soluciones recomendadas.

En muchos sentidos, la vulnerabilidad de inclusión de archivos remotos es mucho más peligrosa y fácil de explotar que su equivalente local. Por ello, debe detectarse y remediarse lo antes posible. O mejor aún, las aplicaciones web deberían diseñarse de forma que se evite su aparición desde el principio.

En este episodio, aprenderemos:

  • Cómo los hackers explotan la vulnerabilidad de inclusión de archivos remotos
  • Por qué permitir la inclusión de archivos remotos es peligroso
  • Técnicas para solucionar este problema.

¿Cómo explotan los atacantes la inclusión de archivos remotos?

La vulnerabilidad de inclusión de archivos remotos aprovecha el comando o mecanismo de "inclusión dinámica de archivos" presente en la mayoría de los marcos de programación. Esta capacidad pretende permitir a los desarrolladores usar archivos ubicados en un servidor secundario para ejecutar actividades en el servidor de la aplicación. Obviamente, esto puede ser peligroso en manos equivocadas.

Los atacantes explotan esta capacidad buscando sitios web o aplicaciones que permitan la entrada de datos de usuario sin control, lo cual puede provenir de elementos como encabezados HTTP o áreas de entrada en formularios interactivos. Los usan como punto de partida para generar comandos de inclusión de archivos.

Por ejemplo, si un sitio usa la función GET para cargar páginas, como page = request.getParameter("page'); include page;, un atacante podría enviar una consulta usando el comando page, pero con la URL de un sitio que controle y la ruta al archivo que desea ejecutar. La consulta se envía al servidor y el archivo remoto se ejecuta en el host. La actividad se permite porque ahora forma parte de la aplicación confiable.

¿Por qué es peligrosa la vulnerabilidad de inclusión de archivos remotos?

El nivel de peligro que supone la inclusión de archivos remotos es extremadamente alto. A diferencia de las vulnerabilidades de inclusión de archivos locales, donde los archivos que ejecuta un atacante deben existir en un host y ser encontrados mediante prueba y error, no existen tales restricciones aquí. Obviamente, el atacante conoce la ubicación de los archivos que desea explotar, ya que probablemente residan en sus propias máquinas o sitios controlados. Los archivos pueden ser elegidos a mano y no necesitan existir en la máquina objetivo antes del ataque. Incluso pueden ser scripts escritos específicamente para explotar un host remoto.

En resumen, una vez que un atacante logra encontrar y explotar una vulnerabilidad de inclusión de archivos remotos, nada le impide obtener el control total de una aplicación o incluso de un sitio completo. 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 ejecute solo los comandos desde allí. Un mapa de referencia indirecta asigna la entrada de usuario no confiable a un conjunto de valores confiables codificados en el servidor. Asegúrese de incluir en una lista blanca todas las áreas donde los usuarios puedan ingresar datos, sin olvidar los encabezados HTTP, los parámetros de formulario e incluso las cookies. Hacer esto cerrará cualquier ventana que un atacante pueda usar para crear un comando de inclusión de archivos.

Como beneficio adicional, la sanitización y validación adecuadas del contenido generado por el usuario y el uso de mapas de referencia para ejecutar comandos no solo eliminarán la vulnerabilidad de inclusión de archivos remotos, sino también otras muchas, incluido el peligroso primo de este error: el exploit de inclusión de archivos locales y recorrido de rutas.

Más información sobre la inclusión de archivos remotos

Para seguir leyendo, puede consultar la guía de referencia de OWASP sobre exploits de inclusión de archivos remotos. También puede poner a prueba sus nuevos conocimientos defensivos con la demo gratuita de la plataforma Secure Code Warrior, que entrena a equipos de ciberseguridad para convertirse en los mejores ciberguerreros. Para saber más sobre cómo derrotar esta vulnerabilidad y otras amenazas, visite el blog de Secure Code Warrior.

Eslogan

Controle el desarrollo impulsado por IA antes de su lanzamiento

Mida el riesgo asistido por IA, aplique políticas de codificación segura en el momento de la confirmación y acelere la entrega segura en todo su ciclo de vida de desarrollo de software (SDLC).

Reservar una demostración
Biblioteca de recursos

Explorar más blogs

Acceda a contenido especializado sobre programación segura, gobernanza de IA y gestión de riesgos de software.

ver todo
Caso de estudio
Etiqueta de filtro
Este es un texto dentro de un bloque div.

Una cultura de seguridad: cómo Sage creó su programa de defensores

Descubre cómo Sage reforzó su seguridad con un enfoque flexible y centrado en las relaciones, logrando formar a más de 200 expertos en seguridad y alcanzar una reducción de riesgos cuantificable.

Más información
Icono de ventana de navegador con las letras KVK en negrita y dos líneas horizontales azules debajo sobre un fondo azul degradado.
Caso de estudio
Etiqueta de filtro
Este es un texto dentro de un bloque div.

Kamer van Koophandel: Seguridad a escala impulsada por los desarrolladores

La Cámara de Comercio (Kamer van Koophandel) comparte cómo integró la programación segura en el desarrollo diario mediante certificaciones basadas en roles, evaluaciones comparativas de puntuación de confianza y una cultura de responsabilidad compartida en seguridad.

Más información
Logotipo de Insurance Australia Group con texto y un icono en azul y gris dentro del diseño de una ventana de navegador web.
Caso de estudio
Etiqueta de filtro
Este es un texto dentro de un bloque div.

Cómo un «Juego de Códigos» guía a IAG Group hacia un futuro de programación más seguro

IAG Group es la entidad detrás de muchas de las principales compañías de seguros en la región de Asia-Pacífico, que suscribe pólizas para millones de clientes por un valor aproximado de 11.400 millones de dólares australianos en primas anuales.

Más información
Blog
Etiqueta de filtro
Este es un texto dentro de un bloque div.

Mes de la Concienciación sobre Ciberseguridad 2026: Comprender la seguridad de la IA es fundamental para la defensa empresarial

Hemos llegado a un punto en el que la mayoría de las principales empresas de IA han pedido públicamente una ralentización global en el desarrollo de la IA para que las medidas de seguridad puedan ponerse al día, pero la verdad es que ya se han materializado graves problemas de seguridad. Esto deja a innumerables líderes de seguridad y equipos ejecutivos en una situación urgente, a medida que los costes monetarios y de riesgo de la implementación de la IA siguen acumulándose.

Más información
Blog
Etiqueta de filtro
Este es un texto dentro de un bloque div.

Habilitador 8: Branding de su programa

Un programa de codificación segura necesita algo más que un buen contenido para tener éxito. El Habilitador 8 muestra cómo el branding transforma la participación en una experiencia codiciada basada en el estatus.

Más información
Blog
Etiqueta de filtro
Este es un texto dentro de un bloque div.

Cada empleado está ahora en la primera línea de la ciberseguridad de la IA

El panorama tecnológico empresarial está cambiando a una velocidad que pocos previeron hasta que fue demasiado tarde. Hemos cruzado oficialmente el umbral del código escrito por humanos y la asistencia básica de copilotos hacia la era del Ciclo de Vida de Desarrollo Agéntico (ADLC). Si bien los agentes de IA autónomos prometen una eficiencia sin precedentes en múltiples funciones, también traen consigo una clase completamente nueva de riesgos regulatorios y de seguridad.

Más información

Proteja el desarrollo basado en IA antes de su lanzamiento

Identifique riesgos de desarrollo, aplique políticas y prevenga vulnerabilidades en todo el ciclo de vida de su software.

Reservar una demostración
No se encontraron elementos.