====== SOME (Same Origin Method Execution) ====== Il s'agit d'une attaque web... //à expliquer briévement ici//. Pour plus d'info sur le sujet, cf. la biblio ci-dessous. === Démonstration === //La démonstration suivante a été mise en oeuvre avec le navigateur Google Chrome.// Considérons le site web du domaine //labri.fr// et en particulier la page http://www.labri.fr/perso/esnard/php/attackme.html... Par ailleurs, le site possède un callback endpoint vulnérable (typiquement du JSONP ou du Flash). Ici le endpoint vulnérable est juste un programme callback.php (http://www.labri.fr/perso/esnard/php/callback.php), qui prend deux arguments : une fonction de //callback// et un argument (//arg//) à passer à la fonction //callback//. Par exemple : * http://www.labri.fr/perso/esnard/php/callback.php?callback=window.alert&arg=coucou%20terre En pratique, le code PHP se contente d'éxécuter une fonction JavaScript : "; ?> Imaginons que la victime souhaitant visiter la page http://www.labri.fr/perso/esnard/php/attackme.html y accède en cliquant sur un lien frauduleux http://aurelien.esnard.emi.u-bordeaux.fr/demo/some-attack/attack-click.html, qui le redirige automatiquement vers le site souhaité... Par exemple : [[http://aurelien.esnard.emi.u-bordeaux.fr/demo/some-attack/attack-click.html | Page Perso de A. Esnard]] Afin de contourner les popups blocker (celui interne à Google Chrome et/ou les plugins comme AdBlock), ils existent de multiples techniques. La plus simple (même si ce n'est pas discret) consiste à ouvrir le popup après un //click// utilisateur...

Main Attack Page

Win 1

Redirect to Vulnerable callback page in 3sec!

=== Biblio === * http://www.benhayak.com/2015/06/same-origin-method-execution-some.html * http://www.benhayak.com/2015/05/stealing-private-photo-albums-from-Google.html * http://files.benhayak.com/Same_Origin_Method_Execution__paper.pdf * https://www.slideshare.net/BenHayak/blackhat-eu-same-origin-method-execution * https://www.youtube.com/watch?v=UfYfID_r7-U === Web Tutorials & Demo === * https://www.w3schools.com * https://www.w3schools.com/js/tryit.asp?filename=tryjs_myfirst * https://codepen.io/pen/ * https://jsfiddle.net/api/mdn/