API documentation

Auteur: Brouettelover 2024-01-21 16:02:32
Categories: > > Tags:

Description

Il est possible d’analyser une application via son API et envoyer des requêtes vers une API afin d’effectuer certaines actions. Souvent les APIs utilisent du JSON ou du XML.

Interraction

Il est possible d’utiliser burp scanner afin d’extraire les endpoints de l’api en scannant des url communes comme /api ou en cherchant des fichiers javascripts.

Les endpoints de l’API attendent souvent des données dans un format spécifique. Ils peuvent donc se comporter différemment en fonction du type de contenu des données fournies dans une requête. La modification du type de contenu peut vous permettre de

Déclencher des erreurs qui révèlent des informations utiles.
de contourner des défenses défectueuses
de tirer parti des différences de logique de traitement.
Par exemple, une API peut être sécurisée lorsqu’elle traite des données JSON, mais susceptible de faire l’objet d’attaques par injection lorsqu’elle traite des données XML.

Pour changer le type de contenu, on peut modifier Content-Type header en changeant le body afin de modifier le contenu par exemple de JSON vs XML et inversément.

Fuzz pour trouver des endpoints cachés

Par exemple, on a identifié le l’API :

PUT /api/user/update

Il est possible que d’autre méthodes existe comme delete ou add, il est possible d’automatiser ses tests avec Burp intruder et une liste de noms communs dans les API

Github d’un repo de wordlist d’api : https://github.com/chrislockard/api_wordlist/tree/master