Skip to content

johannSc/lab-owasp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

28 Commits
 
 

Repository files navigation

lab-owasp

Pré-requis

Outils

Pour installer le lab, nous allons avoir besoin à minima des ressources suivantes:

via une VM

-> attention pour les détenteurs des macbook dernière génération, c'est du processeur ARM...

Installations

Déployer virtualbox sur la machine hôte, j'ai indiqué sous VB les ressources suivantes:

  • 2 Go de RAM
  • 1 processeur
  • 25 Go espace disque

Puis déploiement de Kali Linux (via l'ISO pour choisir les paramètres géographiques, sinon j'ai choisi tous les paramètres par défaut)

Préparation du TP

Sous Kali

Première chose à faire, c'est l'installation des VBoxGuestAdditions, pour ceci, sous VirtualBox (une fois Kali démarrée) Onglet Périphériques, puis Insérer l'image cd..

Ensuite dans Kali, ouvrez un terminal:

sudo su
cd /media/cdrom0
sh VBoxLinuxAdditions.run

Tapez ensuite yes, puis redémarrer l'OS. Une fois les outils additionnels installés, le redimensionnement de l'écran, le partage de fichiers...seront disponibles.

On enchaine sur la mise à jour du système et des dépôts associés depuis le terminal fraichement lancé sous Kali:

apt update
apt upgrade -y

La dernière version de Kali ne gère plus les dépôts de juice-shop à partir de sa version 2023, on va donc utiliser docker:

apt install docker.io

Puis télécharger et lancer le conteneur juice-shop

sudo docker pull bkimminich/juice-shop
sudo docker run --rm -p 3000:3000 bkimminich/juice-shop

Le site est ensuite consultable en localhost: http://localhost:3000. Attention ne fermez pas le terminal sous docker, au risque de fermer l'application.

Premiers pas avec Juice Shop

Juice shop est une boutique en ligne trouée de vulnérabilités . Elle permet de s’exercer au pentest web et contient l’ensemble du top 10 des vulnérabilités de l’OWASP (https://owasp.org/Top10/fr/)

Echauffement

Pour pouvoir utiliser l'outil, il y a des challenges d'échauffement.

trouver l’interface de scoreboard de juiceshop

Regardez les sources, les premières infos qu'on peut trouver pour comprendre comment se connecter et trouver le relevé des scores [^interface]

trouver l'interface d'administration

De la même manière vous pouvez trouver l'interface d'admin. Cependant celle ci ne sera accessible que lorsqu'on aura trouvé comment passer admin...

réalisation d’une simple XSS Reflected .

Le challenge DOM XSS demande la réalisation d’une attaque XSS .

  • Une XSS permet à un attaquant d’injecter un script dans le contenu d’un site Web ou d’une application. Lorsqu’un utilisateur visite la page infectée, le script s’exécute dans le navigateur de la victime. Dans le cas présent, ça nécessite d'ouvrir la page actuelle avec un popup et le texte “xss”.

  • Une XSS reflected (ou également appelé attaque XSS non persistante) est un type spécifique de XSS. Elle est transmise dans la requête, généralement dans l’URL. Comparé au XSS stocké, le XSS reflected nécessite que le script malveillant soit ajouté à un lien et qu’un utilisateur clique dessus [^xss-reflected]

mot de passe invalide

Nous allons nous inscrire sur la boutique avec l’adresse mail bidon@gmail.com et le mot de passe 12345 en ne respectant pas les condition de mot de passe du site.

  • Je me rends sur la page d’inscription et remplis les différents champs demandés.
  • Lors de l’inscription, si le deuxième mot de passe n’est pas identique au premier mot de passe saisi, nous aurons une erreur.
Les mots de passes ne correspondent pas

Trouvez comment entrer un mot de passe sans respecter la règle initiale [^mdp]

Easy Challenge

Admin connexion

Un nouveau défi, nous devons nous connecter en tant qu’administrateurs sur le site juice-shop.

Nous utiliserons l’injection SQL pour réaliser ce défi.

  • L’injection SQL est une méthode d’attaque très connue. C’est un vecteur d’attaque extrêmement puissant quand il est bien exploité. Il consiste à modifier une requête SQL en injectant des morceaux de code non filtrés, généralement par le biais d’un formulaire.
  • Il faut se rendre dans le formulaire de connexion au site . Nous utiliserons ici en login une instruction basique et un mot de passe pris au hasard. De nombreux exemples sur votre moteur de recherche favori...
    • Vous pouvez utiliser l'outil de développement web de Firefox lors de cette première connexion
    • Prenez le temps d'étudier l'erreur 500, notamment dans la partie réponse du serveur
  • Cette instruction authentifiera la première personne dans la table Users (car la condition est vraie)qui se trouve être par hasard et par chance l’administrateur. [^inject-sql]

--> Au passage nous pouvons maintenant accéder à l’interface d’administration repérer dans la première partie. Nous récupérons beaucoup d’informations comme les adresses mail des utilisateurs inscrits, leurs ID sur le site, etc..

Documents confidentiels

Des scanners de site comme spiders, ou encore nikto permettent de remonter rapidement des informations qui peuvent être très intéressantes dans le cadre d'une intrusion.

Dans le cas présent, nikto fera parfaitement l'affaire. Regardez bien lors du scan les répertoires qui remontent et ce qui s'y trouve. [^confidential]

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published