SlideShare une entreprise Scribd logo
1  sur  32
DVWAAteliers d’une
application Web
vulnerable
PRÉSENTATEURS:
AYOUB ROUZI – ABDELHAKIM SALAMA
ENCADRÉ PAR:
MR. M. BOUHORMA
1
2
3
4
5
6
Plan
Introduction
Conclusion
Ateliers et vulnérabilities
OWASP's Top 10 Vulnerabilities,
file upload
Étude de la faille et solutions
csrf
Étude de la faille et solutions
xss
Étude de la faille et solutions
2
DVWA
Présentation de l’atelier
L’Atelier Web App Security représente l’étude et le test des différentes
vulnérabilités d’une application Web vulnérable (DWVA) distante ou
locale en vue de la sécuriser en suite contre ces failles.
Ayoub ROUZI - Abdelhakim SALAMA | (M2 SIR)
Ateliers et vulnérabilities
4
OWASP's Top 10 Vulnerabilities,
TOP-10
3
5
8
Ayoub ROUZI - Abdelhakim SALAMA | (M2 SIR)
1
File upload
Ayoub ROUZI - Abdelhakim SALAMA | (M2 SIR)
File Upload
Étapes d’accès a l’outil
6
AuthentificationInstallationConfiguration
Ayoub ROUZI - Abdelhakim SALAMA | (M2 SIR)
une faille de type File Upload est générée lorsqu’un hacker aura la possibilité de charger un fichier sur le serveur pour un but malveillant.
File Upload
Types de fichiers autorisés
Après avoir téléchargé un fichier de test, il affichera le chemin du répertoire où votre fichier a été téléchargé avec succès
"hackable/uploads/"
7
1
Ayoub ROUZI - Abdelhakim SALAMA | (M2 SIR)
File Upload
Exemple d’exploit de la faille File Upload
Avec la sécurité basse DWVA accepte tout type de fichier, on va voir après
comment corriger cette faille.
8
Ayoub ROUZI - Abdelhakim SALAMA | (M2 SIR)
File Upload
Scripts Shell C99
A travers ce Shell, on peut tout faire pour un serveur Unix. En d’autres termes il nous permet de prendre le contrôle d’un serveur.
9
1
Ayoub ROUZI - Abdelhakim SALAMA | (M2 SIR)
File Upload
Etude de la faille - niveau low :
On remarque bien que ce code ne contient aucun contrôle sur le fichier à uploader !
10
1
Ayoub ROUZI - Abdelhakim SALAMA | (M2 SIR)
File Upload
Etude de la faille - niveau medium :
À ce niveau, on remarque le code contient désormais deux contrôles sur le fichier ; un contrôle sur le type et un second sur la taille.
11
1
Ayoub ROUZI - Abdelhakim SALAMA | (M2 SIR)
File Upload
Etude de la faille - niveau medium (changement d’extension):
Mais cela reste insuffisant car on peut renommer le fichier et ajouter une extension image
12
1
Ayoub ROUZI - Abdelhakim SALAMA | (M2 SIR)
File Upload
Etude de la faille - niveau medium (changement d’extension)
On voit bien que l’application n’accepte pas le fichier Mais si on renomme le fichier comme suit shell.php.jpeg
13
1
Ayoub ROUZI - Abdelhakim SALAMA | (M2 SIR)
File Upload
Etude de la faille - niveau medium (changement d’extension)
Script uploadé après le changement d’extension
14
1
Ayoub ROUZI - Abdelhakim SALAMA | (M2 SIR)
File Upload
Etude de la faille - niveau high
On remarque ici l’utilisation d’un contrôle sur l’extension
15
1
Ayoub ROUZI - Abdelhakim SALAMA | (M2 SIR)
File Upload
Etude de la faille - niveau high
mais ceci reste toujours vulnérable à l’ajout d’une extension que l’application accepte Par exemple shell2.php.jpeg
16
1
Ayoub ROUZI - Abdelhakim SALAMA | (M2 SIR)
File Upload
Etude de la faille - niveau high
Pour cela on utilise la fonction php getimagesize()
17
1
Ayoub ROUZI - Abdelhakim SALAMA | (M2 SIR)
File Upload
Etude de la faille - niveau high
Faille résolue!
18
1
Ayoub ROUZI - Abdelhakim SALAMA | (M2 SIR)
2
CSRF
Ayoub ROUZI - Abdelhakim SALAMA | (M2 SIR)
• CSRF ?
• Exemple simple
• Prévention (comment éviter ces attaques)
CSRF ?
Faire une action à un autre utilisateur.
http://www.sitexe.com/?supprmsg=30 (GET)
Attaque possible aussi avec la méthode POST
=> Exemple avec un forum :
> Faire supprimer un message
=>Exemple avec un site d'achat :
> Faire acheter quelque chose
20
1
Ayoub ROUZI - Abdelhakim SALAMA | (M2 SIR)
CSRF ?
Cette attaque fonctionne grâce aux navigateurs.
Ne nécessite que peu de compétences.
la victime est le fautif .
21
1
Ayoub ROUZI - Abdelhakim SALAMA | (M2 SIR)
Exemple (1)
Sur un forum S :
A souhaite supprimer un message.
A trouve l'URL type pour supprimer un message.
A prépare un mail à envoyer à V avec une balise image
contenant l'adresse censée supprimer le message sur S.
Mail :
Salut ! Tu connais cette blague ?
C'est un mec il rentre dans un …..
22
1
Ayoub ROUZI - Abdelhakim SALAMA | (M2 SIR)
Le navigateur de V interprète l'image.
Ce qui exécute la requête et supprime le message.
V ne s'en rend pas compte
Logo d'image non chargé Mais c'est ce
qui permet de charger la requête
censée supprimer le message sur S.
Exemple (2)
L’exemple suivant reprend un table « messages » et le script PHP pour l’insertion de
données .
23
1
Ayoub ROUZI - Abdelhakim SALAMA | (M2 SIR)
Prévention
Jetons (ou token) aléatoires ou jetons de validités .
 Vérification du Referer Header .
