Remote File Inclusion (RFI)
#OWASP10 #RFI #PHP
La vulnerabilidad de Remote File Inclusion (RFI) es un riesgo significativo en la seguridad de las aplicaciones web. En un escenario de RFI, un atacante aprovecha una falla en la validación de entradas de usuario para incluir archivos remotos en una solicitud. Esto abre la puerta para que el atacante ejecute código malicioso en el servidor web y ponga en peligro todo el sistema.
El ataque de RFI se materializa cuando el atacante introduce una URL o un campo de formulario que contiene la referencia a un archivo remoto en la solicitud. Si la aplicación web no realiza una validación exhaustiva de estas entradas, procesará la solicitud y devolverá el contenido del archivo remoto al atacante.
El impacto de esta vulnerabilidad es sustancial. Un atacante puede aprovechar RFI para incluir archivos remotos maliciosos. También puede ejecutar comandos en el servidor comprometido, lo que le otorga un alto grado de control en el ataque. En algunos casos, el atacante puede redirigir la solicitud a un recurso PHP alojado en su propio servidor, lo que amplifica su capacidad de manipulación y control.
Para protegerse contra RFI, es imperativo que los desarrolladores implementen prácticas sólidas de validación y filtrado de entradas de usuario. Esto implica verificar minuciosamente las URL y los campos de formulario, asegurándose de que solo se permita la inclusión de archivos remotos autorizados y legítimos. Además, mantener actualizadas las medidas de seguridad y parches de la aplicación web es crucial para mitigar los riesgos asociados con esta vulnerabilidad. La prevención y la vigilancia son fundamentales para proteger los sistemas y salvaguardar la integridad de las aplicaciones web frente a los ataques de RFI.
Payload (Local)
En un entorno basico de RFI, puedes crear un archivo X que interprete el objetivo, en este caso sera un php llamado interpreter.php que busca a un archivo llamado safe.php
vi safe.php
Luego utilizas python3 -m http.server 80
Reverse Shell
Puedes tambien utilizar el siguiente payload:
Payload (PHP)
Si quieres puedes utilizar un enlace ya existente para comprobar su existencia.
En Burpsuite puedes configurarlo mejor para obtener resultados reales.
Last updated