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

Vulnérabilité des sites web
Vulnérabilité des sites webVulnérabilité des sites web
Vulnérabilité des sites webSaid Sadik
 
Dvwa low level
Dvwa low levelDvwa low level
Dvwa low levelhackstuff
 
Cours CyberSécurité - Concepts Clés
Cours CyberSécurité - Concepts ClésCours CyberSécurité - Concepts Clés
Cours CyberSécurité - Concepts ClésFranck Franchin
 
Etude et mise en place d’une solution open source de gestion de la sécurité d...
Etude et mise en place d’une solution open source de gestion de la sécurité d...Etude et mise en place d’une solution open source de gestion de la sécurité d...
Etude et mise en place d’une solution open source de gestion de la sécurité d...Mohammed LAAZIZLI
 
Installation et Configuration de Pfsense
Installation et Configuration de PfsenseInstallation et Configuration de Pfsense
Installation et Configuration de PfsenseIsmail Rachdaoui
 
Metasploit et Metasploitable2 : exploiter VSFTPD v2.3.4
Metasploit et Metasploitable2 : exploiter VSFTPD v2.3.4 Metasploit et Metasploitable2 : exploiter VSFTPD v2.3.4
Metasploit et Metasploitable2 : exploiter VSFTPD v2.3.4 Khalid EDAIG
 
Privilege escalation from 1 to 0 Workshop
Privilege escalation from 1 to 0 Workshop Privilege escalation from 1 to 0 Workshop
Privilege escalation from 1 to 0 Workshop Hossam .M Hamed
 
Tp snmp-packet-tracer
Tp snmp-packet-tracerTp snmp-packet-tracer
Tp snmp-packet-tracerChris Dogny
 
Introduction vulnérabilité web
Introduction vulnérabilité webIntroduction vulnérabilité web
Introduction vulnérabilité webdavystoffel
 
Introduction à la sécurité informatique
Introduction à la sécurité informatiqueIntroduction à la sécurité informatique
Introduction à la sécurité informatiqueYves Van Gheem
 
Sécurité des systèmes d'informations
Sécurité des systèmes d'informations Sécurité des systèmes d'informations
Sécurité des systèmes d'informations Emna Tfifha
 
Mise en Forme des Résultats avec SQL*Plus
Mise en Forme des Résultats avec SQL*PlusMise en Forme des Résultats avec SQL*Plus
Mise en Forme des Résultats avec SQL*Pluswebreaker
 

Tendances (20)

Vulnérabilité des sites web
Vulnérabilité des sites webVulnérabilité des sites web
Vulnérabilité des sites web
 
Dvwa low level
Dvwa low levelDvwa low level
Dvwa low level
 
Cours CyberSécurité - Concepts Clés
Cours CyberSécurité - Concepts ClésCours CyberSécurité - Concepts Clés
Cours CyberSécurité - Concepts Clés
 
Etude et mise en place d’une solution open source de gestion de la sécurité d...
Etude et mise en place d’une solution open source de gestion de la sécurité d...Etude et mise en place d’une solution open source de gestion de la sécurité d...
Etude et mise en place d’une solution open source de gestion de la sécurité d...
 
Installation et Configuration de Pfsense
Installation et Configuration de PfsenseInstallation et Configuration de Pfsense
Installation et Configuration de Pfsense
 
Rapport du stage
Rapport du stageRapport du stage
Rapport du stage
 
Wazuh Pre.pptx
Wazuh Pre.pptxWazuh Pre.pptx
Wazuh Pre.pptx
 
Metasploit et Metasploitable2 : exploiter VSFTPD v2.3.4
Metasploit et Metasploitable2 : exploiter VSFTPD v2.3.4 Metasploit et Metasploitable2 : exploiter VSFTPD v2.3.4
Metasploit et Metasploitable2 : exploiter VSFTPD v2.3.4
 
Privilege escalation from 1 to 0 Workshop
Privilege escalation from 1 to 0 Workshop Privilege escalation from 1 to 0 Workshop
Privilege escalation from 1 to 0 Workshop
 
Tp snmp-packet-tracer
Tp snmp-packet-tracerTp snmp-packet-tracer
Tp snmp-packet-tracer
 
Introduction XSS
Introduction XSSIntroduction XSS
Introduction XSS
 
Protection-dun-réseau-dentreprise-via-un-firewall.pdf
Protection-dun-réseau-dentreprise-via-un-firewall.pdfProtection-dun-réseau-dentreprise-via-un-firewall.pdf
Protection-dun-réseau-dentreprise-via-un-firewall.pdf
 
Support de cours Spring M.youssfi
Support de cours Spring  M.youssfiSupport de cours Spring  M.youssfi
Support de cours Spring M.youssfi
 
Comprendre la securite web
Comprendre la securite webComprendre la securite web
Comprendre la securite web
 
