SlideShare uma empresa Scribd logo
1 de 24
Baixar para ler offline
BOULALA ­ MARTIN ­ 2013 Cross Site Request Forgery (CSRF) 1
OWASP Top 10OWASP Top 10
N°8 ­ Falsification de requête intersite (CSRF)N°8 ­ Falsification de requête intersite (CSRF)
Kevin BOULALA – Maxime MARTINKevin BOULALA – Maxime MARTIN
BOULALA ­ MARTIN ­ 2013 Cross Site Request Forgery (CSRF) 2
• • CSRF ?CSRF ?
• • Exemple simpleExemple simple
• • Les vulnérabilités de cette attaqueLes vulnérabilités de cette attaque
• • Comment éviter ces attaquesComment éviter ces attaques
• • DémonstrationDémonstration
PLANPLAN
BOULALA ­ MARTIN ­ 2013 Cross Site Request Forgery (CSRF) 3
CSRF ?CSRF ?
Faire une action à un autre utilisateur sans qu'il le veuille Faire une action à un autre utilisateur sans qu'il le veuille 
et qu'il le sacheet qu'il le sache
http://www.sitexe.com/?supprmsg=30http://www.sitexe.com/?supprmsg=30 ( (GETGET))
Attaque possible aussi avec la méthode Attaque possible aussi avec la méthode POSTPOST
Exemple avec un forum :Exemple avec un forum :
> Faire supprimer un message> Faire supprimer un message
> S'abonner à un fil de discussion> S'abonner à un fil de discussion
Exemple avec un site d'achat :Exemple avec un site d'achat :
> Faire acheter quelque chose> Faire acheter quelque chose
BOULALA ­ MARTIN ­ 2013 Cross Site Request Forgery (CSRF) 4
CSRF ?CSRF ?
Cette attaque fonctionne grâce aux Cette attaque fonctionne grâce aux navigateursnavigateurs
et que l'utilisateur victime est et que l'utilisateur victime est authentifiéauthentifié sur le site sur le site
Ne nécessite que peu de compétences pointuesNe nécessite que peu de compétences pointues
De même, facilement découverte avec un De même, facilement découverte avec un 
minimum de connaissancesminimum de connaissances
Du point de vue du site attaqué, Du point de vue du site attaqué, la victime est la victime est 
le fautifle fautif
BOULALA ­ MARTIN ­ 2013 Cross Site Request Forgery (CSRF) 5
ExempleExemple
Sur un forum Sur un forum S S ::
AA souhaite supprimer un message. souhaite supprimer un message.
AA trouve l'URL type pour supprimer un message. trouve l'URL type pour supprimer un message.
AA prépare un mail à envoyer à  prépare un mail à envoyer à VV avec une balise image  avec une balise image 
contenant l'adresse censée supprimer le message sur contenant l'adresse censée supprimer le message sur SS..
L'attaquant La victime Le site victime
A V S
BOULALA ­ MARTIN ­ 2013 Cross Site Request Forgery (CSRF) 6
ExempleExemple
L'attaquant La victime Le site victime
A V S
Salut ! Tu connais cette blague ?Salut ! Tu connais cette blague ?
C'est un mec il rentre dans un bar et C'est un mec il rentre dans un bar et 
il crie "COUCOU C'EST MOI !!" il crie "COUCOU C'EST MOI !!" 
et enfaite c'était pas lui...et enfaite c'était pas lui... X
Mail :Mail :
Logo d'image non chargéLogo d'image non chargé
Mais c'est ce qui permet Mais c'est ce qui permet 
de charger la requête de charger la requête 
censée supprimer le censée supprimer le 
message sur message sur SS..
BOULALA ­ MARTIN ­ 2013 Cross Site Request Forgery (CSRF) 7
ExempleExemple
L'attaquant La victime Le site victime
A V S
Le navigateur de Le navigateur de VV interprète l'image. interprète l'image.
Ce qui exécute la requête et supprime le message.Ce qui exécute la requête et supprime le message.
VV ne s'en rend pas compte. ne s'en rend pas compte.
BOULALA ­ MARTIN ­ 2013 Cross Site Request Forgery (CSRF) 8
Beaucoup (si ce n'est toutes) les fonctionnalités Beaucoup (si ce n'est toutes) les fonctionnalités 
d'un site sont vulnérablesd'un site sont vulnérables
Tout dépend de l'activité du site :Tout dépend de l'activité du site :
Transaction boursièreTransaction boursière
Vente en ligneVente en ligne
Forum de discussionForum de discussion
......
VulnérabilitésVulnérabilités
BOULALA ­ MARTIN ­ 2013 Cross Site Request Forgery (CSRF) 9
Pour réaliser une attaque
Utilisation classique des outils du WEBUtilisation classique des outils du WEB
HTMLHTML et  et JavaScriptJavaScript
Le plus populaire : la Le plus populaire : la balise imgbalise img en HTML  en HTML 
(technique utilisé dans l'exemple précédent)(technique utilisé dans l'exemple précédent)
VulnérabilitésVulnérabilités
BOULALA ­ MARTIN ­ 2013 Cross Site Request Forgery (CSRF) 10
Reprise de l'exemple :
L'image qui ne se chargeait pas :L'image qui ne se chargeait pas :
<img src='<img src='http://www.sitexe.com/?supprmsg=30http://www.sitexe.com/?supprmsg=30' /' />>
Version JavaScript :Version JavaScript :
<script><script>
var foo = new image();var foo = new image();
foo.src="http://www.sitexe.com/?supprmsg=30";foo.src="http://www.sitexe.com/?supprmsg=30";
</script></script>
Note : selon le navigateur, il ne s'affichera rien ou Note : selon le navigateur, il ne s'affichera rien ou 
bien au pire des cas le logo vu plutôt.bien au pire des cas le logo vu plutôt.
VulnérabilitésVulnérabilités
X
BOULALA ­ MARTIN ­ 2013 Cross Site Request Forgery (CSRF) 11
La méthode de l'image est réutilisable avec 
d'autres balises :
<<scriptscript src...>, < src...>, <iframeiframe src...>, etc src...>, etc
Il est aussi possible de faire cette attaque avec la Il est aussi possible de faire cette attaque avec la 
méthode méthode POSTPOST..
La difficulté n'est pas plus grande, il est juste plus La difficulté n'est pas plus grande, il est juste plus 
délicat de le mettre en place.délicat de le mettre en place.
VulnérabilitésVulnérabilités
BOULALA ­ MARTIN ­ 2013 Cross Site Request Forgery (CSRF) 12
Avec un peu de Avec un peu de JavaScriptJavaScript et de  et de HTML HTML ::
<body <body onload="document.getElementById('f').submit()"onload="document.getElementById('f').submit()">>
<form id="f" action="<form id="f" action="http://sitexe.com/poster.phphttp://sitexe.com/poster.php" " 
method="post" name="form">method="post" name="form">
<input name="titre" <input name="titre" value="Blague pourrie"value="Blague pourrie">>
<textarea name="message"><textarea name="message">
C'est un gars qui rentre C'est un gars qui rentre  dans un café et plouf !dans un café et plouf !
</textarea></textarea>
<input name="update" value="update"><input name="update" value="update">
</form></body></form></body>
Il est nécessaire de lire le code du site victime pour faire Il est nécessaire de lire le code du site victime pour faire 
cette attaque.cette attaque.
VulnérabilitésVulnérabilités
BOULALA ­ MARTIN ­ 2013 Cross Site Request Forgery (CSRF) 13
Ce qui ne fonctionne pas :Ce qui ne fonctionne pas :
> Les requêtes POST (dernière partie : Vulnérabilités)> Les requêtes POST (dernière partie : Vulnérabilités)
> Les opérations en plusieurs étapes :> Les opérations en plusieurs étapes :
Du moment que l'attaquant peut prévoir les différentes Du moment que l'attaquant peut prévoir les différentes 
étapes...étapes...
PréventionPrévention
BOULALA ­ MARTIN ­ 2013 Cross Site Request Forgery (CSRF) 14
Ce qui fonctionne :Ce qui fonctionne :
> Jetons (ou token) aléatoires ou> Jetons (ou token) aléatoires ou jetons de validités jetons de validités : :
Les jetons sont générés aléatoirement dans le temps.Les jetons sont générés aléatoirement dans le temps.
Le jeton doit être transmis avec la requête.Le jeton doit être transmis avec la requête.
Le serveur pourra vérifier que le formulaire a bien été Le serveur pourra vérifier que le formulaire a bien été 
produit quelques minutes auparavant.produit quelques minutes auparavant.
PréventionPrévention
BOULALA ­ MARTIN ­ 2013 Cross Site Request Forgery (CSRF) 15
Ce qui fonctionne :Ce qui fonctionne :
> Vérification du > Vérification du Referer HeaderReferer Header : :
Referer Header correspond à une information transmise à un Referer Header correspond à une information transmise à un 
serveur HTTP, indiquant où se trouve le lien qui nous a permis serveur HTTP, indiquant où se trouve le lien qui nous a permis 
de le rejoindre.de le rejoindre.
Avec une attaque CSRF, cette information est impossible à Avec une attaque CSRF, cette information est impossible à 
récupérer.récupérer.
Quelques soucis : les navigateurs peuvent désactiver l'envoi.Quelques soucis : les navigateurs peuvent désactiver l'envoi.
Si on vient d'un domaine HTTPS aucun referer n'est envoyé.Si on vient d'un domaine HTTPS aucun referer n'est envoyé.
PréventionPrévention
BOULALA ­ MARTIN ­ 2013 Cross Site Request Forgery (CSRF) 16
Ce qui fonctionne :Ce qui fonctionne :
Quelques solutions en vrac :Quelques solutions en vrac :
                                                                                          CAPTCHA CAPTCHA 
                                                          Ré­authentificationRé­authentification
                          Désactiver les scripts dans le Désactiver les scripts dans le 
