Démarrez la machine, hackez le système et trouvez les flags cachés pour compléter ce défi et gagner des XP!
Local File Inclusion (LFI) est une vulnérabilité d'application web qui permet aux attaquants de lire des fichiers sur le serveur en manipulant les paramètres de chemin de fichier. Elle survient lorsqu'une application utilise des entrées fournies par l'utilisateur pour construire des chemins de fichier sans validation ou assainissement approprié. Les vulnérabilités LFI se trouvent couramment dans les applications PHP qui incluent dynamiquement des fichiers basés sur des paramètres d'URL ou des entrées de formulaire.
Les applications web incluent souvent des fichiers dynamiquement pour servir différentes pages ou charger des données de configuration. Lorsque les développeurs utilisent des fonctions comme include(), require() ou file_get_contents() avec des entrées contrôlables par l'utilisateur, les attaquants peuvent manipuler le chemin du fichier pour accéder à des fichiers arbitraires sur le serveur. Une attaque LFI typique implique la traversée de répertoires en utilisant des séquences comme ../ pour s'échapper du répertoire prévu et atteindre des fichiers système sensibles tels que /etc/passwd ou des fichiers de configuration d'application contenant des identifiants.
Les vulnérabilités Local File Inclusion sont particulièrement dangereuses car elles peuvent servir de tremplin vers des attaques plus sévères. En lisant les fichiers de configuration, les attaquants peuvent découvrir des identifiants de base de données, des clés API et des détails internes de l'application. Dans certains cas, le LFI peut être escaladé en exécution de code à distance (RCE) en incluant des fichiers de log contenant du code PHP injecté, ou en exploitant des wrappers PHP comme php://filter pour lire le code source. Comprendre le LFI est essentiel pour quiconque apprend la sécurité des applications web, car cela reste l'une des vulnérabilités les plus fréquemment découvertes dans les applications basées sur PHP.
Les attaquants utilisent plusieurs techniques pour exploiter les vulnérabilités LFI. Les séquences de traversée de répertoires permettent de lire des fichiers en dehors de la racine web. Les wrappers de flux PHP comme php://filter/convert.base64-encode/resource= permettent de lire le code source PHP qui serait autrement exécuté. L'injection de byte nul (dans les anciennes versions de PHP) peut tronquer les extensions de fichier ajoutées. Les mesures défensives incluent la validation des entrées, l'utilisation de listes blanches pour les fichiers autorisés, la désactivation des fonctions PHP dangereuses et la mise en oeuvre de contrôles d'accès appropriés sur le système de fichiers.
Créez un compte gratuit et pratiquez la cybersécurité.
Lancez votre machine dédiée pour commencer à hacker
Créez un compte gratuit pour démarrer votre propre serveur dédié, soumettre des flags et gagner des XP au classement.
Commencer à Hacker GratuitementLabs qui partagent des compétences similaires
Choisissez comment vous voulez commencer
Connectez-vous à votre compte