SlideShare une entreprise Scribd logo
1  sur  10
Télécharger pour lire hors ligne
Compte Rendu Atelier 4 :
DVWA (4/4) : Solutions, explications et étude des protections
UNIVERSITÉ ABDELAMLEK ESSADI
FACULTE DES SCIENCES ET TECHNIQUES DE TANGER
MASTER : « SYSTEMES INFORMATIQUES ET RESEAUX »
 Réalisé par : - Encadré par :
- Rouzi Ayoub Mr. M Bouhorma
MASTER-SIR R a p p o r t | 2
AYOUB ROUZI
File upload
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.
Application – file upload:
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 ».
Avec la sécurité basse DWVA accepte tout type de fichier, on va voir après comment corriger cette faille.
DVWA a bel et bien accepté notre fichier, maintenant passons aux choses intéressantes. On va maintenant utiliser
notre fichier c99.php ou notre backdoor :
MASTER-SIR R a p p o r t | 3
AYOUB ROUZI
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.
Etude de la faille
Maintenant venons au code de la faille :
Commençons par le niveau low :
On remarque bien que ce code ne contient aucun contrôle sur le fichier à uploader !
On passe maintenant au niveau medium
MASTER-SIR R a p p o r t | 4
AYOUB ROUZI
À 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.
Mais cela reste insuffisant car on peut renommer le fichier et ajouter une extension image
Et voilà :
On voit bien que l’application n’accepte pas le fichier
Mais si on renomme le fichier comme suit shell.php.jpeg
MASTER-SIR R a p p o r t | 5
AYOUB ROUZI
Au niveau high :
MASTER-SIR R a p p o r t | 6
AYOUB ROUZI
On remarque ici l’utilisation d’un contrôle sur l’extension mais ceci reste toujours vulnérable à l’ajout d’une
extension que l’application accepte Par exemple shell2.php.jpeg
Pour cela on utilise la fonction php getimagesize()
Alors le code devient :
MASTER-SIR R a p p o r t | 7
AYOUB ROUZI
Le test :
Et voilà :
!Xss reflected :
Le cross-site scripting (abrégé XSS), est un type de faille de sécurité des sites web permettant d'injecter du contenu
dans une page, permettant ainsi de provoquer des actions sur les navigateurs web visitant la page. Les possibilités
des XSS sont très larges puisque l'attaquant peut utiliser tous les langages pris en charge par le navigateur
(JavaScript, Java, Flash...) et de nouvelles possibilités sont régulièrement découvertes notamment avec l'arrivée de
nouvelles technologies comme HTML5. Il est par exemple possible de rediriger vers un autre site pour du
hameçonnage ou encore de voler la session en récupérant les cookies.
1. Low level :
Comme nous pouvons le voir dans le DVWA, il y a une zone de texte qui a comme paramètre d’entée une chaine de
caractère, elle retourne un message « hello nom_saisie ».
MASTER-SIR R a p p o r t | 8
AYOUB ROUZI
On ajoute <i><b>ayoub</b></i>
Ceci est un simple exemple, mais avec des codes plus complexe et dangereux, l'attaquant peut :
- voler des informations d'identification dans les cookies non-HttpOnly.
- envoyer des requêtes à un serveur avec les informations d'identification de l'utilisateur.
- voler des secrets qui sont stockés dans les variables JavaScript.
- -inviter l'utilisateur à télécharger du contenu en soumettant un formulaire.
- rediriger vers un autre site.
- obtenir des données GPS / appareil photo si l'utilisateur a accordé que l'accès du site à l'appareil.
* Exemple du code qui permet de changer les liens dans les balises <a></a> avec un lien malveillant :
Exemple du code qui permet de d’intercepter les cookies d’un utilisateur et les envoie à son serveur.
Ce problème existe puisque il n’a pas de contrôle sur le champ de saisie.
2. medium level :
Dans ce niveau, on ajoute une fonction dans le langage PHP : le « str_remplace ». Elle permet de faire un filtre dans
la saisie. Tout balise commencent par « <script> » sera remplacer par une chaine vide.
MASTER-SIR R a p p o r t | 9
AYOUB ROUZI
Et pourtant, ils pourraient également être acceptés par le filtre.
3. High level :
Apres la modification du code, on a ajouté htmlspecialchars()qui filtre les caractères spécial.
C’est la mode la plus sécurisé.
Xss stored
Ce type de vulnérabilité, aussi appelé faille permanente ou du second ordre permet des attaques puissantes. Elle se
produit quand les données fournies par un utilisateur sont stockées sur un serveur (dans une base de données, des
fichiers, ou autre), et ensuite réaffichées sans que les caractères spéciaux HTML aient été encodés.
On tape dans la case : « Name » : n’importe quel nom
« Message » : la ligne suivante : <script>alert("Ceci affiche une alerte javascript dans la page");</script>
Et voilà
On va essayer cette fois d’insérer une page web dans la page du livre d'or.
Pour cela on écrit dans la case « Message » : <iframe src="http://www.Google.com"></iframe>
On remarque que le site www.Google.com apparait à l'endroit où aurait du être placé notre message !
MASTER-SIR R a p p o r t | 10
AYOUB ROUZI
On va tenter Maintenant une attaque de niveau plus important : Les cookies
On tape dans le champ « Message » : <script>alert(document.cookie);</script>

