OWASP WebGoat - sécurité des applications WEB

Le projet OWASP WebGoat

Présentation

WebGoat project

WebGoat est un outils didactique aux dimensions pédagogiques proposé par le groupe OWASP. Il s'agît d'une application WEB J2EE développée en Java et destinée à l'enseignement de manière interractive.

Elle vise à familiariser l'utilisateur aux technologies WEB (E.g: protocole HTTP, Encoding, AJAX), aux mécanismes du protocole HTTP et aux vulnérabilités qui peuvent en découler. Cet enseignement se fait au travers de différentes leçons, chacune abordant un concept particulier, détaillant un problème de sécurité donné avant de soumettre l'utilisateur à une mise en pratique immédiate. Chaque leçon (JSP) présente sur l'application comporte une vulnérabilité que l'utilisateur peut identifier et tenter d'exploiter (E.g: Injection SQL permettant de retrouver de fausses informations comme des numéros de cartes de crédit). La bonne exploitation de la vulnérabilité proposée amène au succès de la leçon et permet à l'utilisateur de suivre son avancement et les progrès réalisés.

Cette application est toute désignée pour les débutant mais peut également être utile aux PenTesteurs confirmés comme plateforme d'entraînement permettant de tester leurs compétences et leurs outils.


Interface

interface webgoat

L'interface de l'application se découpe ainsi :


  1. Menu proposant les différentes leçons
  2. Indices permettant d'avancer dans la compréhension de la leçon
  3. Affichage des paramètres soumis à l'application
  4. Affichage du cookie valable pour la session utilisateur en cours
  5. Déroulement des étapes permettant de valider la leçon
  6. Affichage du code source Java
  7. Lien vers les solutions proposés par le groupe YGN Ethical Hacker Group
  8. Réinitialise la leçon à la première étape


Contenu

Plusieurs grands thèmes sont abordés ici, les leçons pouvant présenter différents niveaux de complexité, allant d'exercices triviaux, comme par exemple écouter les échanges HTTP entre un client et le serveur WEB, jusque des mise en situation beaucoup plus proche de la réalité. Voici une liste non-exhaustive de ce que l'on peut y retrouver :


On y apprend notamment que tout interpréteur est sensible aux injections (Valable pour les requête SQL, mais pas seulement), ou bien comment obtenir d'avantages de droits sur une application (escalade de privilèges) en outrepassant les contrôles ou en usurpant l'identité d'un autre utilisateur (Session, Cookie Jacking). Certaines de ces failles seront plus détaillées par la suite avec les exemples proposés.


Logiciels similaires

Il est à noter que le projet OWASP WebGoat n'est pas seul à se démarquer dans le domaine de l'apprentissage en matière de sécurité WEB, d'autres application à but pédagogique sont disponibles librement telles :