Règles métier mal appliquées

Flawed enforcement of business rules

Ce laboratoire contient une faille logique dans le processus d’achat. L’objectif est d’exploiter cette faiblesse afin d’acheter une “Lightweight l33t leather jacket” à un prix non prévu.

Identifiants fournis :

  • Utilisateur : wiener

  • Mot de passe : peters

Analyse du système de coupons

Après connexion, le site fournit automatiquement un coupon de bienvenue :

NEWCUST5 → réduction de 5 €

Ensuite, en s’inscrivant à la newsletter, un second coupon est attribué :

  • SIGNUP30 → réduction de 30 €

Chaque coupon est valide individuellement et fonctionne correctement lorsqu’il est utilisé seul.

Problème de logique métier

Le système applique une vérification insuffisante sur l’utilisation des coupons :

  • La validation ne contrôle que le dernier coupon appliqué

  • Il n’existe aucune vérification globale empêchant la réutilisation ou l’enchaînement des mêmes coupons

Exploitation de la faille

En alternant les deux coupons, il est possible de contourner la logique prévue :

Chaque nouveau coupon est accepté car la vérification ne compare que le coupon précédent.

Résultat

En répétant cette séquence, le prix total de la veste est progressivement réduit jusqu’à atteindre :

  • Total : 0 €

Mis à jour