navigateur (& utiliser POST sur le site)navigateur (& utiliser POST sur le site)
etcetc
PréventionPrévention
BOULALA ­ MARTIN ­ 2013 Cross Site Request Forgery (CSRF) 17
DémonstrationDémonstration
Voici la démonstration de l'attaque effectuéeVoici la démonstration de l'attaque effectuée
en classe en classe 
Nous verrons le cas d'un site non sécurisé et sécuriséNous verrons le cas d'un site non sécurisé et sécurisé
en parallèleen parallèle
Cette attaque a été réalisé avec le navigateur MidoriCette attaque a été réalisé avec le navigateur Midori
Les navigateurs tel que Chrome empêche ce genre d'attaqueLes navigateurs tel que Chrome empêche ce genre d'attaque
BOULALA ­ MARTIN ­ 2013 Cross Site Request Forgery (CSRF) 18
DémonstrationDémonstration
Connexion de l'utilisateur sur le site qui va être attaquéConnexion de l'utilisateur sur le site qui va être attaqué
Site sécuriséSite sécuriséSite non sécuriséSite non sécurisé
BOULALA ­ MARTIN ­ 2013 Cross Site Request Forgery (CSRF) 19
DémonstrationDémonstration
L'utilisateur est connecté et peut voir ses messagesL'utilisateur est connecté et peut voir ses messages
Site sécuriséSite sécuriséSite non sécuriséSite non sécurisé
BOULALA ­ MARTIN ­ 2013 Cross Site Request Forgery (CSRF) 20
DémonstrationDémonstration
La victime reçoit un mail qui l'invite à aller sur un siteLa victime reçoit un mail qui l'invite à aller sur un site
BOULALA ­ MARTIN ­ 2013 Cross Site Request Forgery (CSRF) 21
DémonstrationDémonstration
Il arrive sur ce site, qui contient des requêtes forgéesIl arrive sur ce site, qui contient des requêtes forgées
BOULALA ­ MARTIN ­ 2013 Cross Site Request Forgery (CSRF) 22
DémonstrationDémonstration
Extrait du code source de la pageExtrait du code source de la page
Requête forgée pour Requête forgée pour 
attaquer le site pas attaquer le site pas 
sécurisésécurisé
Et celle­ci pour le Et celle­ci pour le 
site sécurisésite sécurisé
BOULALA ­ MARTIN ­ 2013 Cross Site Request Forgery (CSRF) 23
DémonstrationDémonstration
Autant de fois la page est rafraîchie, autant de fois Autant de fois la page est rafraîchie, autant de fois 
les requêtes forgées seront exécutéesles requêtes forgées seront exécutées
Site sécuriséSite sécuriséSite non sécuriséSite non sécurisé
BOULALA ­ MARTIN ­ 2013 Cross Site Request Forgery (CSRF)
Return EXIT_SUCCESS ?Return EXIT_SUCCESS ?
42

