Bugs de logique métier — Failles fonctionnelles

Business Logic Manual only

Qu'est-ce qu'un bug de logique métier ?

Les bugs de logique métier ne sont pas des vulnérabilités techniques classiques mais des failles dans la logique fonctionnelle de l'application. Impossibles à détecter par des scanners automatiques : ils requièrent une compréhension du métier.

Exemples classiques

# Prix négatif / nul
POST /cart {"quantity": -1, "price": 100} -> remboursement !

# Skip d'étape dans un workflow
# Passer directement à /checkout/confirmation sans passer par /payment

# Race condition (TOCTOU)
# Utiliser un coupon deux fois en envoyant 2 requêtes simultanées
for i in {1..10}; do curl -X POST /apply-coupon -d "code=PROMO10" & done

# IDOR vertical
PUT /api/users/123/role {"role": "admin"}

# Masse assignment
POST /register {"username":"a","password":"b","role":"admin"}

Méthodologie

Cartographier tous les workflows · Tester chaque transition d'état · Vérifier les limites (0, négatif, très grand) · Tester la concurrence (race conditions) · Vérifier côté serveur TOUTES les validations faites côté client