🆔IDOR

IDOR : Insecure Direct Object References

Qu'est-ce que l'IDOR?

L'Insecure Direct Object References (IDOR) est une vulnérabilité de sécurité où une application web accorde un accès direct à des objets internes basés sur des entrées fournies par l'utilisateur (comme un identifiant de ressource). Si l'application ne vérifie pas correctement les autorisations, un utilisateur malveillant peut accéder à des données ou des actions qui ne lui sont pas destinées.

Identification d'une vulnérabilité IDOR

  1. Observation des URL et des paramètres:

    • Identifier les URL ou les paramètres de requête qui font référence à des ressources, comme /profile?id=123 ou /documents/456.

  2. Modification des paramètres:

    • Changer la valeur du paramètre pour voir si vous pouvez accéder à des données ou des ressources d'autres utilisateurs, par exemple, modifier id=123 à id=124.

  3. Observation des réponses:

    • Vérifier si les modifications permettent d'accéder à des données non autorisées.

Attaque IDOR

Exemple d'attaque IDOR:

  1. Rechercher des points d'entrée:

    • Analyser les requêtes HTTP (GET/POST) dans l'application pour trouver des identifiants d'objets.

  2. Modifier les identifiants:

    • Supposons que vous avez l'URL: http://example.com/profile?id=123

    • Changez l'identifiant pour voir si vous pouvez accéder aux données d'autres utilisateurs, par exemple: http://example.com/profile?id=124

  3. Analyser les réponses:

    • Si la modification de l'identifiant permet d'accéder à des données qui ne vous appartiennent pas, l'application est vulnérable à l'IDOR.

Comment prévenir les vulnérabilités IDOR

  1. Contrôles d'accès au niveau de l'objet:

    • Toujours vérifier que l'utilisateur authentifié a l'autorisation d'accéder à l'objet référencé.

    • Implémenter des contrôles d'accès au niveau des objets dans le code du serveur.

  2. Utiliser des identifiants imprévisibles:

    • Utiliser des identifiants uniques, tels que des UUID, qui ne peuvent pas être facilement devinés.

  3. Validation des entrées:

    • Valider et vérifier toutes les entrées utilisateur du côté serveur.

  4. Revue de code et tests de sécurité:

    • Effectuer des revues de code régulières pour identifier les points où les références directes aux objets peuvent être exposées.

    • Utiliser des tests de sécurité automatisés et manuels pour détecter les IDOR.

Outils pour tester l'IDOR

  • Burp Suite : Utiliser l'outil de proxy pour intercepter et modifier les requêtes HTTP.

  • OWASP ZAP : Utiliser pour scanner et détecter les vulnérabilités web.

  • Postman : Tester manuellement les requêtes API et vérifier les réponses pour les IDOR.