Plus facile à lire avec un fond crème, une teinte, plus de contraste ou un texte plus grand ? Choisissez vos couleurs et votre texte, une fois pour toutes les pages.

Leçon gratuite

Les bases de Juice Shop

La leçon complète est à lire ici. Créez un compte gratuit pour la pratiquer dans un labo en direct.

Labo de conteneurs6 min de lecture3 commandes

Ce que tu vas faire

Beaucoup de sites web font trop confiance : une page vers laquelle aucun lien ne mène, une erreur qui en dit trop, un dossier que tout le monde peut lire. OWASP Juice Shop est une boutique construite avec des faiblesses de ce genre, pour que tu puisses les trouver sans danger. Tu vas résoudre trois de ses défis les plus faciles et voir chacun passer au vert sur son Score Board (tableau des scores).

La seule règle

Attention

Ce lab fait tourner un site web volontairement vulnérable. Attaque-le, et rien d’autre. C’est ta copie privée, sans aucun accès à Internet, donc personne d’autre ne peut être touché. N’essaie jamais ces choses sur un site qui n’est pas le tien : au Royaume-Uni, c’est une infraction pénale selon le Computer Misuse Act 1990.

Avant de commencer

Remarque

Appuie sur Démarrer le lab dans la barre en haut de cette leçon et attends que la barre indique que le lab tourne. La boutique s’ouvre depuis le lien OWASP Juice Shop de la barre. Chaque bouton Exécuter ci-dessous tape sa commande dans le terminal de ton lab, l’une après l’autre, dans la même session. Pour les voir passer, ou pour taper tes propres commandes, appuie sur Ouvrir le terminal (nouvel onglet) dans la barre.

1. Regarde la boutique

Appuie sur le lien de la barre du lab pour ouvrir la boutique dans un nouvel onglet. Regarde autour de toi comme le ferait un client : cherche apple, ouvre un produit. Chaque action que tu fais envoie une requête à un programme. On peut demander à un programme des choses auxquelles il n’était pas prévu de répondre.

2. Pose une question à la boutique sans passer par la page

La zone de recherche demande des produits à la boutique. curl peut poser la même question sans navigateur, et la réponse est du JSON brut. Regarde ce qui revient : c’est bien plus que ce que la page montre.

Commande
curl -s -w "\n" "http://juice-shop:3000/rest/products/search?q=apple"

Affichée ici, non exécutée. Créez un compte gratuit pour appuyer sur Exécuter et la saisir dans le terminal de votre propre labo.

3. Défi : trouve le Score Board

Le Score Board est une vraie page, mais aucun lien n’y mène : la trouver est le premier défi. Dans l’onglet de la boutique, change la fin de l’adresse en /#/score-board et appuie sur Entrée. La page liste tous les défis par difficulté, et Score Board est le premier, maintenant en vert.

4. Défi : lis un fichier que tu ne devrais pas lire

Il arrive qu’un serveur web liste un dossier qui n’aurait jamais dû être public. Cette commande demande un document du dossier /ftp de la boutique. Il est marqué confidentiel, et pourtant n’importe qui peut le lire en le demandant. Sur le Score Board, Confidential Document passe au vert.

Commande
curl -s http://juice-shop:3000/ftp/acquisitions.md

Affichée ici, non exécutée. Créez un compte gratuit pour appuyer sur Exécuter et la saisir dans le terminal de votre propre labo.

5. Défi : fais afficher une erreur à la boutique

Cette recherche est '(, une apostrophe et une parenthèse, écrites %27( dans l’adresse. L’apostrophe termine trop tôt le texte de la boutique, et la parenthèse casse la question qu’elle pose à sa base de données. Un programme prudent répond « aucun résultat ». Celui-ci affiche l’erreur de sa base de données, SQLITE_ERROR, qui dit à un attaquant avec quoi la boutique est construite. Error Handling passe au vert.

Commande
curl -s "http://juice-shop:3000/rest/products/search?q=%27("

Affichée ici, non exécutée. Créez un compte gratuit pour appuyer sur Exécuter et la saisir dans le terminal de votre propre labo.

6. Vérifie le Score Board

Retourne dans l’onglet du Score Board et recharge-le : les trois défis sont verts. Il y en a plus de cent autres, avec des indices, si tu veux continuer. La boutique oublie son état quand le lab s’arrête. Si tu continues demain, copie le continue code (code de reprise) que le Score Board propose.

Pour les enseignants

Astuce

Cette leçon est un petit exemple de leçon à faire dans un lab : les étapes et les boutons Exécuter forment la leçon, et le lab est la copie personnelle de chaque élève. Le lab est une application web complète que chaque élève attaque dans sa propre copie, sans aucun accès à Internet, et rien n’est noté à votre place : demandez une capture d’écran du Score Board et une phrase qui explique pourquoi chaque faiblesse existe. Copiez cette leçon dans votre propre module et modifiez-la, ou créez-en une à partir de zéro avec le menu Lab du créateur de leçons.

À propos de ce labo et de sa source: Lab OWASP Juice Shop : une boutique web vulnérable à attaquer dans sa copie

Vous enseignez à une classe ? Proposez ces leçons à vos élèves avec correction et un labo pour chaque élève.