Mais conteúdo relacionado

Mais procurados

Les principales failles de sécurité des applications Web actuelles
Les principales failles de sécurité des applications Web actuellesLes principales failles de sécurité des applications Web actuelles
Les principales failles de sécurité des applications Web actuellesXavier Kress
 
Pentesting like a grandmaster BSides London 2013
Pentesting like a grandmaster BSides London 2013Pentesting like a grandmaster BSides London 2013
Pentesting like a grandmaster BSides London 2013Abraham Aranguren
 
The Secret Life of a Bug Bounty Hunter – Frans Rosén @ Security Fest 2016
The Secret Life of a Bug Bounty Hunter – Frans Rosén @ Security Fest 2016The Secret Life of a Bug Bounty Hunter – Frans Rosén @ Security Fest 2016
The Secret Life of a Bug Bounty Hunter – Frans Rosén @ Security Fest 2016Frans Rosén
 
Offensive PowerShell Cheat Sheet
Offensive	PowerShell Cheat SheetOffensive	PowerShell Cheat Sheet
Offensive PowerShell Cheat SheetRahmat Nurfauzi
 
Les 5 risques les plus critiques des applications Web selon l'OWASP
Les 5 risques les plus critiques des applications Web selon l'OWASPLes 5 risques les plus critiques des applications Web selon l'OWASP
Les 5 risques les plus critiques des applications Web selon l'OWASPyaboukir
 