Introduction vulnérabilité web
Introduction vulnérabilité webIntroduction vulnérabilité web
Introduction vulnérabilité web
 
Introduction à la sécurité informatique
Introduction à la sécurité informatiqueIntroduction à la sécurité informatique
Introduction à la sécurité informatique
 
Sécurité des systèmes d'informations
Sécurité des systèmes d'informations Sécurité des systèmes d'informations
Sécurité des systèmes d'informations
 
Mise en Forme des Résultats avec SQL*Plus
Mise en Forme des Résultats avec SQL*PlusMise en Forme des Résultats avec SQL*Plus
Mise en Forme des Résultats avec SQL*Plus
 
Tuto VP IPSEC Site-to-site
Tuto VP IPSEC Site-to-siteTuto VP IPSEC Site-to-site
Tuto VP IPSEC Site-to-site
 
Firewall
FirewallFirewall
Firewall
 

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 SkipfishMounia EL
 
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 WebCyrille Grandval
 
Présentation Top10 CEGID Lyon
Présentation Top10 CEGID LyonPrésentation Top10 CEGID Lyon
Présentation Top10 CEGID LyonSébastien GIORIA
 
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 applicatifLeClubQualiteLogicielle
 
Webinaire : sécurité informatique sur le web - Jérôme Thémée
Webinaire : sécurité informatique sur le web - Jérôme ThéméeWebinaire : sécurité informatique sur le web - Jérôme Thémée
Webinaire : sécurité informatique sur le web - Jérôme ThéméeMarie Tapia
 
Agilly vulnérabilité log4j-sucuri
Agilly vulnérabilité log4j-sucuriAgilly vulnérabilité log4j-sucuri
Agilly vulnérabilité log4j-sucuriAGILLY
 
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 actuellesBee_Ware
 
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 serveursAmen.fr
 
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.8Sébastien GIORIA
 
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.04ImnaTech
 
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
 
Owasp top 10 2010 Resist toulouse
Owasp top 10   2010  Resist toulouseOwasp top 10   2010  Resist toulouse
Owasp top 10 2010 Resist toulouseSébastien GIORIA
 
Epitech securite-2012.key
Epitech securite-2012.keyEpitech securite-2012.key
Epitech securite-2012.keyDamien Seguy
 
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-v02Sébastien GIORIA
 
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
 
Sécurité des applications web: attaque et défense
Sécurité des applications web: attaque et défenseSécurité des applications web: attaque et défense
Sécurité des applications web: attaque et défenseAntonio Fontes
 
La sécurité sur le web
La sécurité sur le webLa sécurité sur le web
La sécurité sur le webSofteam agency
 

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
 
Webinaire : sécurité informatique sur le web - Jérôme Thémée
Webinaire : sécurité informatique sur le web - Jérôme ThéméeWebinaire : sécurité informatique sur le web - Jérôme Thémée
Webinaire : sécurité informatique sur le web - Jérôme Thémée
 
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
 
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
 
Sécurité des applications web: attaque et défense
Sécurité des applications web: attaque et défenseSécurité des applications web: attaque et défense
Sécurité des applications web: attaque et défense
 
La sécurité sur le web
La sécurité sur le webLa sécurité sur le web
La sécurité sur le web
 

Plus de Ayoub Rouzi

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...Ayoub Rouzi
 
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...Ayoub Rouzi
 
Reseaux mobiles: Rapport Projet : « Lien radio »
Reseaux mobiles: Rapport Projet : « Lien radio »Reseaux mobiles: Rapport Projet : « Lien radio »
Reseaux mobiles: Rapport Projet : « Lien radio »Ayoub Rouzi
 
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...Ayoub Rouzi
 
Application Android: Projet assurance
Application Android: Projet assuranceApplication Android: Projet assurance
Application Android: Projet assuranceAyoub Rouzi
 
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.0Ayoub Rouzi
 
WannaCry / Wannacrypt Ransomware
WannaCry / Wannacrypt RansomwareWannaCry / Wannacrypt Ransomware
WannaCry / Wannacrypt RansomwareAyoub Rouzi
 
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 IPAyoub Rouzi
 
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)Ayoub Rouzi
 
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...Ayoub Rouzi
 
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)Ayoub Rouzi
 
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 ?Ayoub Rouzi
 
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 SimpleAyoub Rouzi
 
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’ARDUINOAyoub Rouzi
 
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 & installationAyoub Rouzi
 
Rapport Kernel Linux - Configuration – Compilation & installation
Rapport Kernel Linux - Configuration –  Compilation & installationRapport Kernel Linux - Configuration –  Compilation & installation
Rapport Kernel Linux - Configuration – Compilation & installationAyoub Rouzi
 
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 x30Ayoub Rouzi
 
Exposé open embedded
Exposé open embeddedExposé open embedded
Exposé open embeddedAyoub 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