CAPTCHA .
24
1
Ayoub ROUZI - Abdelhakim SALAMA | (M2 SIR)
2
XSS
Ayoub ROUZI - Abdelhakim SALAMA | (M2 SIR)
• XSS ?
• Exemple
• Comment s'en protéger
XSS ?
•permettant l'injection de code.
• existe en fait deux types de XSS
• XSS réfléchi (non permanent)
• Le XSS stocké (permanent)
26
1
Ayoub ROUZI - Abdelhakim SALAMA | (M2 SIR)
XSS - Exemple
27
1
Ayoub ROUZI - Abdelhakim SALAMA | (M2 SIR)
XSS ?
• permettant l'injection de code.
• existe en fait deux types de XSS
• XSS réfléchi (non permanent)
• Le XSS stocké (permanent)
28
1
Ayoub ROUZI - Abdelhakim SALAMA | (M2 SIR)
XSS - Exemple
29
1
Ayoub ROUZI - Abdelhakim SALAMA | (M2 SIR)
XSS - • Comment s'en protéger
• La fonction htmlspecialchars() :
 remplaçant par leur équivalent en HTML. Par exemple :
• Le symbole & devient &
• Le symbole " devient "
• Le symbole ' devient '
30
1
Ayoub ROUZI - Abdelhakim SALAMA | (M2 SIR)
Conclusion
Ayoub ROUZI - Abdelhakim SALAMA | (M2 SIR)
Merci pour votre attention
Ayoub ROUZI
Abdelhakim SALAMA
Des Questions?
Ayoub ROUZI - Abdelhakim SALAMA | (M2 SIR)

Contenu connexe

Tendances

La sécurité informatique
La sécurité informatiqueLa sécurité informatique
La sécurité informatique
Saber Ferjani
 
La sécurité sur le web
La sécurité sur le webLa sécurité sur le web
La sécurité sur le web
Softeam agency
 
Sécurité des Applications WEB -LEVEL1
 Sécurité des Applications WEB-LEVEL1 Sécurité des Applications WEB-LEVEL1
Sécurité des Applications WEB -LEVEL1
Tarek MOHAMED
 
Alphorm.com Formation Splunk : Maitriser les fondamentaux
Alphorm.com Formation Splunk : Maitriser les fondamentauxAlphorm.com Formation Splunk : Maitriser les fondamentaux
Alphorm.com Formation Splunk : Maitriser les fondamentaux
Alphorm
 
Web Application Security and Awareness
Web Application Security and AwarenessWeb Application Security and Awareness
Web Application Security and Awareness
Abdul Rahman Sherzad
 
