mercredi 25 août 2010

UVB-76 UVB-76 t i n y u r l 3 4 8 7 4 9 6 -- UVB-76 UVB-76 t i n y u r l 3 4 8 7 4 9 6

Les sites raccourcisseurs d'URL deviennent de plus en plus en courant. Un des plus connu d'entre eux est tinyurl. Le principe en est simple. Tinyurl enregistre une base de données entre une URL longue, comme par exemple http://www.domaine.com/repertoire/sous-repertoire/code.extension?var=veryveryverylongvalue&var2=value et une URL de taille fixe, courte, comme: http://tinyurl.com/(7 caractères). Un clic sur l'URL courte redirige vers l'URL longue.

Ces raccourcisseurs d'URL ont connu une popularité grandissante entre autre grâce à twitter qui limite le nombre de caractère.
tinyurl est intéressant du point de vue de la sécurité car il a participé à des attaques informatiques. Il y a eu l'attaque réussie contre apache http://tinyurl.com/2w667ej. Plus dernièrement un développeur d'openBSD s'est fait pister vie une tinyURL. Un développeur pensait pouvoir poster sous pseudo de manière anonyme, un développeur lui a donc envoyé un mail avec un lien tinyurl. Ce lien pointait chez le second développeur afin de logger l'IP de la personne cliquant dessus, l'histoire est indiqué ici: http://bit.ly/9SFh4K.

Dans les deux cas, le principe est le même: la personne visée clique en confiance sur le lien tinyurl, ce qui la mène à sa perte :-) Pour l'internaute avisé, il est toujours agaçant de devoir cliquer sur une URL raccourcie sans savoir ou l'on va tomber.

Comment faire donc pour "voir avant" ou l'on arrive? Quelques add-ons firefox existent, mais je ne les ai pas testé. Il existe des méthodes fonctionnant sous tous les navigateurs pour agrandir ces URL.

-TinyURL: le plus simple consiste a activer le cookie de non-redirection, cf http://tinyurl.com/preview.php. Tout clic sur un lien tinyurl présentera le lien de redirection complet. C'est extrêmement utile, à se demander pourquoi tout le monde ne le fait pas par défaut! Une autre méthode consiste à copier-coller le lien en ajoutant preview dans l'URL, par exemple: http://preview.tinyurl.com/2w667ej
-Bit.ly: apparemment, aucun mécanisme de preview n'existe comme avec tinyurl. Toutefois, il est possible d'ajouter un + à la fin de l'URL pour en voir les statistiques, ex: http://bit.ly/9SFh4K+, de ce fait, détourné, on peut voir ou envoie le lien.

-Pour les nombreux autres sites de preview, il existe la méthode netcat en one-liner:
kevin@slackware:~$ printf 'GET http://bit.ly/9SFh4K \
HTTP/1.1\r\nHost: bit.ly\r\n\r\n' | nc bit.ly 80
et faire de même pour les autres sites en adaptant l'URL, le Host et le domaine. Le rendu sera une code très explicite indiquant ou renvoie le code 301.

3 commentaires:

  1. Le problème du cookie de protection, c'est qu'il suppose que tu n'effaces pas automatiquement tous les cookies à la fermeture du navigateur :)

    Les extensions FireFox que j'ai pu tester ne marchent pas bien. Sans compter qu'il se crée de nouveaux sites de "raccourcissement" chaque jour ...

    RépondreSupprimer
  2. @Newsoft:
    Pour ces raisons le netcat est très utile.

    Apparement, il n'existe pas de moyen de tweaker les codes retours HTTP sous firefox. Pouvoir ajouter un warning ou une page intermédiaire lors des 301 (et d'autres 30x?) aurait été bienvenu; un nouvel add-on a développer? :)

    Se pose aussi la question des meta http-equiv="refresh" à 0.

    Il est simple d'imaginer un petit script basé sur netcat qui irait vérifier la présence d'un code 301 ou d'une balise refresh à 0.

    RépondreSupprimer
  3. Un très bon script pour l'extension firefox Greasemonkey existe et décode une bonne partie des tinyurl :

    http://userscripts.org/scripts/show/40582

    Un tel script ne peut bien sur pas être exhaustif, mais présente une bonne protection intermédiaire.

    RépondreSupprimer