Cross Site Request Forgery Vulnerabilities
Cross Site Request Forgery VulnerabilitiesCross Site Request Forgery Vulnerabilities
Cross Site Request Forgery VulnerabilitiesMarco Morana
 
php2 : formulaire-session-PDO
php2 : formulaire-session-PDOphp2 : formulaire-session-PDO
php2 : formulaire-session-PDOAbdoulaye Dieng
 
Introduction to red team operations
Introduction to red team operationsIntroduction to red team operations
Introduction to red team operationsSunny Neo
 
How to steal and modify data using Business Logic flaws - Insecure Direct Obj...
How to steal and modify data using Business Logic flaws - Insecure Direct Obj...How to steal and modify data using Business Logic flaws - Insecure Direct Obj...
How to steal and modify data using Business Logic flaws - Insecure Direct Obj...Frans Rosén
 
Fondamentaux d’une API REST
Fondamentaux d’une API RESTFondamentaux d’une API REST
Fondamentaux d’une API RESTAbdoulaye Dieng
 

Mais procurados (20)

Les principales failles de sécurité des applications Web actuelles
Les principales failles de sécurité des applications Web actuellesLes principales failles de sécurité des applications Web actuelles
Les principales failles de sécurité des applications Web actuelles
 
SSRF workshop
SSRF workshop SSRF workshop
SSRF workshop
 
Pentesting like a grandmaster BSides London 2013
Pentesting like a grandmaster BSides London 2013Pentesting like a grandmaster BSides London 2013
Pentesting like a grandmaster BSides London 2013
 
The Secret Life of a Bug Bounty Hunter – Frans Rosén @ Security Fest 2016
The Secret Life of a Bug Bounty Hunter – Frans Rosén @ Security Fest 2016The Secret Life of a Bug Bounty Hunter – Frans Rosén @ Security Fest 2016
The Secret Life of a Bug Bounty Hunter – Frans Rosén @ Security Fest 2016
 
Offensive PowerShell Cheat Sheet
Offensive	PowerShell Cheat SheetOffensive	PowerShell Cheat Sheet
Offensive PowerShell Cheat Sheet
 
