OWASP API Top 10 (2023)
- API1 – BOLA : accès non autorisé aux objets d'autres utilisateurs.
- API2 – Broken Authentication : failles d'authentification (tokens faibles, absence d'expiration).
- API3 : BOPLA : lecture ou modification non autorisée des propriétés d'un objet.
- API4 : consommation de ressources : limites insuffisantes sur les traitements, les volumes ou les services facturés.
- API5 – Broken Function Level Authorization : accès à des fonctions admin.
- API6 : flux métier sensibles : usage automatisé ou excessif d'un parcours sans protection adaptée.
- API7 – SSRF : Server-Side Request Forgery via l'API.
- API8 – Security Misconfiguration : CORS, headers, verbose errors.
- API9 – Improper Inventory Management : shadow APIs.
- API10 – Unsafe Consumption of APIs : confiance excessive dans les API tierces.
Distinguer objet, propriété et fonction
Dans un exemple fictif de facturation, trois contrôles proches répondent à des risques différents. Utilisez des données de test et des comptes autorisés pour vérifier ces scénarios.
| Risque | Question de contrôle | Preuve attendue |
|---|---|---|
| API1 : BOLA | Le compte A peut-il lire la facture du client B ? | Essai autorisé sur A et refus sur B, sans données de B |
| API3 : BOPLA | Un lecteur peut-il modifier le propriétaire ou consulter un champ réservé ? | Champs reçus et état de l'objet après la demande |
| API5 : BFLA | Un lecteur peut-il appeler la fonction de suppression réservée à l'administrateur ? | Refus de l'opération et objet inchangé |
| API4 : ressources | Un export peut-il déclencher un traitement au-delà des limites convenues ? | Bornes appliquées, durée et consommation mesurées dans les limites du test |
| API10 : intégrations | Une réponse partenaire inattendue modifie-t-elle une décision sensible ? | Validation, gestion des erreurs et absence d'action non prévue |
Passer du référentiel au plan de test
Pour chaque parcours, associez une famille de risque, les comptes nécessaires, les règles attendues et une preuve. Documentez les catégories applicables, les exclusions et les limites. L'absence de constat sur une catégorie ne prouve pas que toutes les variantes ont été couvertes. Le guide de cadrage du pentest API détaille la préparation et la restitution.
API REST vs GraphQL : différences de surface d'attaque
Les API GraphQL exposent une surface d'attaque différente : introspection, batching, deep nesting. Le pentest doit adapter ses vecteurs : query complexity attacks, field-level authorization bypass, injection dans les variables.
Pentest API chez Laucked
Les catégories pertinentes sont retenues selon les endpoints et les parcours inclus au devis. Les constats documentent les comptes, les requêtes, l'impact observé et les recommandations. Le périmètre et les accès disponibles conditionnent la couverture ; consultez notre offre d'audit API pour préparer la mission.
Pour approfondir : OWASP API Security : référentiel API, distinct du Top 10 web.