Contenu connexe

Tendances

Securite informatique
Securite informatiqueSecurite informatique
Securite informatiqueSouhaib El
 
Workshop spring session 2 - La persistance au sein des applications Java
Workshop spring   session 2 - La persistance au sein des applications JavaWorkshop spring   session 2 - La persistance au sein des applications Java
Workshop spring session 2 - La persistance au sein des applications JavaAntoine Rey
 
Chapitre 5 classes abstraites et interfaces
Chapitre 5  classes abstraites et interfacesChapitre 5  classes abstraites et interfaces
Chapitre 5 classes abstraites et interfacesAmir Souissi
 
Introduction à spring boot
Introduction à spring bootIntroduction à spring boot
Introduction à spring bootAntoine Rey
 
Tp securité des reseaux
Tp securité des reseauxTp securité des reseaux
Tp securité des reseauxAchille Njomo
 
mémoire de projet de fin d'études
mémoire de projet de fin d'études mémoire de projet de fin d'études
mémoire de projet de fin d'études MortadhaBouallagui
 
La gestion des exceptions avec Java
La gestion des exceptions avec JavaLa gestion des exceptions avec Java
La gestion des exceptions avec JavaPapa Cheikh Cisse
 
Sécurité des Applications WEB -LEVEL1
 Sécurité des Applications WEB-LEVEL1 Sécurité des Applications WEB-LEVEL1
Sécurité des Applications WEB -LEVEL1Tarek MOHAMED
 
Alphorm.com Formation Nouveautés Windows Server 2016
Alphorm.com Formation Nouveautés Windows Server 2016Alphorm.com Formation Nouveautés Windows Server 2016
Alphorm.com Formation Nouveautés Windows Server 2016Alphorm
 
Mise en place de la solution d’authentification Radius sous réseau LAN câblé
Mise en place de la solution d’authentification Radius sous réseau LAN câbléMise en place de la solution d’authentification Radius sous réseau LAN câblé
Mise en place de la solution d’authentification Radius sous réseau LAN câbléCharif Khrichfa
 
Cours design pattern m youssfi partie 1 introduction et pattern strategy
Cours design pattern m youssfi partie 1 introduction et pattern strategyCours design pattern m youssfi partie 1 introduction et pattern strategy
Cours design pattern m youssfi partie 1 introduction et pattern strategyENSET, Université Hassan II Casablanca
 
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
 
Les systèmes de détection et prévention d’intrusion
Les systèmes de détection et prévention d’intrusionLes systèmes de détection et prévention d’intrusion
Les systèmes de détection et prévention d’intrusionIntissar Dguechi
 
Sécurité informatique - Etat des menaces
Sécurité informatique - Etat des menacesSécurité informatique - Etat des menaces
Sécurité informatique - Etat des menacesMaxime ALAY-EDDINE
 

Tendances (20)

Lab2-DB-Mongodb
Lab2-DB-MongodbLab2-DB-Mongodb
Lab2-DB-Mongodb
 
Securite informatique
Securite informatiqueSecurite informatique
Securite informatique
 
Workshop spring session 2 - La persistance au sein des applications Java
Workshop spring   session 2 - La persistance au sein des applications JavaWorkshop spring   session 2 - La persistance au sein des applications Java
Workshop spring session 2 - La persistance au sein des applications Java
 
Chapitre 5 classes abstraites et interfaces
Chapitre 5  classes abstraites et interfacesChapitre 5  classes abstraites et interfaces
Chapitre 5 classes abstraites et interfaces
 
Introduction à spring boot
Introduction à spring bootIntroduction à spring boot
Introduction à spring boot
 