Les 5 risques les plus critiques des applications Web selon l'OWASP
Les 5 risques les plus critiques des applications Web selon l'OWASPLes 5 risques les plus critiques des applications Web selon l'OWASP
Les 5 risques les plus critiques des applications Web selon l'OWASP
 
Cross Site Request Forgery Vulnerabilities
Cross Site Request Forgery VulnerabilitiesCross Site Request Forgery Vulnerabilities
Cross Site Request Forgery Vulnerabilities
 
MITRE ATT&CK Framework
MITRE ATT&CK FrameworkMITRE ATT&CK Framework
MITRE ATT&CK Framework
 
SQL Injection
SQL Injection SQL Injection
SQL Injection
 
OWASP Top Ten 2017
OWASP Top Ten 2017OWASP Top Ten 2017
OWASP Top Ten 2017
 
Xss attack
Xss attackXss attack
Xss attack
 
php2 : formulaire-session-PDO
php2 : formulaire-session-PDOphp2 : formulaire-session-PDO
php2 : formulaire-session-PDO
 
Introduction to red team operations
Introduction to red team operationsIntroduction to red team operations
Introduction to red team operations
 
Introduction XSS
Introduction XSSIntroduction XSS
Introduction XSS
 
Building Advanced XSS Vectors
Building Advanced XSS VectorsBuilding Advanced XSS Vectors
Building Advanced XSS Vectors
 
SSRF exploit the trust relationship
SSRF exploit the trust relationshipSSRF exploit the trust relationship
SSRF exploit the trust relationship
 
How to steal and modify data using Business Logic flaws - Insecure Direct Obj...
How to steal and modify data using Business Logic flaws - Insecure Direct Obj...How to steal and modify data using Business Logic flaws - Insecure Direct Obj...
How to steal and modify data using Business Logic flaws - Insecure Direct Obj...
 
Sql injection
Sql injectionSql injection
Sql injection
 
Fondamentaux d’une API REST
Fondamentaux d’une API RESTFondamentaux d’une API REST
Fondamentaux d’une API REST
 
Comprendre la securite web
Comprendre la securite webComprendre la securite web
Comprendre la securite web
 

Destaque

On m'a voé mon ego - Récit d'une abomination vécue et vaincue (3 chapitres!)
On m'a voé mon ego - Récit d'une abomination vécue et vaincue (3 chapitres!)On m'a voé mon ego - Récit d'une abomination vécue et vaincue (3 chapitres!)
On m'a voé mon ego - Récit d'une abomination vécue et vaincue (3 chapitres!)swisspen
 
Enrichissement des métadonnées de la musique
Enrichissement des métadonnées de la musiqueEnrichissement des métadonnées de la musique
Enrichissement des métadonnées de la musiqueMusic Story
 
L'essentiel à savoir sur les cardans
L'essentiel à savoir sur les cardansL'essentiel à savoir sur les cardans
L'essentiel à savoir sur les cardansWebdealauto
 
#WeAreTravel15 - Conférence SEO
#WeAreTravel15 - Conférence SEO #WeAreTravel15 - Conférence SEO
#WeAreTravel15 - Conférence SEO My Bloggers Company
 
Cr formation mainssieux ok
Cr formation mainssieux ok Cr formation mainssieux ok
Cr formation mainssieux ok feugier
 
BeASeed - Rapport d'activité Octobre 2014
BeASeed - Rapport d'activité Octobre 2014BeASeed - Rapport d'activité Octobre 2014
BeASeed - Rapport d'activité Octobre 2014Audrey BERRY
 
Presentation impararia french
Presentation impararia frenchPresentation impararia french
Presentation impararia frenchYoan FOURNY
 
Monter sa start-up n'est pas une course en solitaire !
Monter sa start-up n'est pas une course en solitaire !Monter sa start-up n'est pas une course en solitaire !
Monter sa start-up n'est pas une course en solitaire !B4Wedding
 
Groupe Monceau Fleurs - Documentation franchise Happy
Groupe Monceau Fleurs - Documentation franchise HappyGroupe Monceau Fleurs - Documentation franchise Happy
Groupe Monceau Fleurs - Documentation franchise HappyGroupe Monceau Fleurs
 
