Généralités
Description
Les failles IDOR (Insecure Direct Object Reference) se produisent lorsqu'une application permet un accès direct à des objets ou des ressources basées sur une entrée fournie par l'utilisateur sans vérification suffisante des permissions. Cela permet à un attaquant d'accéder à des données ou des fonctionnalités auxquelles il ne devrait pas avoir accès en manipulant simplement les références aux objets dans les requêtes.
Exemple d'Attaque IDOR
Scénario d'attaque :
- Un utilisateur authentifié accède à ses propres informations via une URL telle que
https://example.com/user/profile?id=123
. - Un attaquant modifie le paramètre
id
pour accéder aux informations d'autres utilisateurs, par exemplehttps://example.com/user/profile?id=124
.
Exemple de requête malveillante :
Prévention des Attaques IDOR
Vérification des Permissions :
Toujours vérifier que l'utilisateur a les permissions nécessaires pour accéder à la ressource demandée.
Utilisation de Références Indirectes :
- Utiliser des références indirectes ou des tokens à la place des identifiants directs dans les URL et les formulaires.
Contrôle d'Accès au Niveau de l'Application :
- Implémenter des contrôles d'accès rigoureux au niveau de l'application pour toutes les opérations sensibles.
Détection des Failles IDOR
Revue de Code :
- Examiner le code source pour identifier les références directes aux objets et vérifier la présence de contrôles d'accès appropriés.
Tests Manuels :
- Effectuer des tests manuels en modifiant les paramètres des requêtes pour vérifier si des données non autorisées peuvent être accédées.
Utilisation d'Outils de Sécurité :
- Utiliser des outils de sécurité tels que Burp Suite, OWASP ZAP, ou des scanners spécifiques pour détecter les failles IDOR.
Exemples de Références Indirectes Sécurisées
Utilisation de UUID :
- Utiliser des identifiants universels uniques (UUID) au lieu d'identifiants séquentiels.
Mapping des Références :
- Utiliser une table de mapping pour gérer les références entre les identifiants publics et privés.
Catégorie | Information |
---|---|
TTP | Référence directe à un objet non sécurisé |
CWE | CWE-639 (Authorization Bypass Through User-Controlled Key) |
Description de l'attaque | IDOR se produit lorsqu'une application fournit un accès direct à des objets en se basant sur des entrées fournies par l'utilisateur, sans vérification suffisante de l'autorisation. Cela peut permettre à un attaquant d'accéder à des données auxquelles il ne devrait normalement pas avoir accès. |
Impacts potentiels | - Accès non autorisé à des données sensibles - Modification ou suppression de données - Violation de la confidentialité des données |
Comment la détecter | - Tests de pénétration manuels - Analyse des journaux d'accès pour des accès anormaux - Utilisation de scanners automatiques de vulnérabilité |
Remédiations/mitigations | - Mise en œuvre d'une vérification systématique des autorisations pour chaque accès aux données - Utilisation de tokens de session et de contrôles d'accès basés sur les rôles - Sensibilisation des développeurs à cette vulnérabilité lors de la conception de l'application |
Lien de référence | OWASP - Insecure Direct Object References |