Vous êtes sur la page 1sur 9

Top 10 API Bugs:

API1:2019 Broken Object Level Authorization:


Les attaquants substituent l'ID de leur propre ressource dans l'appel API par l'ID d'une
ressource appartenant à un autre utilisateur. L'absence de contrôles d'autorisation
appropriés permet aux attaquants d'accéder à la ressource spécifiée. Cette attaque est
également connue sous le nom d'IDOR

API2:2019 Broken User Authentication:


L’authentification API mal mise en œuvre permet aux attaquants d’assumer l’identité des
autres utilisateurs.

API3:2019 Excessive Data Exposure:


L'API peut exposer beaucoup plus de données que ce dont le client a légitimement besoin,
en s'appuyant sur le client pour effectuer le filtrage. Si les attaquants accèdent directement à
l'API, ils ont tout.

API4:2019 Lack of Resources & Rate Limiting:


L'API n'est pas protégée contre un nombre excessif d'appels ou de tailles de payload. Les
attaquants peuvent l'utiliser pour le déni de service (DoS) et les failles d'authentification
telles que les attaques par force brute.

API5:2019 Broken Function Level Authorization:


L'API repose sur le client pour utiliser les API de niveau utilisateur ou de niveau
administrateur, selon le cas. Les attaquants découvrent les méthodes de l'API
d'administration « cachées » et les invoquent directement.

API6:2019 Mass Assignment:


L'API prend les données fournies par le client et les stocke sans filtrage approprié pour les
propriétés de la liste blanche. Les attaquants peuvent essayer de deviner les propriétés des
objets ou fournir des propriétés d'objet supplémentaires dans leurs requêtes, lire la
documentation ou consulter les points de terminaison de l'API pour savoir où trouver les
ouvertures pour modifier les propriétés qu'ils ne sont pas censés utiliser sur les objets de
données stockés dans le backend.
API7:2019 Security Misconfiguration:
Security misconfiguration est généralement le résultat d’une configurations non sécurisées,
d’une configuration incomplète ou ad hoc, d'un stockage en cloud ouvert, HTTP headers mal
configuré, méthodes HTTP inutiles, Cross-Origin resource sharing permessive (CORS) et
messages d'erreur détaillés contenant des informations sensibles.

API8:2019 Injection
Les attaquants construisent des appels d'API qui incluent des commandes SQL, NoSQL, LDAP,
OS ou autres que l'API ou le backend derrière elle exécute aveuglément.

API9:2019 Improper Assets Management


Les attaquants trouvent des versions non destinées à la production de l'API (par exemple,
des versions intermédiaires, des tests, des versions bêta ou antérieures) qui ne sont pas
aussi bien protégées que l'API de production et les utilisent pour lancer leurs attaques.

API10:2019 Insufficient Logging & Monitoring


Le manque de journalisation, de surveillance et d'alertes appropriées permet aux attaques et
aux attaquants de passer inaperçus.
Les Bugs Testées  :
1) Test effectue sur l’API : https://z.renoto.net/
2) Enumération des Endpoint des API avec :
L’outil GoBuster :

L’outil FFUF :
3) Mise en place d’un proxy pour intercepter les requêtes envoyées et les réponses
reçus en utilisant BurpSuite Proxy :

4) Manipulation des Requêtes avec Burp Repeater et Curl Command


L’outil Burp Repeater :
5) Burp Repeater est un outil simple pour manipuler et réémettre manuellement des
requêtes HTTP individuelles et analyser les réponses de l'application. Vous pouvez
envoyer une demande à Repeater de n'importe où dans Burp, modifier la demande
et la réémettre encore et encore.
6) Après l’interception de chaque requête ou d’une requête qui pourrait être exploitée
on l’envoie a burpSuite Repeater pour voir comment cette requête réagit si : On
change les Méthodes HTTP {POST / GET / OPTIONS / PUT / HEAD / DELETE} , on
change les données envoyées par des données malicieux chaque fois.
Curl Command
Curl est un outil de transfert de données depuis ou vers un serveur, en utilisant l'un des
protocoles pris en charge (HTTP, HTTPS, FTP, TELNET, LDAP...). La commande est conçue
pour fonctionner sans intervention de l'utilisateur.

7) Les principales parties du Site Testées :


a. API du Login / Logout
i. https://z.renoto.net/prestataire/authentification
ii. https://z.renoto.net/prestataire/validation
b. API du Recherche / filtre
i. https://z.renoto.net/api/mobile/reviq/liste/
ii. https://z.renoto.net/api/mobile/article/search/6/0
iii. https://z.renoto.net/api/mobile/theme/articles/in/search/
c. API de l’Ajout / Modification / Désactivation / Suppression d’une activité
i. https://z.renoto.net/prestataire/article/8001
ii. https://z.renoto.net/prestataire/article/desactivate
iii. https://z.renoto.net/prestataire/article/delete
iv. https://z.renoto.net/prestataire/article/add
d. Les différents champs et Upload de l’image de l’activité
i. Injections (SQL / XSS /OS command)
e. Contactez-nous
Rapport de vulnérabilité :
Titre :
Type de vulnérabilité : IDOR (insecure direct object reference)
Domain : https://z.renoto.net/

Description :
Lors de la création des activités, chaque activité est associée à un identifiant (ID). En utilisant
cet identifiant, il est possible de supprimer toute activité créée, même si vous n'avez pas
réellement accès à l’activité.

Reproduction :
1) Se connecter avec utilistateur1

2) Créer une activité avec utilistateur1

3) Maintenant On récupère ID de cette activité : 8003


https://zido-compte.renoto.net/detail-activite/8003/Test2
4) Se connecter avec utilisateur2
5) Créer une activité avec utilistateur2

6) Configurez un proxy pour intercepter la requête et cliquez sur Désactiver sur l’activité
que vous venez de créer avec utilisateur2.

7) Modifiez le paramètre id dans le corps de la requête pour avoir la valeur de l'étape 3


8) Connectez-vous à nouveau en tant que utilisateur1 et remarquez que vous l’activité a
été désactivée.

Impact :
Étant donné que les identifiants des activités sont séquentiels (8001, 8002, 8003…) un
attaquant peut facilement désactiver et même supprimer toutes les activités d'autres
personnes.

Autres Menaces :
 L'API n'est pas protégée contre un nombre excessif d'appels ou de payload utile. Les
attaquants l'utilisent pour les attaques DDoS et par force brute.
 API exposant beaucoup plus de données que ce dont le client a légitimement besoin,
s'appuyant sur le client pour effectuer le filtrage. L'attaquant va directement à l'API
et a tout.

Vous aimerez peut-être aussi