Comment Ca Marche - Communauté informatique  
   
Accueil - Encyclopédie informatiqueTélécharger l'encyclopédieContribuer à cet article

Attaques - Manipulation d'URL

Manipulation d'URL Encyclopédie


Introduction aux URL

L'URL (Uniform Resource Locator) d'une application web est le vecteur permettant d'indiquer la ressource demandée. Il s'agit d'une chaîne de caractères ASCII imprimables qui se décompose en cinq parties :

  • Le nom du protocole : c'est-à-dire en quelque sorte le langage utilisé pour communiquer sur le réseau. Le protocole le plus largement utilisé est le protocole HTTP (HyperText Transfer Protocol), le protocole permettant d'échanger des pages Web au format HTML. De nombreux autres protocoles sont toutefois utilisables (FTP, News, Mailto, etc.)
  • Identifiant et mot de passe : permet de spécifier les paramètres d'accès à un serveur sécurisé. Cette option est déconseillée car le mot de passe circule en clair dans l'URL
  • Le nom du serveur : Il s'agit du nom de domaine de l'ordinateur hébergeant la ressource demandée. Notez qu'il est possible d'utiliser l'adresse IP du serveur.
  • Le numéro de port : il s'agit d'un numéro associé à un service permettant au serveur de savoir quel type de ressource est demandée. Le port associé par défaut au protocole est le port numéro 80. Ainsi, lorsque le service Web du serveur est associé au numéro de port 80, la spécification du numéro de port est facultative.
  • Le chemin d'accès à la ressource : Cette dernière partie permet au serveur de connaître l'emplacement auquel la ressource est située, c'est-à-dire de manière générale l'emplacement (répertoire) et le nom du fichier demandé.

Une URL possède la structure suivante :

Protocole Mot de passe (facultatif) Nom du serveur Port
(facultatif si 80)
Chemin
http:// user:password@ www.commentcamarche.net :80 /glossair/glossair.php3

L'URL peut permettre de transmettre des paramètres au serveur en faisant suivre le nom de fichier par un point d'interrogation, puis de données au format ASCII. Une URL est ainsi une chaîne de caractères selon le format suivant :

http://www.commentcamarche.net/forum/?cat=1&page=2

Manipulation d'URL

En manipulant certaines parties d'une URL, un pirate peut amener un serveur web à délivrer des pages web auxquelles il n'est pas censé avoir accès.

En effet, sur les sites web dynamiques les paramètres sont la plupart passés au travers de l'URL de la manière suivante :

http://cible/forum/?cat=2

Les données présentes dans l'URL sont créées automatiquement par le site et lors d'une navigation normale un utilisateur ne fait que cliquer sur les liens proposés par le site web. Ainsi, si un utilisateur modifie manuellement le paramètre, il peut essayer différentes valeurs, par exemple :

http://cible/forum/?cat=6

Si le concepteur n'a pas anticipé cette éventualité, le pirate peut éventuellement obtenir un accès à un espace normalement protégé.

Par ailleurs, le pirate peut amener le site à traiter un cas inattendu, par exemple :

http://cible/forum/?cat=***********
Dans le cas ci-dessus, si le concepteur du site n'a pas prévu le cas où la donnée n'est pas un chiffre, le site peut entrer dans un état non prévu et révéler des informations dans un message d'erreur.

Tâtonnement à l'aveugle

Un pirate peut éventuellement tester des répertoires et des extensions de fichier à l'aveugle, afin de trouver des informations importantes. Voici quelques exemples classiques :

  • Recherche de répertoires permettant d'administrer le site :
    http://cible/admin/
    http://cible/admin.cgi
  • Recherche de script permettant de révéler des informations sur le système distant :
    http://cible/phpinfo.php3
  • Recherche de copies de sauvegardes. L'extension .bak est généralement utilisée et elle n'est pas interprétée par défaut par les serveurs, ce qui peut aboutir à l'affichage d'un script :
    http://cible/.bak
  • Recherche de fichiers cachés du système distant. Sous les systèmes UNIX, lorsque le répertoire racine du site correspond au répertoire d'un utilisateur, il se peut que des fichiers créés par le système soit accessibles par le web :
    http://cible/.bash_history
    http://cible/.htaccess

Traversement de répertoires

Les attaques dites « de traversement de répertoires » (en anglais directory traversal ou path traversal) consistent à modifier le chemin de l'arborescence dans l'URL afin de forcer le serveur à accéder à des sections du site non autorisées.