Supervision de réseau informatique - Nagios
Supervision de réseau informatique - NagiosSupervision de réseau informatique - Nagios
Supervision de réseau informatique - Nagios
Aziz Rgd
 

Tendances (20)

Sensibilisation sur la cybersécurité
Sensibilisation sur la cybersécuritéSensibilisation sur la cybersécurité
Sensibilisation sur la cybersécurité
 
La sécurité informatique
La sécurité informatiqueLa sécurité informatique
La sécurité informatique
 
Audit et sécurité des systèmes d'information
Audit et sécurité des systèmes d'informationAudit et sécurité des systèmes d'information
Audit et sécurité des systèmes d'information
 
Cours sécurité 2_asr
Cours sécurité 2_asrCours sécurité 2_asr
Cours sécurité 2_asr
 
La sécurité sur le web
La sécurité sur le webLa sécurité sur le web
La sécurité sur le web
 
Sécurité des Applications WEB -LEVEL1
 Sécurité des Applications WEB-LEVEL1 Sécurité des Applications WEB-LEVEL1
Sécurité des Applications WEB -LEVEL1
 
Alphorm.com Formation Splunk : Maitriser les fondamentaux
Alphorm.com Formation Splunk : Maitriser les fondamentauxAlphorm.com Formation Splunk : Maitriser les fondamentaux
Alphorm.com Formation Splunk : Maitriser les fondamentaux
 
sécurité informatique
sécurité informatiquesécurité informatique
sécurité informatique
 
ETUDE ET MISE EN PLACE D’UNE SOLUTION DE GESTION DE LA SECURITE DU RESEAU : C...
ETUDE ET MISE EN PLACE D’UNE SOLUTION DE GESTION DE LA SECURITE DU RESEAU : C...ETUDE ET MISE EN PLACE D’UNE SOLUTION DE GESTION DE LA SECURITE DU RESEAU : C...
ETUDE ET MISE EN PLACE D’UNE SOLUTION DE GESTION DE LA SECURITE DU RESEAU : C...
 
Introduction à La Sécurité Informatique 1/2
Introduction à La Sécurité Informatique 1/2Introduction à La Sécurité Informatique 1/2
Introduction à La Sécurité Informatique 1/2
 
Web Application Security and Awareness
Web Application Security and AwarenessWeb Application Security and Awareness
Web Application Security and Awareness
 
Présentation sécurité informatique naceur chafroud de cynapsys
Présentation sécurité informatique naceur chafroud de cynapsysPrésentation sécurité informatique naceur chafroud de cynapsys
Présentation sécurité informatique naceur chafroud de cynapsys
 
Sécurité informatique - Etat des menaces
Sécurité informatique - Etat des menacesSécurité informatique - Etat des menaces
Sécurité informatique - Etat des menaces
 
Supervision de réseau informatique - Nagios
Supervision de réseau informatique - NagiosSupervision de réseau informatique - Nagios
Supervision de réseau informatique - Nagios
 
Ch_1 - Généralités sur la sécurité informatique.pdf
Ch_1 - Généralités sur la sécurité informatique.pdfCh_1 - Généralités sur la sécurité informatique.pdf
Ch_1 - Généralités sur la sécurité informatique.pdf
 
Mise en place d'une infrastructure basée sur OpenStack
Mise en place d'une infrastructure basée sur OpenStack Mise en place d'une infrastructure basée sur OpenStack
Mise en place d'une infrastructure basée sur OpenStack
 
Introduction à la sécurité informatique
Introduction à la sécurité informatiqueIntroduction à la sécurité informatique
Introduction à la sécurité informatique
 
La Sécurité informatiques
La Sécurité informatiquesLa Sécurité informatiques
La Sécurité informatiques
 
Cours CyberSécurité - Infrastructures Critiques
Cours CyberSécurité - Infrastructures CritiquesCours CyberSécurité - Infrastructures Critiques
Cours CyberSécurité - Infrastructures Critiques
 
IDS,SNORT ET SÉCURITÉ RESEAU
IDS,SNORT ET SÉCURITÉ RESEAUIDS,SNORT ET SÉCURITÉ RESEAU
IDS,SNORT ET SÉCURITÉ RESEAU
 

Similaire à Ateliers d’une application Web vulnérable

mise en pratique de l'outil Skipfish
mise en pratique de l'outil Skipfishmise en pratique de l'outil Skipfish
mise en pratique de l'outil Skipfish
Mounia EL
 
