cyber:vulnerabilite:local_file_inclusion
Différences
Ci-dessous, les différences entre deux révisions de la page.
cyber:vulnerabilite:local_file_inclusion [2025/08/04 15:36] – créée admin | cyber:vulnerabilite:local_file_inclusion [2025/08/04 15:41] (Version actuelle) – admin | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
====== Local File Inclusion ====== | ====== Local File Inclusion ====== | ||
+ | ===== Description ===== | ||
+ | |||
+ | **Les LFI pour Local File Inclusion sont des vulnérabilités qui peuvent permettre à un attaquant d' | ||
+ | |||
+ | Cela signifie que l' | ||
+ | |||
+ | ===== Pré-requis d' | ||
+ | |||
+ | Pour exploiter cette vulnérabilité, | ||
+ | |||
+ | ==== Connaissances nécessaires ==== | ||
+ | |||
+ | | ||
+ | |||
+ | ==== Outils nécessaires ==== | ||
+ | |||
+ | * Outils de modification et/ou d’interception de requêtes (Burp, Curl). | ||
+ | |||
+ | ===== Flux d' | ||
+ | |||
+ | ==== Explorer ==== | ||
+ | |||
+ | Pour identifier les endpoints et/ou pages vulnérables à une LFI, il est important de naviguer sur l' | ||
+ | |||
+ | ==== Expérimenter ==== | ||
+ | |||
+ | Une fois les points d' | ||
+ | |||
+ | ==== Exploiter ==== | ||
+ | |||
+ | ===== Conséquences potentielles ===== | ||
+ | |||
+ | Une exploitation réussie de ce type de vulnérabilité peut permettre : | ||
+ | * La fuite de données confidentielles, | ||
+ | * Une potentielle escalade de privilège afin d' | ||
+ | * Une attaque par déni de service (DoS) par la surcharge du serveur. | ||
+ | |||
+ | ===== Contre-mesures ===== | ||
+ | |||
+ | Les contre-mesures suivantes peuvent être mises en œuvre : | ||
+ | * Utiliser des fonctions sécurisées et connues ; | ||
+ | * Valider toutes les entrées d'URL pour s' | ||
+ | * Filtrer les caractères spéciaux dans toutes les entrées. | ||
+ | |||
+ | ====== Comment cela fonctionne ====== | ||
+ | Le scénario suivant peut être joué via l’exploitation de cette vulnérabilité : | ||
+ | * Exécution de code malveillant : un attaquant peut inclure un fichier PHP malveillant contenant du code malveillant dans une page Web vulnérable à une LFI. | ||
+ | |||
+ | ===== Exemple 1 ===== | ||
+ | |||
+ | Voici un exemple de code PHP vulnérable à une Local File Inclusion : | ||
+ | |||
+ | <code php> | ||
+ | <?php | ||
+ | $file = $_GET[' | ||
+ | include($file); | ||
+ | ?> | ||
+ | </ | ||
+ | |||
+ | Ce code PHP permet à un utilisateur de spécifier la page à inclure via un paramètre GET nommé " | ||
+ | |||
+ | Par exemple, si l' | ||
+ | |||
+ | ===== Exemple 2 ===== | ||
+ | |||
+ | Voici un exemple de code PHP vulnérabilité à une Local File Inclusion en null byte : | ||
+ | |||
+ | <code php> | ||
+ | <?php | ||
+ | $file = $_GET[' | ||
+ | include('/ | ||
+ | ?> | ||
+ | </ | ||
+ | |||
+ | La variable $file est définie à partir de la valeur du paramètre GET nommé " | ||
+ | |||
+ | Cependant, cette technique d' | ||
+ | |||
+ | Voici un exemple d' | ||
+ | https:// | ||
+ | |||
+ | L' | ||
+ | |||
+ | Pour empêcher cette famille de LFI utilisant un null byte, il est possible d' | ||
+ | |||
+ | Voici un exemple de correction du code PHP vulnérable : | ||
+ | |||
+ | <code php> | ||
+ | <?php | ||
+ | $file = basename($_GET[' | ||
+ | $allowed_files = array(' | ||
+ | if (in_array($file, | ||
+ | include('/ | ||
+ | } else { | ||
+ | echo " | ||
+ | } | ||
+ | ?> | ||
+ | </ | ||
+ | |||
+ | ====== CWEs ====== | ||
+ | |||
+ | * [[https:// | ||
+ | * The PHP application receives input from an upstream component, but it does not restrict or incorrectly restricts the input before its usage in " | ||
+ | |||
+ | ====== References ====== | ||
+ | |||
+ | URL : | ||
+ | * https:// | ||
+ | * https:// | ||
+ | ====== Retour fiches vulnérabilités ====== | ||
+ | * [[cyber: | ||
+ | |||
+ | |||
+ | |||
cyber/vulnerabilite/local_file_inclusion.txt · Dernière modification : 2025/08/04 15:41 de admin