Dans un cas classique, l'utilisateur peut être amené à remonter progressivement l'arborescence, notamment dans le cas où la ressource n'est pas accessible, par exemple :

http://cible/base/test/ascii.php3
http://cible/base/test/
http://cible/base/

Sur les serveurs vulnérables, il suffit de remonter le chemin avec plusieurs chaînes du type « ../ » :

http://cible/../../../../repertoire/fichier

Des attaques plus évoluées consistent à encoder certains caractères :

  • soit sous la forme d'encodage d'URL :
    http://cible/..%2F..%2F..%2Frepertoire/fichier
  • soit avec une notation Unicode :
    http://cible/..%u2216..%u2216repertoire/fichier

De nombreux sites dynamiques passent le nom des pages à afficher en paramètre sous une forme proche de la suivante :

http://cible/cgi-bin/script.cgi?url=index.htm

Pour peu qu'aucun contrôle ne soit réalisé, il est possible pour un pirate de modifier l'URL manuellement afin de demander l'accès à une ressource du site auquel il n'a pas accès directement, par exemple :

http://cible/cgi-bin/script.cgi?url=script.cgi

Parades

Afin de sécuriser un serveur web contre les attaques par manipulation d'URL, il est nécessaire d'effectuer une veille sur les vulnérabilités et d'appliquer régulièrement les correctifs fournis par l'éditeur du serveur web.

Par ailleurs, une configuration minutieuse du serveur web permet d'éviter à un utilisateur de naviguer sur des pages auxquelles il n'est pas censé avoir accès. Le serveur web doit ainsi être configuré en suivant les consignes suivantes :

  • Empêcher le parcours des pages situés en dessous de la racine du site web (mécanisme de chroot) ;
  • Désactiver l'affichage des fichiers présents dans un répertoire ne contenant pas de fichier d'index (« Directory Browsing ») ;
  • Supprimer les répertoires et fichiers inutiles (dont les fichiers cachés) ;
  • S'assurer que le serveur protège l'accès des répertoires contenant des données sensibles ;
  • Supprimer les options de configuration superflues ;
  • S'assurer que le serveur interprète correctement les pages dynamiques, y compris les fichiers de sauvegarde (.bak) ;
  • Supprimer les interpréteurs de scripts superflus ;
  • Empêcher la consultation en mode HTTP des pages accessibles en HTTPS.

Trucs & astuces pertinents trouvés dans la base de connaissances

25/10 21h13 Sécurité et réaction face à un piratage (MSN Messenger)
22/09 22h07 J'utilise une version piratée (Windows)
21/09 10h31 Mon PC n'intéresse pas les pirates (Mythes et légendes)
21/09 09h22 Compte MSN Messenger piraté / Piratage de compte Hotmail (MSN Messenger)
24/10 09h52 Devenir pirate informatique (Loi et droits)
20/07 14h12 Pirater une boite mail ? Facile ! (Messagerie électronique)
Piratage Plus d'astuces sur « Piratage »

Discussions pertinentes trouvées dans le forum

02/12 09h15 piratage wifi Piratage en WiFI Réseaux 08/02 10h33->Beowulf29
19/07 21h19 pirater compte mail facile PIRATER UN COMPTE MAIL ? ...FACILE ! Internet 18/01 22h29->Ssylvainsab59
11/06 00h38 compte gmail piraté compte gmail piraté Virus/Sécurité 13/11 15h31->assi48
01/05 00h08 piratage pc Piratage pc Windows 02/05 17h26->pascal197542
28/01 15h41 msn piratée [msn] piratée???? Virus/Sécurité 10/02 21h26->afideg34
08/03 01h20 msn piraté [msn]je suis piraté Virus/Sécurité 16/02 18h31->balltrap3431
13/07 13h51 homepage pirate sexplorer.it [homepage pirate] probleme avec sexplorer.it Virus/Sécurité 23/07 09h27->balltrap3422
17/05 20h16  les vrais pirates ne sont guère sur le net Actualités 27/05 17h37->440LVB20
26/10 22h52 livebox piratage (livebox) piratage ?? Internet 30/12 13h14->Bergie19
27/06 18h51 msn piratage msn [MSN] Piratage sur msn Internet 14/10 22h37->manon16
Discussion fermée Problème résolu Piratage Plus de discussions sur « Piratage »

Ce document intitulé « Attaques - Manipulation d'URL » issu de l'encyclopédie informatique Comment Ça Marche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.