Présentation Top10 CEGID Lyon
Présentation Top10 CEGID LyonPrésentation Top10 CEGID Lyon
Présentation Top10 CEGID Lyon
Sébastien GIORIA
 
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
yaboukir
 
Owasp top 10 2010 Resist toulouse
Owasp top 10   2010  Resist toulouseOwasp top 10   2010  Resist toulouse
Owasp top 10 2010 Resist toulouse
Sébastien GIORIA
 
2014 11-06-sonarqube-asfws-141110031042-conversion-gate01
2014 11-06-sonarqube-asfws-141110031042-conversion-gate012014 11-06-sonarqube-asfws-141110031042-conversion-gate01
2014 11-06-sonarqube-asfws-141110031042-conversion-gate01
Cyber Security Alliance
 

Similaire à Ateliers d’une application Web vulnérable (20)

mise en pratique de l'outil Skipfish
mise en pratique de l'outil Skipfishmise en pratique de l'outil Skipfish
mise en pratique de l'outil Skipfish
 
Durcissement de code - Sécurité Applicative Web
Durcissement de code - Sécurité Applicative WebDurcissement de code - Sécurité Applicative Web
Durcissement de code - Sécurité Applicative Web
 
Présentation Top10 CEGID Lyon
Présentation Top10 CEGID LyonPrésentation Top10 CEGID Lyon
Présentation Top10 CEGID Lyon
 
20090929 04 - Securité applicative, hacking et risque applicatif
20090929 04 - Securité applicative, hacking et risque applicatif20090929 04 - Securité applicative, hacking et risque applicatif
20090929 04 - Securité applicative, hacking et risque applicatif
 
rapportWAS
rapportWASrapportWAS
rapportWAS
 
20100114 Waf V0.7
20100114 Waf V0.720100114 Waf V0.7
20100114 Waf V0.7
 
Agilly vulnérabilité log4j-sucuri
Agilly vulnérabilité log4j-sucuriAgilly vulnérabilité log4j-sucuri
Agilly vulnérabilité log4j-sucuri
 
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
 
Prévention et traitement du hack de serveurs
Prévention et traitement du hack de serveursPrévention et traitement du hack de serveurs
Prévention et traitement du hack de serveurs
 
2010 03-10-web applications firewalls v 0.8
2010 03-10-web applications firewalls v 0.82010 03-10-web applications firewalls v 0.8
2010 03-10-web applications firewalls v 0.8
 
Mise en place de zabbix sur Ubuntu 22.04
Mise en place de zabbix sur Ubuntu 22.04Mise en place de zabbix sur Ubuntu 22.04
Mise en place de zabbix sur Ubuntu 22.04
 
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
 
Owasp top 10 2010 Resist toulouse
Owasp top 10   2010  Resist toulouseOwasp top 10   2010  Resist toulouse
Owasp top 10 2010 Resist toulouse
 
Epitech securite-2012.key
Epitech securite-2012.keyEpitech securite-2012.key
Epitech securite-2012.key
 
Securité web
Securité webSecurité web
Securité web
 
2011 02-08-ms tech-days-sdl-sgi-v02
2011 02-08-ms tech-days-sdl-sgi-v022011 02-08-ms tech-days-sdl-sgi-v02
2011 02-08-ms tech-days-sdl-sgi-v02
 
White paper: SSTIC 2008: Advanced CSRF
White paper: SSTIC 2008: Advanced CSRFWhite paper: SSTIC 2008: Advanced CSRF
White paper: SSTIC 2008: Advanced CSRF
 
Document technique lamp linux
Document technique lamp linuxDocument technique lamp linux
Document technique lamp linux
 
Analyser la sécurité de son code source avec SonarSource
Analyser la sécurité de son code source avec SonarSourceAnalyser la sécurité de son code source avec SonarSource
Analyser la sécurité de son code source avec SonarSource
 
2014 11-06-sonarqube-asfws-141110031042-conversion-gate01
2014 11-06-sonarqube-asfws-141110031042-conversion-gate012014 11-06-sonarqube-asfws-141110031042-conversion-gate01
2014 11-06-sonarqube-asfws-141110031042-conversion-gate01
 

Plus de Ayoub Rouzi

Plus de Ayoub Rouzi (20)