Tp securité des reseaux
Tp securité des reseauxTp securité des reseaux
Tp securité des reseaux
 
mémoire de projet de fin d'études
mémoire de projet de fin d'études mémoire de projet de fin d'études
mémoire de projet de fin d'études
 
La gestion des exceptions avec Java
La gestion des exceptions avec JavaLa gestion des exceptions avec Java
La gestion des exceptions avec Java
 
Mise en oeuvre des framework de machines et deep learning v1
Mise en oeuvre des framework de machines et deep learning v1 Mise en oeuvre des framework de machines et deep learning v1
Mise en oeuvre des framework de machines et deep learning v1
 
Sécurité des Applications WEB -LEVEL1
 Sécurité des Applications WEB-LEVEL1 Sécurité des Applications WEB-LEVEL1
Sécurité des Applications WEB -LEVEL1
 
Polymorphisme (cours, résumé)
Polymorphisme (cours, résumé)Polymorphisme (cours, résumé)
Polymorphisme (cours, résumé)
 
Sécurité des réseaux
Sécurité des réseauxSécurité des réseaux
Sécurité des réseaux
 
Alphorm.com Formation Nouveautés Windows Server 2016
Alphorm.com Formation Nouveautés Windows Server 2016Alphorm.com Formation Nouveautés Windows Server 2016
Alphorm.com Formation Nouveautés Windows Server 2016
 
Mise en place de la solution d’authentification Radius sous réseau LAN câblé
Mise en place de la solution d’authentification Radius sous réseau LAN câbléMise en place de la solution d’authentification Radius sous réseau LAN câblé
Mise en place de la solution d’authentification Radius sous réseau LAN câblé
 
Cours design pattern m youssfi partie 1 introduction et pattern strategy
Cours design pattern m youssfi partie 1 introduction et pattern strategyCours design pattern m youssfi partie 1 introduction et pattern strategy
Cours design pattern m youssfi partie 1 introduction et pattern strategy
 
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
 
spring-api-rest.pdf
spring-api-rest.pdfspring-api-rest.pdf
spring-api-rest.pdf
 
Les systèmes de détection et prévention d’intrusion
Les systèmes de détection et prévention d’intrusionLes systèmes de détection et prévention d’intrusion
Les systèmes de détection et prévention d’intrusion
 
Sécurité informatique - Etat des menaces
Sécurité informatique - Etat des menacesSécurité informatique - Etat des menaces
Sécurité informatique - Etat des menaces
 
Support POO Java Deuxième Partie
Support POO Java Deuxième PartieSupport POO Java Deuxième Partie
Support POO Java Deuxième Partie
 

Similaire à Rapport DVWA: File Upload

Epitech securite-2012.key
Epitech securite-2012.keyEpitech securite-2012.key
Epitech securite-2012.keyDamien Seguy
 
Sécurité wordpress
Sécurité wordpressSécurité wordpress
Sécurité wordpressAyoubSIAHMED
 
Fascicule de tp atelier développement web
Fascicule de tp atelier développement webFascicule de tp atelier développement web
Fascicule de tp atelier développement webHouda TOUKABRI
 
Déploiement PHP : de l'âge de pierre à nos jours.
Déploiement PHP : de l'âge de pierre à nos jours.Déploiement PHP : de l'âge de pierre à nos jours.
Déploiement PHP : de l'âge de pierre à nos jours.Amélie DUVERNET
 
Tuto atelier securisation_site_web
Tuto atelier securisation_site_webTuto atelier securisation_site_web
Tuto atelier securisation_site_websahar dridi
 
Reseau entreprise
Reseau entrepriseReseau entreprise
Reseau entrepriseSAIDRAISS2
 
Installation Et Configuration De Monkey Spider
Installation Et Configuration De Monkey SpiderInstallation Et Configuration De Monkey Spider
Installation Et Configuration De Monkey SpiderMohamed Ben Bouzid
 
La sécurité des applications avec ESAPI
La sécurité des applications avec ESAPILa sécurité des applications avec ESAPI
La sécurité des applications avec ESAPITakfarinas KENOUCHE
 
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
 
présentation Faille include
présentation Faille include présentation Faille include
présentation Faille include sahar dridi
 
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
 
OWASP Top Ten 2007 - Sommaire executif - French version
OWASP Top Ten 2007 - Sommaire executif - French versionOWASP Top Ten 2007 - Sommaire executif - French version
OWASP Top Ten 2007 - Sommaire executif - French versionspl0it
 
