Introduction
Full Path Disclosure (FPD) est la révélation du chemin d'exploitation complet d'un script vulnérable. Le bug FPD est exécuté par injection des caractères inattendus dans certains paramètres d'une page web. Le script ne s'attend pas à recevoir le caractère injecté et renvoie un message d'erreur qui comprend des informations de l'erreur, ainsi que le chemin d'exploitation du script ciblé.
C'est une faille très répandue car de nombreux développeurs ne sont pas sensibilisés à celle-ci, parce qu’elle est inoffensive. En revanche, si elle est utilisée en complément d'autres attaques, elle peut s'avérer très dangereuse (exemple : LFI ou Injection SQL).
Si un hacker peut provoquer une erreur qui va afficher l'emplacement d'un fichier important ou un dossier, il peut être en mesure de lire le contenu d'un fichier de configuration SQL, et, avoir un accès complet à la base de données.
Pourquoi le chemin d'accès complet est-il nécessaire ?
Car c'est un détail indispensable dans le cas de ces deux attaques :
Injection SQL avec load_file et outfile
Ces deux requêtes SQL (avec la requête "dumpfile", donc disons trois) ont besoins du chemin d'accès complet du répertoire cible pour s’exécuter.
Exemple :
/**/load_file('/home/cherokee/www/httpdocs/public_html/index.php')--
/**/into outfile '/home/cherokee/www/httpdocs/public_html/rawr.txt'--
Local File Inclusion (LFI)
Certaines variantes d'attaques LFI ne vous permettront pas "d'empoisonner" les logs ou d'utiliser des filtres, alors vous pouvez essayer de charger votre propre chemin à travers le site.