Khdemti.com: We revolutionize the way project owners and freelancers work tog...
Khdemti.com: We revolutionize the way project owners and freelancers work tog...Khdemti.com: We revolutionize the way project owners and freelancers work tog...
Khdemti.com: We revolutionize the way project owners and freelancers work tog...
 
NFS, MPI, Programmation Sérial & Parallèle avec Condor Scénarios et Simulatio...
NFS, MPI, Programmation Sérial & Parallèle avec Condor Scénarios et Simulatio...NFS, MPI, Programmation Sérial & Parallèle avec Condor Scénarios et Simulatio...
NFS, MPI, Programmation Sérial & Parallèle avec Condor Scénarios et Simulatio...
 
Reseaux mobiles: Rapport Projet : « Lien radio »
Reseaux mobiles: Rapport Projet : « Lien radio »Reseaux mobiles: Rapport Projet : « Lien radio »
Reseaux mobiles: Rapport Projet : « Lien radio »
 
Cahier des charges: Traiteur industriel des produits agro-Alimentaires culina...
Cahier des charges: Traiteur industriel des produits agro-Alimentaires culina...Cahier des charges: Traiteur industriel des produits agro-Alimentaires culina...
Cahier des charges: Traiteur industriel des produits agro-Alimentaires culina...
 
Application Android: Projet assurance
Application Android: Projet assuranceApplication Android: Projet assurance
Application Android: Projet assurance
 
Scheduler & SLA
Scheduler & SLAScheduler & SLA
Scheduler & SLA
 
Rapport j2ee: Gestion d’un compte bancaire En utilisant les EJB 3.0
Rapport j2ee: Gestion d’un compte bancaire En utilisant les EJB 3.0Rapport j2ee: Gestion d’un compte bancaire En utilisant les EJB 3.0
Rapport j2ee: Gestion d’un compte bancaire En utilisant les EJB 3.0
 
L'estime de soi
L'estime de soiL'estime de soi
L'estime de soi
 
WannaCry / Wannacrypt Ransomware
WannaCry / Wannacrypt RansomwareWannaCry / Wannacrypt Ransomware
WannaCry / Wannacrypt Ransomware
 
Mobile ip - IT entités fonctionnelles de Mobile IP
Mobile ip - IT entités fonctionnelles de Mobile IPMobile ip - IT entités fonctionnelles de Mobile IP
Mobile ip - IT entités fonctionnelles de Mobile IP
 
Résumé projet Smart Traffic Managment System Real Time (STMSRT)
Résumé projet Smart Traffic Managment System Real Time (STMSRT)Résumé projet Smart Traffic Managment System Real Time (STMSRT)
Résumé projet Smart Traffic Managment System Real Time (STMSRT)
 
Smart Parking: Stationnement intelligent État de l’art, Étude d’un exemple De...
Smart Parking: Stationnement intelligent État de l’art, Étude d’un exemple De...Smart Parking: Stationnement intelligent État de l’art, Étude d’un exemple De...
Smart Parking: Stationnement intelligent État de l’art, Étude d’un exemple De...
 
Smart traffic managment system real time (stmsrt)
Smart traffic managment system real time (stmsrt)Smart traffic managment system real time (stmsrt)
Smart traffic managment system real time (stmsrt)
 
Freelance,Travail traditionnel, Entrepreneuriat...Quel choix a suivre ?
Freelance,Travail traditionnel, Entrepreneuriat...Quel choix a suivre ?Freelance,Travail traditionnel, Entrepreneuriat...Quel choix a suivre ?
Freelance,Travail traditionnel, Entrepreneuriat...Quel choix a suivre ?
 
Programmation des cartes Arduino - Se familiariser avec la programmation Simple
Programmation des cartes Arduino - Se familiariser avec la programmation SimpleProgrammation des cartes Arduino - Se familiariser avec la programmation Simple
Programmation des cartes Arduino - Se familiariser avec la programmation Simple
 
Projet Radare de Recule - MANIPULATION AVEC L’ARDUINO
Projet Radare de Recule - MANIPULATION AVEC L’ARDUINOProjet Radare de Recule - MANIPULATION AVEC L’ARDUINO
Projet Radare de Recule - MANIPULATION AVEC L’ARDUINO
 
Presentation kernel - Kernel Linux - Configuration – Compilation & installation
Presentation kernel - Kernel Linux - Configuration –  Compilation & installationPresentation kernel - Kernel Linux - Configuration –  Compilation & installation
Presentation kernel - Kernel Linux - Configuration – Compilation & installation
 
