EDIT : c’est en fait un beau CSRF sur une nouvelle feature de Twitter… juste un CSRF tout pas beau et tout vieux qui est la cause de cette nouvelle propagation (voir les commentaires ci-dessous avec le code d’exploitation). Pas de risque de compromission de vos données… pour l’instant, juste une belle iframe toute sale qui ne serait jamais arrivée là avec un code propre.
Il semble que Twitter soit pour la seconde fois cette semaine victime d’une attaque. Constaté à l’instant sur l’interface web. Les timelines se retrouvent pourries de mots doux à caractére pornographique avec un joli link qui ira lui même contaminer la timeline de vos followers…
Je n’ai pas encore le détail de l’attaque mais l’url postée semble faire un truc bizarre exploitant l’API de Twitter, à vérifier.
Bref il semble que Twitter attire l’attention de beaucoup de petits malins et que l’application elle même soit gavée de trous de sécurité… Mais qu’attendent ils pour se payer un véritable audit ?
L’attaque n’a vraiment rien de compliqué, c’est juste une CSRF basique qui utilise la nouvelle fonctionnalité « Tweet button » de Twitter.
En gros, la page http://t.co/xxxxxx va ouvrir l’URL http://twitter.com/share/update?status=Un%20message%20ici et ça poste le tweet.
On parle des FAIs français qui font preuve de négligence, Twitter sont pas mauvais aussi ces dernières semaines… Entre une XSS basique et une CSRF basique, ça fait peur.
À noter que bien évidemment, si vous n’êtes pas connecté sur l’interface web en cliquant sur le lien, ça ne fera rien.
Oui vu pour le csrf, et la du coup avec la nouvelle interface, y’en a qui vont s’en donner à coeur joie,
Je ne comprends vraiment pas comment une attaque aussi simple peut exister. Outre le fait que Twitter ne soit pas protégé contre des CSRF basiques, ce qui me choque c’est qu’il suffise d' »ouvrir » l’URL de partage pour poster sur Twitter. Une interface en HTTP GET pour poster… les développeurs web qu’ils recrutent ont vécu dans une grotte ces dix dernières années ou quoi ?!
(cela dit, je reconnais que même s’ils utilisaient des requêtes POST, la faille ne serait pas franchement plus dure à exploiter)
C’est une simple iframe… a la porté de n’importe quel newbie…
aussi simple que cela :
»
var el1 = document.createElement(‘iframe’);
var el2 = document.createElement(‘iframe’);
el1.style.visibility= »hidden »;
el2.style.visibility= »hidden »;
el1.src = « http://twitter.com/share/update?status=WTF:%20 » + window.location;
el2.src = « http://twitter.com/share/update?status=i%20love%20anal%20sex%20with%20goats »;
document.getElementsByTagName(« body »)[0].appendChild(el1);
document.getElementsByTagName(« body »)[0].appendChild(el2);
«
Je confirme, je n’ai pas le soucis sous tweetdeck, je suis curieux de savoir comment ils comptent nous refaire passer par l’interface web apres ca!
Apparement, ça ouvre l’url « http://twitter.com/share/update?status=**** » pour poster 2 messages mais ça ne fonctionne pas sur la nouvelle version de Twitter
var el1 = document.createElement(‘iframe’);
var el2 = document.createElement(‘iframe’);
el1.style.visibility= »hidden »;
el2.style.visibility= »hidden »;
el1.src = « http://twitter.com/share/update?status=WTF:%20 » + window.location;
el2.src = « http://twitter.com/share/update?status=i%20love%20anal%20sex%20with%20goats »;
document.getElementsByTagName(« body »)[0].appendChild(el1);
document.getElementsByTagName(« body »)[0].appendChild(el2);
suffit d’affiché la source de la page
Sous Seesmic ça a bien marché….
Déjà réglé semble-t-il.
=> http://twitter.com/Support
Aucun rapport avec le vers, mais je viens de regarder le compte Support de Twitter, et j’ai découvert les raccourcis clavier.
J et K, pour naviguer dans la time-line, si c’est pas des vim-users les devs chez eux, je veux bien m’en bouffer une ^^