Skip to main content

L'OWASP API Security Top 10

L'OWASP (Open Worldwide Application Security Project) est une fondation qui publie des références en sécurité applicative. Son API Security Top 10 recense les risques les plus fréquents dans les API. La dernière édition date de 2023.

La plupart de ces failles ne demandent aucune compétence technique avancée pour être exploitées : juste curl et un peu de curiosité. Comme pendant la chasse au trésor.

#RisqueAu bar, ça donne…Se protéger
API1Broken Object Level Authorization (BOLA, aussi appelé IDOR)Changer l'id dans /orders/42 et lire la commande d'un autre clientVérifier à chaque requête que l'objet appartient à l'utilisateur
API2Broken AuthenticationUne route de connexion sans limite d'essais, des tokens qui n'expirent jamaisBibliothèques éprouvées, expiration, rate limiting sur l'authentification
API3Broken Object Property Level Authorization (BOPLA)Envoyer {"role": "bartender"} dans un PATCH /me et devenir barmanN'accepter et ne renvoyer que les champs prévus (schémas stricts)
API4Unrestricted Resource Consumption?per_page=1000000, ou 10 000 commandes par secondeLimites de pagination, de taille de body, rate limiting
API5Broken Function Level AuthorizationUn client qui appelle /admin/scoreboard et obtient une réponseContrôler le rôle sur chaque route sensible, refuser par défaut
API6Unrestricted Access to Sensitive Business FlowsUn bot qui commande tous les 404 Spritz dès leur retour en stock pour les revendreDétection des comportements automatisés, limites métier
API7Server Side Request Forgery (SSRF)Une route « importer la photo du cocktail depuis une URL » à qui l'on donne http://localhost:8080/adminListe blanche de domaines, interdire les adresses internes
API8Security MisconfigurationLes stack traces en production, CORS ouvert à tous, HTTP sans TLSConfiguration revue, erreurs neutres, HTTPS partout
API9Improper Inventory ManagementL'API v0 du stagiaire de 2009, oubliée mais toujours en ligneInventaire des versions et des environnements, décommissionnement
API10Unsafe Consumption of APIsFaire aveuglément confiance aux données renvoyées par l'API du fournisseur de citronsValider aussi ce qu'on reçoit des API tierces

Les trois à retenir

Si vous ne deviez en retenir que trois, ce sont celles qui concernent l'autorisation : API1, API3 et API5. Elles ne sont détectées ni par les scanners automatiques, ni par les tests qui « vérifient que ça marche ». Il faut se demander, pour chaque route : et si c'était quelqu'un d'autre qui appelait ?

Le réflexe à prendre en écrivant une route : « Qui a le droit d'appeler cette route ? Sur quels objets ? Avec quels champs ? »

Référence complète : OWASP API Security Top 10 – 2023.