Rapport Kernel Linux - Configuration – Compilation & installation
Rapport Kernel Linux - Configuration –  Compilation & installationRapport Kernel Linux - Configuration –  Compilation & installation
Rapport Kernel Linux - Configuration – Compilation & installation
 
Kernel Linux - Configuration de Wyse - TP wyse x30
Kernel Linux - Configuration de Wyse - TP wyse x30Kernel Linux - Configuration de Wyse - TP wyse x30
Kernel Linux - Configuration de Wyse - TP wyse x30
 
Exposé open embedded
Exposé open embeddedExposé open embedded
Exposé open embedded
 

Ateliers d’une application Web vulnérable

  • 1. DVWAAteliers d’une application Web vulnerable PRÉSENTATEURS: AYOUB ROUZI – ABDELHAKIM SALAMA ENCADRÉ PAR: MR. M. BOUHORMA
  • 2. 1 2 3 4 5 6 Plan Introduction Conclusion Ateliers et vulnérabilities OWASP's Top 10 Vulnerabilities, file upload Étude de la faille et solutions csrf Étude de la faille et solutions xss Étude de la faille et solutions 2
  • 3. DVWA Présentation de l’atelier L’Atelier Web App Security représente l’étude et le test des différentes vulnérabilités d’une application Web vulnérable (DWVA) distante ou locale en vue de la sécuriser en suite contre ces failles. Ayoub ROUZI - Abdelhakim SALAMA | (M2 SIR)
  • 4. Ateliers et vulnérabilities 4 OWASP's Top 10 Vulnerabilities, TOP-10 3 5 8 Ayoub ROUZI - Abdelhakim SALAMA | (M2 SIR)
  • 5. 1 File upload Ayoub ROUZI - Abdelhakim SALAMA | (M2 SIR)
  • 6. File Upload Étapes d’accès a l’outil 6 AuthentificationInstallationConfiguration Ayoub ROUZI - Abdelhakim SALAMA | (M2 SIR) une faille de type File Upload est générée lorsqu’un hacker aura la possibilité de charger un fichier sur le serveur pour un but malveillant.
  • 7. File Upload Types de fichiers autorisés Après avoir téléchargé un fichier de test, il affichera le chemin du répertoire où votre fichier a été téléchargé avec succès "hackable/uploads/" 7 1 Ayoub ROUZI - Abdelhakim SALAMA | (M2 SIR)
  • 8. File Upload Exemple d’exploit de la faille File Upload Avec la sécurité basse DWVA accepte tout type de fichier, on va voir après comment corriger cette faille. 8 Ayoub ROUZI - Abdelhakim SALAMA | (M2 SIR)
  • 9. File Upload Scripts Shell C99 A travers ce Shell, on peut tout faire pour un serveur Unix. En d’autres termes il nous permet de prendre le contrôle d’un serveur. 9 1 Ayoub ROUZI - Abdelhakim SALAMA | (M2 SIR)
  • 10. File Upload Etude de la faille - niveau low : On remarque bien que ce code ne contient aucun contrôle sur le fichier à uploader ! 10 1 Ayoub ROUZI - Abdelhakim SALAMA | (M2 SIR)
  • 11. File Upload Etude de la faille - niveau medium : À ce niveau, on remarque le code contient désormais deux contrôles sur le fichier ; un contrôle sur le type et un second sur la taille. 11 1 Ayoub ROUZI - Abdelhakim SALAMA | (M2 SIR)
  • 12. File Upload Etude de la faille - niveau medium (changement d’extension): Mais cela reste insuffisant car on peut renommer le fichier et ajouter une extension image 12 1 Ayoub ROUZI - Abdelhakim SALAMA | (M2 SIR)
  • 13. File Upload Etude de la faille - niveau medium (changement d’extension) On voit bien que l’application n’accepte pas le fichier Mais si on renomme le fichier comme suit shell.php.jpeg 13 1 Ayoub ROUZI - Abdelhakim SALAMA | (M2 SIR)
  • 14. File Upload Etude de la faille - niveau medium (changement d’extension) Script uploadé après le changement d’extension 14 1 Ayoub ROUZI - Abdelhakim SALAMA | (M2 SIR)
  • 15. File Upload Etude de la faille - niveau high On remarque ici l’utilisation d’un contrôle sur l’extension 15 1 Ayoub ROUZI - Abdelhakim SALAMA | (M2 SIR)
  • 16. File Upload Etude de la faille - niveau high mais ceci reste toujours vulnérable à l’ajout d’une extension que l’application accepte Par exemple shell2.php.jpeg 16 1 Ayoub ROUZI - Abdelhakim SALAMA | (M2 SIR)
  • 17. File Upload Etude de la faille - niveau high Pour cela on utilise la fonction php getimagesize() 17 1 Ayoub ROUZI - Abdelhakim SALAMA | (M2 SIR)
  • 18. File Upload Etude de la faille - niveau high Faille résolue! 18 1 Ayoub ROUZI - Abdelhakim SALAMA | (M2 SIR)
  • 19. 2 CSRF Ayoub ROUZI - Abdelhakim SALAMA | (M2 SIR) • CSRF ? • Exemple simple • Prévention (comment éviter ces attaques)
  • 20. CSRF ? Faire une action à un autre utilisateur. http://www.sitexe.com/?supprmsg=30 (GET) Attaque possible aussi avec la méthode POST => Exemple avec un forum : > Faire supprimer un message =>Exemple avec un site d'achat : > Faire acheter quelque chose 20 1 Ayoub ROUZI - Abdelhakim SALAMA | (M2 SIR)
  • 21. CSRF ? Cette attaque fonctionne grâce aux navigateurs. Ne nécessite que peu de compétences. la victime est le fautif . 21 1 Ayoub ROUZI - Abdelhakim SALAMA | (M2 SIR)
  • 22. Exemple (1) Sur un forum S : A souhaite supprimer un message. A trouve l'URL type pour supprimer un message. A prépare un mail à envoyer à V avec une balise image contenant l'adresse censée supprimer le message sur S. Mail : Salut ! Tu connais cette blague ? C'est un mec il rentre dans un ….. 22 1 Ayoub ROUZI - Abdelhakim SALAMA | (M2 SIR) Le navigateur de V interprète l'image. Ce qui exécute la requête et supprime le message. V ne s'en rend pas compte Logo d'image non chargé Mais c'est ce qui permet de charger la requête censée supprimer le message sur S.
  • 23. Exemple (2) L’exemple suivant reprend un table « messages » et le script PHP pour l’insertion de données . 23 1 Ayoub ROUZI - Abdelhakim SALAMA | (M2 SIR)
  • 24. Prévention Jetons (ou token) aléatoires ou jetons de validités .  Vérification du Referer Header . CAPTCHA . 24 1 Ayoub ROUZI - Abdelhakim SALAMA | (M2 SIR)
  • 25. 2 XSS Ayoub ROUZI - Abdelhakim SALAMA | (M2 SIR) • XSS ? • Exemple • Comment s'en protéger
  • 26. XSS ? •permettant l'injection de code. • existe en fait deux types de XSS • XSS réfléchi (non permanent) • Le XSS stocké (permanent) 26 1 Ayoub ROUZI - Abdelhakim SALAMA | (M2 SIR)
  • 27. XSS - Exemple 27 1 Ayoub ROUZI - Abdelhakim SALAMA | (M2 SIR)
  • 28. XSS ? • permettant l'injection de code. • existe en fait deux types de XSS • XSS réfléchi (non permanent) • Le XSS stocké (permanent) 28 1 Ayoub ROUZI - Abdelhakim SALAMA | (M2 SIR)
  • 29. XSS - Exemple 29 1 Ayoub ROUZI - Abdelhakim SALAMA | (M2 SIR)
  • 30. XSS - • Comment s'en protéger • La fonction htmlspecialchars() :  remplaçant par leur équivalent en HTML. Par exemple : • Le symbole & devient & • Le symbole " devient " • Le symbole ' devient ' 30 1 Ayoub ROUZI - Abdelhakim SALAMA | (M2 SIR)
  • 31. Conclusion Ayoub ROUZI - Abdelhakim SALAMA | (M2 SIR)
  • 32. Merci pour votre attention Ayoub ROUZI Abdelhakim SALAMA Des Questions? Ayoub ROUZI - Abdelhakim SALAMA | (M2 SIR)