Aerow prėsentation corporate mai 2014
Aerow prėsentation corporate mai 2014Aerow prėsentation corporate mai 2014
Aerow prėsentation corporate mai 2014Martin DUTREIL
 
Atelier libre de droits
Atelier libre de droitsAtelier libre de droits
Atelier libre de droitsvlbj
 
I nventaire en date du 30 septembre
I nventaire en date du 30 septembreI nventaire en date du 30 septembre
I nventaire en date du 30 septembreKarine Paradis
 

Destaque (20)

On m'a voé mon ego - Récit d'une abomination vécue et vaincue (3 chapitres!)
On m'a voé mon ego - Récit d'une abomination vécue et vaincue (3 chapitres!)On m'a voé mon ego - Récit d'une abomination vécue et vaincue (3 chapitres!)
On m'a voé mon ego - Récit d'une abomination vécue et vaincue (3 chapitres!)
 
Migration 060815-3 haiti politique migratoire-03 aout
Migration 060815-3 haiti politique migratoire-03 aoutMigration 060815-3 haiti politique migratoire-03 aout
Migration 060815-3 haiti politique migratoire-03 aout
 
Enrichissement des métadonnées de la musique
Enrichissement des métadonnées de la musiqueEnrichissement des métadonnées de la musique
Enrichissement des métadonnées de la musique
 
Steve Magazine #1
Steve Magazine #1Steve Magazine #1
Steve Magazine #1
 
L'essentiel à savoir sur les cardans
L'essentiel à savoir sur les cardansL'essentiel à savoir sur les cardans
L'essentiel à savoir sur les cardans
 
#WeAreTravel15 - Conférence SEO
#WeAreTravel15 - Conférence SEO #WeAreTravel15 - Conférence SEO
#WeAreTravel15 - Conférence SEO
 
Cr formation mainssieux ok
Cr formation mainssieux ok Cr formation mainssieux ok
Cr formation mainssieux ok
 
CompuTraining
CompuTrainingCompuTraining
CompuTraining
 
BeASeed - Rapport d'activité Octobre 2014
BeASeed - Rapport d'activité Octobre 2014BeASeed - Rapport d'activité Octobre 2014
BeASeed - Rapport d'activité Octobre 2014
 
Presentation impararia french
Presentation impararia frenchPresentation impararia french
Presentation impararia french
 
Croisière en Croatie
Croisière en CroatieCroisière en Croatie
Croisière en Croatie
 
Monter sa start-up n'est pas une course en solitaire !
Monter sa start-up n'est pas une course en solitaire !Monter sa start-up n'est pas une course en solitaire !
Monter sa start-up n'est pas une course en solitaire !
 
Groupe Monceau Fleurs - Documentation franchise Happy
Groupe Monceau Fleurs - Documentation franchise HappyGroupe Monceau Fleurs - Documentation franchise Happy
Groupe Monceau Fleurs - Documentation franchise Happy
 
Msm1 corr algebre
Msm1 corr algebreMsm1 corr algebre
Msm1 corr algebre
 
Tb nº1 info 2012
Tb nº1 info 2012Tb nº1 info 2012
Tb nº1 info 2012
 
Qui et Que
Qui et QueQui et Que
Qui et Que
 
Aerow prėsentation corporate mai 2014
Aerow prėsentation corporate mai 2014Aerow prėsentation corporate mai 2014
Aerow prėsentation corporate mai 2014
 
Les exemples résolus (« worked-examples ») en environnement numérique d’appre...
Les exemples résolus (« worked-examples ») en environnement numérique d’appre...Les exemples résolus (« worked-examples ») en environnement numérique d’appre...
Les exemples résolus (« worked-examples ») en environnement numérique d’appre...
 
Atelier libre de droits
Atelier libre de droitsAtelier libre de droits
Atelier libre de droits
 
I nventaire en date du 30 septembre
I nventaire en date du 30 septembreI nventaire en date du 30 septembre
I nventaire en date du 30 septembre
 

Présentation CSRF (complète avec démo)