N-PN White-Hat Project
Tout sur les attack CSRF - Cross Site Request Forgery - Version imprimable

+- N-PN White-Hat Project (https://dev.n-pn.fr/forum)
+-- Forum : Tutoriels (https://dev.n-pn.fr/forum/forumdisplay.php?fid=15)
+--- Forum : [Tutoriel] Hacking (https://dev.n-pn.fr/forum/forumdisplay.php?fid=43)
+--- Sujet : Tout sur les attack CSRF - Cross Site Request Forgery (/showthread.php?tid=1277)

Pages : 1 2


Tout sur les attack CSRF - Cross Site Request Forgery - CyberSee - 21-06-2011

Bonjour à tous :-)
Aujourd'hui, je vais tenter de vous expliquer ce qu'est une attaque de type CSRF (Cross Site Request Forgery). Pour y arriver, je vais vous raconter une petite histoire qui devrait bien résumer ce que c'est :-)

Luc, un gars de 17 ans, quitte la maison pour aller à une colonie de vacance en tant que moniteur pour les jeunes. Son père Pierre lui dit de ne pas hésiter à lui téléphoner s’il a des soucis d'argent durant son temps là-bas.

Environ 3 jours après être arrivé, Luc perd toutes ses économies en jouant au poker avec ses copains et n'a plus d'argent pour acheter ses cigarettes lol, il téléphone donc à sont père et lui explique qu'il c'est fait voler tout sont argent ce qu'il croit sans douter de lui lol.

Pierre se log donc sur un site de transfert bancaire et envoi 100$ à son fils. Il remplit le formulaire et clique sur "envoyez".

L'URL ressemble donc à ceci
Code :
www.victime.com/transfer.php?from=Pierre&to=Luc&amount=100

Le lendemain, Luc se connecte à sont compte et récupère l'argent. Le soir même, il laisse l'argent dans sa chambre et va faire un feu au milieu du camp pour une soirée conte et légende. Valérie qui passe par là, voie l'argent sur sont lit et le vole en ce disant que c'est exactement ce qu'il lui manquait pour acheter la grosse trousse de maquillage qu'elle avait vue la veille quand elle est allée au magasin avec ses deux autres copine...

Pauvre Luc lol quand il revient dans sa chambre, il se rend compte qu'il a plus d'argent. Il se dit qu'il ne peut quand même pas demander à son père un autre montant d'argent sous prétexte de s'être fait encore volé lol ... Il décide donc de déjouer le système.

Il se log au site internet de transfert bancaire et envois un message de remerciement à sont père qui ressemble a ceci.

Code :
Merci beaucoup pour l'argent papa. Je vais le garder sur moi pour éviter que ça se reproduise.

[ img ]www.victime.com/transfer.php?from=Pierre&to=Luc&amount=100[ /img ]

On se voit bientôt! Dit salut à maman de ma part!

Notez que Luc à utilisé du BBCode pour sa balise image, qui se traduit automatiquement en HTML l'hors de l'affichage.

Le lendemain matin, Pierre voit le message de son fils et décide de l'ouvrir pour voir ce qu'il contient. Son navigateur tente alors de télécharger la page et l'afficher comme une image. Parce que le lien fourni n'est pas une image valide, le navigateur affiche une image brisée. Toutefois, le serveur lui voit que Pierre à visité le lien, et transfère le 100 $ à Luc.

Tout cela se passe invisiblement et en quelques secondes. Bien qu'il soit peu probable qu'un site de transfert bancaire soit vulnérable à une attaque comme celle-ci, la faille reste tout de même très présente sur le web pour toute sorte de situations.

Veuillez citer la source et l'auteur si vous désirez prendre mon tuto.

Soyez intelligent et restez WhiteHat!
Par CyberSee


Tout sur les attack CSRF - Cross Site Request Forgery - Spyke - 21-06-2011

Merci Cyber =D


Tout sur les attack CSRF - Cross Site Request Forgery - CyberSee - 24-08-2011

ça me fait plaisir ^^


Tout sur les attack CSRF - Cross Site Request Forgery - artis - 24-08-2011

Merci pour l'histoire Smile

Je voulais juste rajouter une petite précision sur la manière de sécuriser le problème.
C'est assez simple, on peut ajouter un paramètre: un token
C'est un code unique par utilisateur, ainsi il n'est pas possible aux autres de le retrouver.
Il faut donc que le token soit valide pour que l'action de page puisse s'exécuter correctement.

Pour reprendre l'exemple, il faudrait que l'image pointe vers cette adresse en admettant que le token soit le bon :
Code :
www.victime.com/transfer.php?from=Pierre&to=Luc&amount=100&csrf_token=4d894zef98sdf4erg

On peut aussi améliorer le système et limiter un token à une seule utilisation. Ainsi si la requête est interceptée, le token aura déjà été utilisé et il ne sera plus valide.

J'espère que j'ai pas trop mal expliqué pour ceux qui ne connaissaient pas ce type de faille Smile


Tout sur les attack CSRF - Cross Site Request Forgery - CyberSee - 25-08-2011

Merci pour l'ajout Artis :-) Tout à fait, les tokens sont une très bonne façon d'empêcher la faille :-)


Tout sur les attack CSRF - Cross Site Request Forgery - artis - 26-08-2011

De rien Smile
Après pour les actions délicates ou importantes je pense qu'il faut demander à l'utilisateur une confirmation. Ça protège à la fois des attaques CSRF et des fausses manipulations de l'utilisateur ^^


Tout sur les attack CSRF - Cross Site Request Forgery - kallimero - 29-08-2011

Un captcha peut aussi servir d'anti csrf.

Il y a un tuto sur la correction de ces failles sur le site du zero : http://www.siteduzero.com/tutoriel-3-157576-securisation-des-failles-csrf.html



Aussi, tu t'es fait leeché (à moins que tu sois "hacker-mode" ) : http://hacktivisme.net/archive/index.php/thread-647.html


Tout sur les attack CSRF - Cross Site Request Forgery - CyberSee - 29-08-2011

Ah le con lol je le ban tout de suite ... En plus je prend le temps de dire dans chaque tuto "Veuillez citer la source et l'auteur si vous désirez prendre mon tuto." ...


Tout sur les attack CSRF - Cross Site Request Forgery - flashmates - 29-08-2011

j'allais te prévenir du leech mais j'ai été trop lent Big Grin.
Peut être qu'on devrait limiter les tutos aux membres qui laissent un certain nombre de messages ou un truc du genre..
Le point positif c'est que ton tuto est assez bon pour etre leeché ^^.


Tout sur les attack CSRF - Cross Site Request Forgery - CyberSee - 29-08-2011

On ne peut pas, les tutos c'est ce qui fait notre pub en quelque sorte. Si on empêche google de les indexer, on va perdre de la visibilité.


Tout sur les attack CSRF - Cross Site Request Forgery - flashmates - 29-08-2011

oui et de tout façon il y aurait quand même du leech..


RE: Tout sur les attack CSRF - Cross Site Request Forgery - ThibauT - 10-06-2012

Si tu voulais pas être leeché, fallais pas faire un aussi bon tuto :p

Sous forme d'histoire, ca parait vraiment simple. En clair : Bravo \o/


RE: Tout sur les attack CSRF - Cross Site Request Forgery - InFamouZz - 02-07-2012

enorme ton tuto x)


RE: Tout sur les attack CSRF - Cross Site Request Forgery - CyberSee - 12-01-2013

On fait que dans la qualitée chez N-PN :p


RE: Tout sur les attack CSRF - Cross Site Request Forgery - boost - 19-02-2013

Superbe tutos,

Pour les tokens ont peut les utiliser aussi pour savoir si le formulaire provient bien de notre site.
Imaginons un site ou on arrive directement sur la page index vous pouvez générer un tokens aléatoire par page, si le premier tokens est valide on en génère un nouveau pour la nouvelle page. C'est une manière de faire mais elle est pas très pratiques, faut suivre un ordre de page...

Ce qu'on peut faire c'est générer un token alétoire dans un champ hidder par formulaire et regarder si se token existe. C'est juste une fason de faire...