KOMMANDOInternetMatérielsPrestationsNEXTSTEP·OPENSTEPFormationsPartenairesRéférences



[banniere]

Détail d'un détournement de compteur

L'anecdote est réelle et se déroule la veille du premier tour des élections cantonales de mars 1998. Un internaute désireux de faire tourner en bourrique un homme politique qu'il estime mégalomane apprend que ce dernier dispose d'une représentation sur Internet par le biais d'un site à son nom.
L'idée qui germe dans son cerveau machiavélique se borne tout simplement à simuler un nombre ahurissant de connexions. Comment ?

Première étape, regarder le source HTML de la page qui contient le compteur.

Celle-ci contient une directive d'affichage d'image de la forme :

<IMG SRC="http://www.cybercable.tm.fr/cgi-bin/Count.cgi?display=counter&df=xxx.dat" ALIGN="right" WIDTH="102" HEIGHT="32">

En fait, le nom de l'image fait référence à un programme (Count.cgi) qui va créer dynamiquement une représentation graphique au format GIF ou JPEG (puisque ce sont les deux principaux formats graphiques reconnus par la majorité des navigateurs Web) du compteur et l'envoyer au navigateur afin de l'insérer dans le document qui y fait référence.
Ce programme étant sollicité à chaque consultation du document, il conserve dans un fichier (côté serveur) le nombre de fois qu'il a été exécuté pour communiquer à chaque fois une nouvelle image avec un compteur à jour.
Pour ne pas avoir à écrire un programme de comptage différent pour chaque site qui l'utilise, la solution retenue ici consiste à lui communiquer un ou plusieurs paramètres, en l'occurrence les variables display et df associées respectivement aux valeurs counter et xxx.dat. (Bien évidemment, nous avons intentionnellement remplacé la véritable valeur par xxx, nous ne faisons pas de politique.)
L'étape suivante consiste à recopier cette directive dans un fichier en local, de l'entourer des directives HTML de base pour faire les choses proprement, ce qui donne :

<HTML>
<HEAD><TITLE>Augmentation artificielle de compteur</TITLE></HEAD>
<BODY>
<img src="http://www.cybercable.tm.fr/cgi-bin/Count.cgi?display=counter&df=xxx.dat" align="right" width="102" height="32">
</BODY>
</HTML>

Il suffit de sauver ce source dans un fichier, puis de l'ouvrir dans le navigateur, et d'appuyer plusieurs fois sur le bouton de rafraîchissement pour voir l'image (et seulement l'image) du compteur afficher un nombre en constante augmentation.
Si vous regardez sur la page originale qui contient, vous avez alors confirmation que la sollicitation de ce programme de comptage au sein de votre propre fichier HTML a modifié le compteur utilisé sur la page du site visé.

Jusqu'ici, pas de quoi fouetter un chat puisque nous n'avons fait que reproduire en local le comportement de ce qui se passe sur le site officiel et si ce n'est que l'on évite le téléchargement de toute la page d'origine à chaque fois que l'on appuie sur le bouton de rafraîchissement, il faut tout de même cliquer dessus sans cesse pour voir le compteur lentement, trop lentement, progresser.

C'est à ce stade que la connaissance d'une directive proposée par Netscape et reprise par Microsoft prend tout son sens, il s'agit en fait d'une méta-directive dont la syntaxe est :

<META HTTP-EQUIV="Refresh" Content="delai_exprime_en_secondes; url=adresse_de_la_ressource_a_telecharger">

Cette commande, placée dans n'importe quelle page HTML, demande au navigateur d'aller AUTOMATIQUEMENT charger le document spécifié par la valeur « adresse_de_la_ressource_a_telecharger » après une attente de « delai_exprime_en_secondes ».
L'astuce consiste donc à insérer cette commande tout au début de notre fichier en choisissant un délai d'une seconde et surtout en donnant comme url le chemin d'accès du fichier, il se remplace ainsi par lui-même indéfiniment, du moins tant que la machine reste allumée et le navigateur en fonction.
Le fichier HTML devient donc en finale :

<META HTTP-EQUIV="Refresh" Content="1; url=file:///C|/temp/compteur.htm">
<HTML>
<HEAD><TITLE>Augmentation artificielle de compteur</TITLE></HEAD>
<BODY>
<img src="http://www.cybercable.tm.fr/cgi-bin/Count.cgi?display=counter&df=xxx.dat" align="right" width="102" height="32">
</BODY>
</HTML>

