IDOR (Insecure Direct Object Reference)

1. LE PRINCIPE

Une vulnérabilité IDOR survient lorsqu'une application permet d'accéder à un objet (fichier, message, profil utilisateur) en utilisant directement son identifiant, sans vérifier si l'utilisateur connecté a le droit d'y accéder.

2. EXEMPLE CLASSIQUE

Imaginez l'URL suivante pour voir votre facture :

https://site.com/facture?id=1001

Que se passe-t-il si vous changez 1001 en 1002 ?

Si le site est mal sécurisé, vous verrez la facture du client suivant ! C'est une fuite de données massive, car il suffit d'écrire un petit script pour télécharger toutes les factures de 1 à 1000000.

3. COMMENT SE PROTÉGER

Le développeur doit toujours vérifier les permissions lors de l'accès à un objet :

// MAUVAIS : $facture = getFacture($_GET['id']); // BON : $facture = getFacture($_GET['id']); if ($facture['user_id'] !== $_SESSION['user_id']) { die("ACCÈS INTERDIT"); }


RETOUR AU LAB