Agilly vulnérabilité log4j-sucuri
Agilly vulnérabilité log4j-sucuriAgilly vulnérabilité log4j-sucuri
Agilly vulnérabilité log4j-sucuriAGILLY
 
Présentation de WAMP.ws, le protocole pour faire du PUB/SUB et RPC over Webso...
Présentation de WAMP.ws, le protocole pour faire du PUB/SUB et RPC over Webso...Présentation de WAMP.ws, le protocole pour faire du PUB/SUB et RPC over Webso...
Présentation de WAMP.ws, le protocole pour faire du PUB/SUB et RPC over Webso...sametmax
 
Mise en place de Nagios3 pas à pas
Mise en place de Nagios3 pas à pas Mise en place de Nagios3 pas à pas
Mise en place de Nagios3 pas à pas yassine87
 

Similaire à Rapport DVWA: File Upload (20)

Epitech securite-2012.key
Epitech securite-2012.keyEpitech securite-2012.key
Epitech securite-2012.key
 
Sécuriser son site wordpress
Sécuriser son site wordpressSécuriser son site wordpress
Sécuriser son site wordpress
 
Sécurité wordpress
Sécurité wordpressSécurité wordpress
Sécurité wordpress
 
Fascicule de tp atelier développement web
Fascicule de tp atelier développement webFascicule de tp atelier développement web
Fascicule de tp atelier développement web
 
Déploiement PHP : de l'âge de pierre à nos jours.
Déploiement PHP : de l'âge de pierre à nos jours.Déploiement PHP : de l'âge de pierre à nos jours.
Déploiement PHP : de l'âge de pierre à nos jours.
 
Tuto atelier securisation_site_web
Tuto atelier securisation_site_webTuto atelier securisation_site_web
Tuto atelier securisation_site_web
 
Reseau entreprise
Reseau entrepriseReseau entreprise
Reseau entreprise
 
Installation Et Configuration De Monkey Spider
Installation Et Configuration De Monkey SpiderInstallation Et Configuration De Monkey Spider
Installation Et Configuration De Monkey Spider
 
Lp web tp3_idse
Lp web tp3_idseLp web tp3_idse
Lp web tp3_idse
 
La sécurité des applications avec ESAPI
La sécurité des applications avec ESAPILa sécurité des applications avec ESAPI
La sécurité des applications avec ESAPI
 
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
 
présentation Faille include
présentation Faille include présentation Faille include
présentation Faille include
 
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
 
OWASP Top Ten 2007 - Sommaire executif - French version
OWASP Top Ten 2007 - Sommaire executif - French versionOWASP Top Ten 2007 - Sommaire executif - French version
OWASP Top Ten 2007 - Sommaire executif - French version
 
Agilly vulnérabilité log4j-sucuri
Agilly vulnérabilité log4j-sucuriAgilly vulnérabilité log4j-sucuri
Agilly vulnérabilité log4j-sucuri
 
Présentation de WAMP.ws, le protocole pour faire du PUB/SUB et RPC over Webso...
Présentation de WAMP.ws, le protocole pour faire du PUB/SUB et RPC over Webso...Présentation de WAMP.ws, le protocole pour faire du PUB/SUB et RPC over Webso...
Présentation de WAMP.ws, le protocole pour faire du PUB/SUB et RPC over Webso...
 
Mise en place de Nagios3 pas à pas
Mise en place de Nagios3 pas à pas Mise en place de Nagios3 pas à pas
Mise en place de Nagios3 pas à pas
 
Apache Open SSL
Apache Open SSLApache Open SSL
Apache Open SSL
 
Atelier 5
Atelier 5Atelier 5
Atelier 5
 
Pydio_Apache
Pydio_ApachePydio_Apache
Pydio_Apache
 

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
 