En prenant soin bien entendu de l'enregistrer sous le nom compteur.htm dans le répertoire temp à la racine de la partition c: du disque dur local.

En ouvrant ce fichier dans votre navigateur, vous allez simuler 3600 connexions par heure sur le site cible. C'est pas mal, mais il est possible de faire encore mieux.
Comme on ne peut diminuer l'intervalle en dessous de la seconde, on peut en revanche multiplier le nombre de fenêtres contenant ce fichier, et ainsi multiplier par autant le nombre de connexions simulées.
Un petit calcul simple montre qu'en ouvrant 11 fenêtres, chacune avec ce fichier, pendant un peu plus de 25 heures, le million de connexions sera atteint.
Et pourquoi ce nombre est-il si important ? Tout simplement parce que, dans le cas exposé ici, l'image utilisée ne comporte que six chiffres. Donc après 999 999 connexions, le résultat devrait être quelque peu faussé (remise à zéro ou affichage incohérent) car il est peu probable que le programme ait été prévu pour prévenir ce type de situation.

Lancé un samedi, il y a fort à parier que cette petite « blague » aura porté ces fruits avant qu'un administrateur remarque quoi que ce soit le lundi suivant.

Certains vont rétorquer qu'il est ridicule de laisser son ordinateur en ligne pendant plus d'une journée uniquement pour arriver à un résultat aussi peu convaincant. En l'occurrence, le problème ne se posait pas car l'internaute dont il est question dispose d'un raccordement Internet par le câble (abonnement forfaitaire indépendant de la durée d'utilisation), autrement dit, cette opération ne lui coûte pas un centime, si ce n'est l'électricité pour alimenter son ordinateur qui, par ailleurs, sert à d'autres tâches.

Dernier point, l'anonymat. Bien qu'il soit peu probable qu'un responsable de site intente un procès pour un ridicule détournement de compteur, l'internaute peu scrupuleux peut tout de même se soucier de conserver son anonymat (surtout s'il habite dans une petite ville comme Paris comme dirait si bien Bedos). En effet, dans son cas bien particulier, l'avantage économique que procure une liaison par le câble se révèle être un handicap dans le cas présent car jusqu'à preuve du contraire, les adresses IP que se voient attribuer les abonnés de ce service sont fixes et non dynamiques. Il est par conséquent particulièrement aisé de déterminer la source de cette pollution.
Pire, une solution qui consistait à employer un relais matérialisé par le proxy de l'opérateur Internet ne peut pas être testés car, comble de malchance, cet opérateur n'en propose pas à ses clients (l'ayant pratiqué, cela ne nous étonne pas du tout ;-) Et, à notre connaissance, il n'est pas possible de passer par le proxy d'un autre prestataire car l'usage de celui-ci est réservé à ses seuls abonnés.

Conclusion, cet exemple concret montre à quel point nous pouvons être abusés par ces systèmes de compteurs présents sur les pages d'accueil des sites Web et combien il est aisé pour le premier internaute venu de les fausser.
De plus, et pour finir, dans ce cas de figure assez répandu où le compteur est représenté par une image fabriquée dynamiquement, le fait de consulter le site avec un navigateur fonctionnant exclusivement en mode texte (comme le programme lynx sur système Unix ou les programmes utilisés sur le Minitel) ne feront pas évoluer le compteur puisque ces programmes, privés de mode graphique, ne demandent pas au serveur les images mentionnées dans les pages HTML téléchargées et donc ne sollicitent pas du tout l'utilitaire de comptage. D'ailleurs, le fait de naviguer en ayant désactivé le chargement automatique des images dans un navigateur plus évolué revient au même.

[petit logo]

     Chercher sur ce site

Une remarque, une question ou une suggestion ? Merci de nous écrire.

KOMMANDO
Siège social : 3, rue Jacques Daguerre · 95370 MONTIGNY lès CORMEILLES
Tél : 33 (0)6 60 60 10 48 · Fax : 33 (0)9 55 30 89 88



KOMMANDOInternetMatérielsPrestationsNEXTSTEP·OPENSTEPFormationsPartenairesRéférences