owasp zap tutorial comprehensive review owasp zap tool
Ce didacticiel explique ce qu'est OWASP ZAP, comment ça marche, comment installer et configurer le proxy ZAP. Comprend également une démo de l'authentification ZAP et de la gestion des utilisateurs:
Pourquoi utiliser ZAP pour tester le stylet?
Pour développer une application web sécurisée, il faut savoir comment ils seront attaqués. Ici, vient l'exigence de la sécurité des applications Web ou des tests de pénétration.
Pour des raisons de sécurité, les entreprises utilisent des outils payants, mais OWASP ZAP est une excellente alternative open-source qui facilite les tests de pénétration pour les testeurs.
Ce que vous apprendrez:
- Qu'est-ce que OWASP ZAP?
- Comment fonctionne ZAP?
- Authentification ZAP, gestion des sessions et des utilisateurs
- Exemple de rapport ZAP Html
- Conclusion
Qu'est-ce que OWASP ZAP?
Les tests de pénétration aident à trouver les vulnérabilités avant qu'un attaquant ne le fasse. OSWAP ZAP est un outil gratuit open source utilisé pour effectuer des tests de pénétration. L'objectif principal de Zap est de permettre des tests de pénétration faciles pour trouver les vulnérabilités dans les applications Web.
Avantages ZAP:
- Zap fournit multi-plateforme, c'est-à-dire qu'il fonctionne sur tous les systèmes d'exploitation (Linux, Mac, Windows)
- Zap est réutilisable
- Peut générer des rapports
- Idéal pour les débutants
- Outil gratuit
Comment fonctionne ZAP?
ZAP crée un serveur proxy et fait passer le trafic du site Web via le serveur. L'utilisation de scanners automatiques dans ZAP permet d'intercepter les vulnérabilités sur le site Web.
Reportez-vous à cet organigramme pour une meilleure compréhension:
logiciel installé sur un ordinateur et utilisé pour gérer des machines virtuelles
Terminologies ZAP
Avant de configurer la configuration ZAP, laissez-nous comprendre certaines terminologies ZAP:
# 1) Session : Session signifie simplement naviguer sur le site Web pour identifier la zone d'attaque. À cette fin, n'importe quel navigateur comme Mozilla Firefox peut être utilisé en modifiant ses paramètres de proxy. Ou bien nous pouvons enregistrer la session zap sous .session et nous pouvons la réutiliser.
# 2) Contexte: Cela signifie une application Web ou un ensemble d'URL ensemble. Le contexte créé dans le ZAP attaquera celui spécifié et ignorera le reste, pour éviter trop de données.
# 3) Types d'attaques ZAP: Vous pouvez générer un rapport de vulnérabilité en utilisant différents types d'attaques ZAP en frappant et en analysant l'URL.
Analyse active: Nous pouvons effectuer une analyse active en utilisant Zap de plusieurs manières. La première option est la Démarrage rapide, qui est présent sur la page d'accueil de l'outil ZAP. Veuillez vous référer à la capture d'écran ci-dessous:
Démarrage rapide 1
La capture d'écran ci-dessus montre le moyen le plus rapide de démarrer avec ZAP. Entrez l'URL sous l'onglet Démarrage rapide, appuyez sur le bouton Attaque, puis la progression commence.
Quick Start exécute l'araignée sur l'URL spécifiée, puis exécute le scanner actif. Une araignée parcourt toutes les pages à partir de l'URL spécifiée. Pour être plus précis, la page de démarrage rapide ressemble à «viser et photographier».
Démarrage rapide 2
Ici, lors de la définition de l'URL cible, l'attaque démarre. Vous pouvez voir l'état de progression en tant que spider l'URL pour découvrir le contenu. Nous pouvons arrêter manuellement l'attaque si cela prend trop de temps.
Une autre option pour le Analyse active est que nous pouvons accéder à l'URL dans le navigateur proxy ZAP car Zap la détectera automatiquement. Lors d'un clic droit sur l'URL -> L'analyse active sera lancée. Une fois l'analyse terminée, l'analyse active démarre.
La progression de l'attaque sera affichée dans l'onglet Analyse active. et l'onglet Araignée affichera l'URL de la liste avec les scénarios d'attaque. Une fois l'analyse active terminée, les résultats seront affichés dans l'onglet Alertes.
Veuillez vérifier la capture d'écran ci-dessous de Analyse active 1 et Analyse active 2 pour une compréhension claire.
Analyse active 1
Analyse active 2
# 4) Araignée: Spider identifie l'URL sur le site Web, vérifie les hyperliens et l'ajoute à la liste.
# 5) Araignée Ajax: Dans le cas où notre application fait un usage intensif de JavaScript, optez pour AJAX spider pour explorer l'application.Je vais expliquer le Araignée Ajax en détail dans mon prochain tutoriel.
# 6) Alertes : Les vulnérabilités du site Web sont signalées comme des alertes élevées, moyennes et faibles.
Installation de ZAP
Maintenant, nous allons comprendre la configuration de l'installation ZAP. Tout d'abord, téléchargez le Zap installer . Comme j'utilise Windows 10, j'ai téléchargé le programme d'installation de Windows 64 bits en conséquence.
Pré-requis pour l'installation de Zap: Java 7 est requis. Si java n’est pas installé sur votre système, commencez par le faire. Ensuite, nous pouvons lancer ZAP.
Configurer le navigateur ZAP
Tout d'abord, fermez toutes les sessions Firefox actives.
Lancez l'outil Zap >> allez dans le menu Outils >> sélectionnez les options >> sélectionnez le proxy local >> là, nous pouvons voir l'adresse en tant que localhost (127.0.0.1) et le port en tant que 8080, nous pouvons passer à un autre port s'il utilise déjà, dis que je passe à 8099. Veuillez vérifier la capture d'écran ci-dessous:
Proxy local dans Zap 1
Maintenant, ouvrez Mozilla Firefox >> sélectionnez les options >> onglet avancé >> en cela sélectionnez Réseau >> Paramètres de connexion >> sélectionnez l'option Configuration manuelle du proxy. Utilisez le même port que dans l'outil Zap. J'ai changé manuellement en 8099 dans ZAP et utilisé le même dans le navigateur Firefox. Regardez ci-dessous la capture d'écran de la configuration de Firefox configurée en tant que navigateur proxy.
Configuration du proxy Firefox 1
Essayez de connecter votre application à l'aide de votre navigateur. Ici, j'ai essayé de me connecter Facebook et il indique que votre connexion n'est pas sécurisée. Vous devez donc ajouter une exception, puis confirmer l'exception de sécurité pour accéder à la page Facebook. Veuillez vous référer aux captures d'écran ci-dessous:
Accéder à la page Web - navigateur proxy 1
Accéder à la page Web - navigateur proxy 2
Accéder à la page Web - navigateur proxy 3
Dans le même temps, sous l'onglet Sites de Zap, vérifiez la nouvelle session créée pour la page Facebook. Lorsque vous avez connecté avec succès votre application, vous pouvez voir plus de lignes dans l'onglet historique de ZAP.
Zap fournit normalement des fonctionnalités supplémentaires accessibles via des menus contextuels tels que,
Cliquez avec le bouton droit de la souris sur >> HTML >> analyse active, puis zap effectuera une analyse active et affichera les résultats.
Si vous ne parvenez pas à connecter votre application à l'aide du navigateur, vérifiez à nouveau vos paramètres de proxy. Vous devrez vérifier les paramètres du navigateur et du proxy ZAP.
Générer des rapports dans ZAP
Une fois l'analyse active terminée, nous pouvons générer des rapports. Pour cela, cliquez sur OWASP ZAP >> Rapport >> générer des rapports HTML >> chemin du fichier fourni >> rapport d'analyse exporté. Nous devons examiner les rapports pour identifier toutes les menaces possibles et les corriger.
Authentification ZAP, gestion des sessions et des utilisateurs
Passons à une autre fonctionnalité de Zap, gérant l'authentification, la gestion des sessions et des utilisateurs. Veuillez me faire part de toute question qui vous vient à l'esprit en tant que commentaires.
Concepts de base
- Le contexte : Il représente une application Web ou un ensemble d'URL ensemble. Pour un contexte donné, de nouveaux onglets sont ajoutés pour personnaliser et configurer le processus d'authentification et de gestion de session. Les options sont disponibles dans la boîte de dialogue des propriétés de la session .i.e Boîte de dialogue des propriétés de la session -> Contexte -> vous pouvez soit utiliser l'option par défaut, soit ajouter un nouveau nom de contexte.
- Méthode de gestion de session: Il existe 2 types de méthodes de gestion de session. La plupart du temps, la gestion de session basée sur les cookies est utilisée, associée au contexte.
- Méthode d'authentification: Il existe principalement 3 types de méthode Auth utilisés par ZAP:
- Méthode d'authentification par formulaire
- Authentification manuelle
- Authentification HTTP
- Gestion des utilisateurs: Une fois le schéma d'authentification configuré, un ensemble d'utilisateurs peut être défini pour chaque contexte. Ces utilisateurs sont utilisés pour diverses actions ( Par exemple, URL / contexte de l'araignée en tant qu'utilisateur Y, envoyez toutes les demandes en tant qu'utilisateur X). Bientôt, d'autres actions seront proposées qui utilisent les utilisateurs.
Une extension «utilisateur forcé» est implémentée pour remplacer l'ancienne extension d'authentification qui effectuait une ré-authentification. Un mode «Utilisateur forcé» est désormais disponible via la barre d'outils (la même icône que l'ancienne extension d'authentification).
Après avoir défini un utilisateur comme «utilisateur forcé» pour un contexte donné ou lorsqu'il est activé, chaque requête envoyée via ZAP est automatiquement modifiée pour être envoyée pour cet utilisateur. Ce mode effectue également une ré-authentification automatique (en particulier en conjonction avec l'authentification par formulaire) en cas de manque d'authentification, «déconnecté» est détecté.
Voyons une démo:
Étape 1:
Tout d'abord, lancez ZAP et accédez à l'URL dans le navigateur proxy. Ici, j'ai pris l'exemple d'URL comme https://tmf-uat.iptquote.com/login.php . Cliquez sur Avancé -> Ajouter une exception -> confirmez l'exception de sécurité comme aux pages 6 et 7. Ensuite, la page de destination s'affiche. En même temps, ZAP charge automatiquement la page Web sous Sites en tant que nouvelle session. Reportez-vous à l'image ci-dessous.
Étape 2:
Incluez-le dans un contexte. Cela peut être fait soit en l'incluant dans un contexte par défaut, soit en l'ajoutant en tant que nouveau contexte. Reportez-vous à l'image ci-dessous.
Étape 3:
comment télécharger une playlist complète depuis youtube sans logiciel
Maintenant, vient la méthode d'authentification. Vous pouvez voir l'authentification dans cette boîte de dialogue des propriétés de session elle-même. Ici, nous utilisons la méthode Auth basée sur le formulaire.
Cela devrait ressembler à authMethodParams comme ' URL de connexion = https: //tmf-uat.iptquote.com/login.php&loginRequestData=username=superadmin&password=primo868&proceed=login »
Dans notre exemple, nous devons définir la méthode d'authentification comme basée sur un formulaire. Pour cela, sélectionnez l'URL cible, le champ de données de publication de la demande de connexion est pré-rempli, après cela, modifiez le paramètre en tant que nom d'utilisateur et mot de passe -> cliquez sur OK .
Étape 4:
Maintenant, définissez des indicateurs qui indiqueront à ZAP quand il est authentifié.
Indicateurs de connexion et de déconnexion:
- Un seul est nécessaire
- Nous pouvons définir des modèles Regex correspondant dans le message de réponse, nous devons définir un indicateur de connexion ou de déconnexion.
- Identifiez quand une réponse est authentifiée ou non.
- Exemple d'indicateur de connexion: Qhttp: // exemple / logout E ou Welcome User. *
- Exemple de l'indicateur Déconnecté: login.jsp ou quelque chose comme ça.
Ici, dans notre application de démonstration, j'ai accédé à l'URL dans un navigateur proxy. Connecté à l'application en utilisant un identifiant valide, un nom d'utilisateur en tant que superadmin et un mot de passe en tant que primo868. Naviguez dans les pages intérieures et cliquez sur déconnexion
Vous pouvez voir dans la capture d'écran de l'étape 3, Zap prend les données de demande de connexion comme celles utilisées pour la connexion à l'application TMF (Connexion à l'application de démonstration).
Marquer le modèle Regex connecté à partir de la réponse de ZAP en tant que réponse -> réponse déconnectée -> le marquer comme connecté dans l'indicateur. Faire référence à la capture d'écran ci-dessous
Étape 5:
Nous pouvons enregistrer l'indicateur et vérifier si la boîte de dialogue des propriétés de session est ajoutée avec l'indicateur de connexion ou non. Reportez-vous à la capture d'écran ci-dessous:
Étape 6:
Nous devons ajouter des utilisateurs, des utilisateurs valides et invalides. Appliquez des attaques d'araignées aux deux et analysez les résultats.
Utilisateur valide:
Utilisateur invalide:
Étape 7:
Par défaut, définissez la gestion de session comme une méthode basée sur les cookies.
Étape 8:
L'attaque d'URL d'araignée est appliquée aux utilisateurs invalides et valides et examine les résultats / génère des rapports.
Vue 1 de l'attaque de l'araignée utilisateur non valide:
Ici, une attaque d'URL d'araignée est appliquée à l'utilisateur invalide. Dans l'interface ZAP, nous pouvons voir Get: login.php (error _message), ce qui signifie que l'authentification a échoué. De plus, il ne transmet pas les URL via les pages TMF internes.
Étape 9:
Pour appliquer l'attaque d'URL d'araignée pour l'utilisateur valide, accédez à la liste des sites -> attaque -> URL d'araignée -> utilisateur valide existant -> ici, il est activé par défaut -> démarrer l'analyse.
Analyser les résultats: comme il s'agit d'un utilisateur authentifié valide, il naviguera dans toutes les pages internes et affichera l'état d'authentification comme réussi. Reportez-vous à la capture d'écran ci-dessous.
Utilisateur valide
Exemple de rapport ZAP Html
Une fois l'analyse active terminée, nous pouvons générer un rapport HTML pour celle-ci. Pour cela, sélectionnez Rapport -> Générer un rapport Html. J'ai joint un exemple de contenu de rapports HTML. Ici, des rapports d'alertes élevées, moyennes et faibles seront générés.
Alertes
Conclusion
Dans ce tutoriel, nous avons vu ce qu'est ZAP, comment fonctionne ZAP, l'installation et la configuration du proxy ZAP. Différents types de processus d'analyse active, une démonstration de l'authentification ZAP, la gestion des sessions et des utilisateurs et les terminologies de base. Dans mon prochain tutoriel, j'expliquerai l'attaque d'araignée Ajax, l'utilisation de fuzzers, les sites à navigation forcée.
Et si vous avez utilisé le proxy d'attaque Zed et que vous avez des conseils intéressants à partager, partagez-les dans les commentaires ci-dessous.
Les références:
lecture recommandée
- Tutoriel de révision pratique de PractiTest Test Management Tool
- Examen de l'outil de gestion des tests TestLodge
- Tutoriel TestComplete: Un guide complet de l'outil de test GUI pour les débutants
- Tutoriel de révision pratique de l'outil de suivi des bogues du backlog
- Tutoriel Bugzilla: Tutoriel pratique de l'outil de gestion des défauts
- Comment tester les performances d'un site Web à l'aide de l'outil SmartMeter.io: didacticiel d'examen pratique
- Tutoriel sur l'outil de test d'accessibilité WAVE
- Examen pratique de l'outil de gestion des tests qTest