Rapport DVWA: File Upload

  • 1. Compte Rendu Atelier 4 : DVWA (4/4) : Solutions, explications et étude des protections UNIVERSITÉ ABDELAMLEK ESSADI FACULTE DES SCIENCES ET TECHNIQUES DE TANGER MASTER : « SYSTEMES INFORMATIQUES ET RESEAUX »  Réalisé par : - Encadré par : - Rouzi Ayoub Mr. M Bouhorma
  • 2. MASTER-SIR R a p p o r t | 2 AYOUB ROUZI File upload 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. Application – file upload: 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 ». Avec la sécurité basse DWVA accepte tout type de fichier, on va voir après comment corriger cette faille. DVWA a bel et bien accepté notre fichier, maintenant passons aux choses intéressantes. On va maintenant utiliser notre fichier c99.php ou notre backdoor :
  • 3. MASTER-SIR R a p p o r t | 3 AYOUB ROUZI 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. Etude de la faille Maintenant venons au code de la faille : Commençons par le niveau low : On remarque bien que ce code ne contient aucun contrôle sur le fichier à uploader ! On passe maintenant au niveau medium
  • 4. MASTER-SIR R a p p o r t | 4 AYOUB ROUZI À 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. Mais cela reste insuffisant car on peut renommer le fichier et ajouter une extension image Et voilà : On voit bien que l’application n’accepte pas le fichier Mais si on renomme le fichier comme suit shell.php.jpeg
  • 5. MASTER-SIR R a p p o r t | 5 AYOUB ROUZI Au niveau high :
  • 6. MASTER-SIR R a p p o r t | 6 AYOUB ROUZI On remarque ici l’utilisation d’un contrôle sur l’extension mais ceci reste toujours vulnérable à l’ajout d’une extension que l’application accepte Par exemple shell2.php.jpeg Pour cela on utilise la fonction php getimagesize() Alors le code devient :
  • 7. MASTER-SIR R a p p o r t | 7 AYOUB ROUZI Le test : Et voilà : !Xss reflected : Le cross-site scripting (abrégé XSS), est un type de faille de sécurité des sites web permettant d'injecter du contenu dans une page, permettant ainsi de provoquer des actions sur les navigateurs web visitant la page. Les possibilités des XSS sont très larges puisque l'attaquant peut utiliser tous les langages pris en charge par le navigateur (JavaScript, Java, Flash...) et de nouvelles possibilités sont régulièrement découvertes notamment avec l'arrivée de nouvelles technologies comme HTML5. Il est par exemple possible de rediriger vers un autre site pour du hameçonnage ou encore de voler la session en récupérant les cookies. 1. Low level : Comme nous pouvons le voir dans le DVWA, il y a une zone de texte qui a comme paramètre d’entée une chaine de caractère, elle retourne un message « hello nom_saisie ».
  • 8. MASTER-SIR R a p p o r t | 8 AYOUB ROUZI On ajoute <i><b>ayoub</b></i> Ceci est un simple exemple, mais avec des codes plus complexe et dangereux, l'attaquant peut : - voler des informations d'identification dans les cookies non-HttpOnly. - envoyer des requêtes à un serveur avec les informations d'identification de l'utilisateur. - voler des secrets qui sont stockés dans les variables JavaScript. - -inviter l'utilisateur à télécharger du contenu en soumettant un formulaire. - rediriger vers un autre site. - obtenir des données GPS / appareil photo si l'utilisateur a accordé que l'accès du site à l'appareil. * Exemple du code qui permet de changer les liens dans les balises <a></a> avec un lien malveillant : Exemple du code qui permet de d’intercepter les cookies d’un utilisateur et les envoie à son serveur. Ce problème existe puisque il n’a pas de contrôle sur le champ de saisie. 2. medium level : Dans ce niveau, on ajoute une fonction dans le langage PHP : le « str_remplace ». Elle permet de faire un filtre dans la saisie. Tout balise commencent par « <script> » sera remplacer par une chaine vide.
  • 9. MASTER-SIR R a p p o r t | 9 AYOUB ROUZI Et pourtant, ils pourraient également être acceptés par le filtre. 3. High level : Apres la modification du code, on a ajouté htmlspecialchars()qui filtre les caractères spécial. C’est la mode la plus sécurisé. Xss stored Ce type de vulnérabilité, aussi appelé faille permanente ou du second ordre permet des attaques puissantes. Elle se produit quand les données fournies par un utilisateur sont stockées sur un serveur (dans une base de données, des fichiers, ou autre), et ensuite réaffichées sans que les caractères spéciaux HTML aient été encodés. On tape dans la case : « Name » : n’importe quel nom « Message » : la ligne suivante : <script>alert("Ceci affiche une alerte javascript dans la page");</script> Et voilà On va essayer cette fois d’insérer une page web dans la page du livre d'or. Pour cela on écrit dans la case « Message » : <iframe src="http://www.Google.com"></iframe> On remarque que le site www.Google.com apparait à l'endroit où aurait du être placé notre message !
  • 10. MASTER-SIR R a p p o r t | 10 AYOUB ROUZI On va tenter Maintenant une attaque de niveau plus important : Les cookies On tape dans le champ « Message » : <script>alert(document.cookie);</script>