Bugs de logique métier — Failles fonctionnelles
★★★★★
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