SlideShare ist ein Scribd-Unternehmen logo
1 von 10
Downloaden Sie, um offline zu lesen
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>

Weitere ähnliche Inhalte

Was ist angesagt?

configuration vpn-ipsec-routeur
 configuration vpn-ipsec-routeur configuration vpn-ipsec-routeur
configuration vpn-ipsec-routeurJULIOR MIKALA
 
Alphorm.com Formation Hacking et Sécurité 2020 (3of4) : Attaques Réseaux, Sys...
Alphorm.com Formation Hacking et Sécurité 2020 (3of4) : Attaques Réseaux, Sys...Alphorm.com Formation Hacking et Sécurité 2020 (3of4) : Attaques Réseaux, Sys...
Alphorm.com Formation Hacking et Sécurité 2020 (3of4) : Attaques Réseaux, Sys...Alphorm
 
Introduction aux systèmes répartis
Introduction aux systèmes répartisIntroduction aux systèmes répartis
Introduction aux systèmes répartisHeithem Abbes
 
DevOps avec Ansible et Docker
DevOps avec Ansible et DockerDevOps avec Ansible et Docker
DevOps avec Ansible et DockerStephane Manciot
 
Les architectures client serveur
Les architectures client serveurLes architectures client serveur
Les architectures client serveurAmeni Ouertani
 
Concevoir, développer et sécuriser des micro-services avec Spring Boot
Concevoir, développer et sécuriser des micro-services avec Spring BootConcevoir, développer et sécuriser des micro-services avec Spring Boot
Concevoir, développer et sécuriser des micro-services avec Spring BootDNG Consulting
 
Cours d'algorithmique distribuée (2010-2011)
Cours d'algorithmique distribuée (2010-2011)Cours d'algorithmique distribuée (2010-2011)
Cours d'algorithmique distribuée (2010-2011)Élodie Descharmes
 
Alphorm.com Formation Red Hat RH124
Alphorm.com Formation Red Hat RH124Alphorm.com Formation Red Hat RH124
Alphorm.com Formation Red Hat RH124Alphorm
 
Alphorm.com Formation Hacking et Sécurité 2020 (1/3) : Méthodologies de Pente...
Alphorm.com Formation Hacking et Sécurité 2020 (1/3) : Méthodologies de Pente...Alphorm.com Formation Hacking et Sécurité 2020 (1/3) : Méthodologies de Pente...
Alphorm.com Formation Hacking et Sécurité 2020 (1/3) : Méthodologies de Pente...Alphorm
 
Alphorm.com Formation Sécurité des réseaux avec Cisco
Alphorm.com Formation Sécurité des réseaux avec CiscoAlphorm.com Formation Sécurité des réseaux avec Cisco
Alphorm.com Formation Sécurité des réseaux avec CiscoAlphorm
 
Attaques Informatiques
Attaques InformatiquesAttaques Informatiques
Attaques InformatiquesSylvain Maret
 
Bases de données réparties par la pratique
Bases de données réparties par la pratiqueBases de données réparties par la pratique
Bases de données réparties par la pratiqueAbdelouahed Abdou
 
Alphorm.com Formation CEHV9 I
Alphorm.com Formation CEHV9 IAlphorm.com Formation CEHV9 I
Alphorm.com Formation CEHV9 IAlphorm
 
eServices-Tp1: Web Services
eServices-Tp1: Web ServiceseServices-Tp1: Web Services
eServices-Tp1: Web ServicesLilia Sfaxi
 
Rapport Windows Serveur 2008 "Active Directory Management"
Rapport Windows Serveur 2008 "Active Directory Management"Rapport Windows Serveur 2008 "Active Directory Management"
Rapport Windows Serveur 2008 "Active Directory Management"Ayoub Rouzi
 

Was ist angesagt? (20)

configuration vpn-ipsec-routeur
 configuration vpn-ipsec-routeur configuration vpn-ipsec-routeur
configuration vpn-ipsec-routeur
 
