Bienvenue tous le monde !
Je vais vous montrer aujourd’hui une super faille à vous mettre sous la dent, qui touche le langage PHP: la faille CSRF :smile:
Mais quisquisique ?
La faille CSRF (Cross-Site Request Forgeries), est une faille visant à « forcer » un utilisateur à visiter une URL via son navigateur.
Ça passe pas ? Allez, un exemple !
Supposons que George possède un site perso, il est donc l’admin, et peut faire tous ce qu’il veut: poster des articles, les supprimer…etc.
Pour qu’il puisse supprimer un article, George doit passer par cette URL:
http://lesitedegeorge.com/admin/supprimer.php?id=4
il suffira donc de donner en paramètre, l’ID de l’article à supprimer…
Tout se passe bien, avant qu’intervienne Khaled, un vilain Hacker prêt à dévaster le pauvre petit site de George !
Khaled, qui ne peut PAS supprimer l’article car n’a pas les permissions nécessaires, pourrait simplement envoyer le lien qui servira à supprimer l’article à George, sauf que George n’est pas idiot au point de cliquer sur le lien…
Notre malin hacker doit donc procéder différemment. Et c’est là que le navigateur de George entre en jeu !
Revenons à Khaled. Ce qu’il va faire est d’envoyer un message à George, non pas pour lui dire bonjour, mais pour lui coller ça sur le message :
Code:
<img src=″http://lesitedegeorge.com/admin/supprimer.php?id=4″ />
Vous captez mieux maintenant :mrgreen: ? Super, on continue !
En quoi peut-elle être utile pour le hacker
En voici une bonne question ! On peut exploiter cette faille pour les buts suivants :
Défasser un site, mettre le bordel dessus, etc…
Trafiquer un vote ou un sondage
Avoir des milliers de followers sur Twitter [source ici]
Etc…
Comment sécuriser ça ? Utilisez un token !
Je vais juste vous expliquer le principe du token (ou jeton si vous préférez), sinon l’article sera trop lent pour vos âmes fragiles ::
Donc, le but est de créer un jeton, qui durera que pendant UNE session, et sera valide uniquement pour UN SEUL utilisateur. c’est pas super ça ?
Voici quelques articles qui détaillent ce procédé:
Cross-site request forgeries – Wikipedia
Sécurisation des failles CSRF – site du zero
Django | Cross-site request forgeries protection
Enjoyez-moi cet article bien fort, et rendez-vous pour d’autres billets tout aussi passionnant
PS: Si vous avez une faille web que vous regardez avec des yeux comme ça: O.O, laissez un commentaire, je me ferais un plaisir de faire un article :razz:
Source: http://www.geeknoise.com/
Commentaire