Notes de l'éditeur

  1. De nos jours, de nombreux sites permettent d’envoyer des fichiers sur leurs serveurs, pour les partager, les montrer a tout le monde. Ces services peuvent être très dangereux si ils ne sont pas bien protégés, car on propose à l’utilisateur d’envoyer des donnés sur le serveur. Et ils pourraient bien envoyer par exemple du code PHP contenant une Backdoor.
  2. Dans ce cas de figure on va utiliser la sécurité basse de DVWA et on va uploader dans l’application un fichier malveillant, il s’agit d’un shell php « c99 ».
  3. sans qu'il le veuille et qu'il le sache
  4. et que l'utilisateur victime est authentifié sur le site . pointues De même, facilement découverte avec un minimum de connaissances . Du point de vue du site attaqué,
  5. Si ce script se nomme « add_message.php », le site de l’attaquant pourra utiliser le code suivant pour le faire exécuter par l’utilisateur . L’utilisateur en parcourant la page de l’attaquant est alors automatiquement redirigé vers la page « add_message.php » avec les paramètres numsujet=6 , nom=CSRF et message=action frauduleuse.
  6. Les jetons sont générés aléatoirement dans le temps. Le jeton doit être transmis avec la requête.Le serveur pourra vérifier que le formulaire a bien été produit quelques minutes auparavant . Referer Header correspond à une information transmise à un serveur HTTP, indiquant où se trouve le lien qui nous a permis de le rejoindre.Avec une attaque CSRF, cette information est impossible à récupérer. Quelques soucis : les navigateurs peuvent désactiver l'envoi, Si on vient d'un domaine HTTPS aucun referer n'est envoyé. Une protection vérifiant le referer est aussi possible, toutefois elle n’est pas conseillée car ce champ peut être volontairement filtré pour des raisons de sécurité Captcha » L’avantage étant que cela n’est pas contournable . .
  7. XSS (plus officiellement appelée Cross-Site Scripting) est une faille permettant l'injection de code HTML ou JavaScript dans des variables mal protégées.  Xss reflechi :appelée non permanente car elle n'est pas enregistrée dans un fichier ou dans une base de données. 
  8. L'exemple le plus couramment utilisé pour illustrer cette faille est la connexion à un espace membre. Qui envoie ses paramètres à la page connexion.php . Par exemple, que se passerait-il s'il décidait d'entrer <strong>Mathieu</strong> dans la zone de texte et de valider ? Eh bien il obtiendrait :Bonjour Mathieu ! Et là on réalise que l'insertion de code n'a plus de limite. On pourrait rentrer à peu près n'importe quoi. Une alerte JS par exemple :
  9. Mantenent on va parler sur Le XSS stocké (permanent) la plus sérieuse car le script est sauvegardé dans un fichier ou une base de données.  Il sera donc affiché à chaque ouverture du site. 
  10. On prendra ici l'exemple d'un livre d'or dans lequel les utilisateurs peuvent poster un commentaire. Eh bien Si l'utilisateur veut afficher son texte en rouge. Mais contrairement à l'exemple précédent, le code est ici stocké dans les données du site et sera donc visible par tous les utilisateurs. Comme vous le savez sûrement, de nombreux sites stockent les pseudo/password de leurs utilisateurs dans des cookies. Utilisée correctement, cette faille peut par exemple permettre au pirate de récupérer les valeurs de ces fameux cookies.  Voilà comment il va procéder. Il va tout d'abord insérer un code frauduleux sur une page de votre site où il peut écrire (livre d'or par exemple) ! Il va ensuite vous envoyer un message et vous inviter à aller voir cette fameuse page.  sans vous méfier, cliquez et là hop vous êtes redirigé et le pirate a récupéré votre cookie, et donc vos identifiants d'administrateur du site. *le pirate n'aura qu'à récupérer la variable cookie grâce à un GET et la stocker dans un fichier.  À partir de ce moment-là il détient vos informations personnelles.
  11. La solution la plus adaptée contre cette faille est d'utiliser la fonction htmlspecialchars() . Cette fonction permet de filtrer les symboles du type <, & ou encore ", en les remplaçant par leur équivalent en HTML. Par exemple . Reprenons le code du début et modifions tout cela : Maintenant réessayons d'envoyer <strong>Mathieu</strong> et! On obtient exactement ce que l'on voulait, du texte brut.
  12. Nous espérons à travers ces présentations avoir réussi à vous expliquer le principe des différentes failles pouvant exister dans une application Web et plus important que ça comment exploiter et sécuriser ces failles