TehWoas Index du Forum
TehWoas
Site des challenges lobby
 
TehWoas Index du ForumFAQRechercherS’enregistrerConnexion

:: La faille include ::

 
Poster un nouveau sujet   Répondre au sujet    TehWoas Index du Forum -> Poster ici tout vos sites Hacker, Vos Virus et Vos tutos, stealer ect.... -> Failles Web
Sujet précédent :: Sujet suivant  
Auteur Message
TehWoas
Invité





MessagePosté le: Jeu 20 Sep - 18:07 (2012)    Sujet du message: La faille include Répondre en citant

Introduction
La faille include s'appelle ainsi à cause de la fonction include. Vous comprendrez mieux dans 2 minutes 

Cette faille peut être trouvée dans tout les sites utilisant du PHP. Je le dit tout de suite, ce n'est pas la faute à PHP mais bien au développeur du site. Voyons comme cela marche.

Explications
Dans l'url (l'adresse du site) vous pouvez souvent voir à la fin des chose dans ce style : http://exemple.com/index.php?page=bonjour.php.
Quand on voit ça, il faut se dire que le PHP se dit : Ok, le page est bonjour.php et dans la page en php on veut inclure cette page (pour l'afficher).
Regardons la page qui inclus (ici index.php) :
Code:

$page = $_GET['page']; //$page : la page capturée de l'url (pour simplifier)
include($page); //On inclut la page

Traduction : J'inclus la page demandée. Ici j'inclus bonjour.php.

Et nous avons notre page bonjour.php qui s'affiche !

La faille
Le problème c'est que l'on peut très bien écrire http://exemple.com/index.php?page=http://google.com
Si le site affiche la page de google, il y a bien un problème car on pourrait très bien inclure un script malveillant, un shell et avoir acces au serveur puis faire ce que l'on veut. On pourrait aussi inclure un fichier .htaccess et/ou .htpasswd (qui contient, en principe, les mots de passes).
]J'en expliquerait pas plus ici mais c'est pour que vous comprenez le principe 
 

Sécuriser la faille
Il y a plusieurs moyen pour contourner cette faille. On peut forcer d'inclure un page dans un dossier comme ça si le pirate veur inclure un site externe cela donnera :
Code:

include("mon_dossier/http://google.com");

Ce qui échouera pour le pirate.
Le mieux pour sécuriser cette faille est d'utiliser la fonction basename qui permet de garder uniquement la base d'un chemin. Exemple : http://exemle.com/script.php retourne juste script.php.

Voici un exemple ou j'ai rajouter un "file_exists" pour être sur d'inclure la page seulement si elle existe sinon on lui affiche l'index.
Code:

$page = basename($_GET['page']); //$page : la page capturée de l'url (pour simplifier) et on prend le nom de base
if (file_exists("mon_dossier/$page.html")){ //Si la page existe, on l'inclus
    include("mon_dossier/$page.html"); //On force le .html
} else {
    include('mon_dossier/index.html'); //Si elle n'existe pas, on inclus l'index


Revenir en haut
Publicité






MessagePosté le: Jeu 20 Sep - 18:07 (2012)    Sujet du message: Publicité

PublicitéSupprimer les publicités ?
Revenir en haut
Montrer les messages depuis:   
Poster un nouveau sujet   Répondre au sujet    TehWoas Index du Forum -> Poster ici tout vos sites Hacker, Vos Virus et Vos tutos, stealer ect.... -> Failles Web Toutes les heures sont au format GMT + 1 Heure
Page 1 sur 1

 
Sauter vers:  

Index | creer un forum | Forum gratuit d’entraide | Annuaire des forums gratuits | Signaler une violation | Conditions générales d'utilisation
Thème créé par TehWoas'
Powered by phpBB © 2012 phpBB Group
Traduction par : phpBB-fr.com
  • TehWoas™ ©2012-2013