Alphorm.com Formation Hacking et Sécurité 2020 (3of4) : Attaques Réseaux, Sys...
Alphorm.com Formation Hacking et Sécurité 2020 (3of4) : Attaques Réseaux, Sys...Alphorm.com Formation Hacking et Sécurité 2020 (3of4) : Attaques Réseaux, Sys...
Alphorm.com Formation Hacking et Sécurité 2020 (3of4) : Attaques Réseaux, Sys...
 
Introduction aux systèmes répartis
Introduction aux systèmes répartisIntroduction aux systèmes répartis
Introduction aux systèmes répartis
 
DevOps avec Ansible et Docker
DevOps avec Ansible et DockerDevOps avec Ansible et Docker
DevOps avec Ansible et Docker
 
Les architectures client serveur
Les architectures client serveurLes architectures client serveur
Les architectures client serveur
 
Concevoir, développer et sécuriser des micro-services avec Spring Boot
Concevoir, développer et sécuriser des micro-services avec Spring BootConcevoir, développer et sécuriser des micro-services avec Spring Boot
Concevoir, développer et sécuriser des micro-services avec Spring Boot
 
Cours design pattern m youssfi partie 4 composite
Cours design pattern m youssfi partie 4 compositeCours design pattern m youssfi partie 4 composite
Cours design pattern m youssfi partie 4 composite
 
Wazuh Pre.pptx
Wazuh Pre.pptxWazuh Pre.pptx
Wazuh Pre.pptx
 
Comprendre la securite web
Comprendre la securite webComprendre la securite web
Comprendre la securite web
 
Cours d'algorithmique distribuée (2010-2011)
Cours d'algorithmique distribuée (2010-2011)Cours d'algorithmique distribuée (2010-2011)
Cours d'algorithmique distribuée (2010-2011)
 
Alphorm.com Formation Red Hat RH124
Alphorm.com Formation Red Hat RH124Alphorm.com Formation Red Hat RH124
Alphorm.com Formation Red Hat RH124
 
Alphorm.com Formation Hacking et Sécurité 2020 (1/3) : Méthodologies de Pente...
Alphorm.com Formation Hacking et Sécurité 2020 (1/3) : Méthodologies de Pente...Alphorm.com Formation Hacking et Sécurité 2020 (1/3) : Méthodologies de Pente...
Alphorm.com Formation Hacking et Sécurité 2020 (1/3) : Méthodologies de Pente...
 
Alphorm.com Formation Sécurité des réseaux avec Cisco
Alphorm.com Formation Sécurité des réseaux avec CiscoAlphorm.com Formation Sécurité des réseaux avec Cisco
Alphorm.com Formation Sécurité des réseaux avec Cisco
 
cours-gratuit.com--id-4422.pdf
cours-gratuit.com--id-4422.pdfcours-gratuit.com--id-4422.pdf
cours-gratuit.com--id-4422.pdf
 
Attaques Informatiques
Attaques InformatiquesAttaques Informatiques
Attaques Informatiques
 
Tp n 1 linux
Tp n 1 linuxTp n 1 linux
Tp n 1 linux
 
Bases de données réparties par la pratique
Bases de données réparties par la pratiqueBases de données réparties par la pratique
Bases de données réparties par la pratique
 
Alphorm.com Formation CEHV9 I
Alphorm.com Formation CEHV9 IAlphorm.com Formation CEHV9 I
Alphorm.com Formation CEHV9 I
 
eServices-Tp1: Web Services
eServices-Tp1: Web ServiceseServices-Tp1: Web Services
eServices-Tp1: Web Services
 
Rapport Windows Serveur 2008 "Active Directory Management"
Rapport Windows Serveur 2008 "Active Directory Management"Rapport Windows Serveur 2008 "Active Directory Management"
Rapport Windows Serveur 2008 "Active Directory Management"
 

Ähnlich wie 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
 

Ähnlich wie 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
 

Mehr von 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
 

Mehr von 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>