Un IDOR simple pour la prise de contrôle de compte

Dec 05 2022
Premiers pas avec IDOR, Qu'est-ce qu'IDOR ? IDOR fait référence à Insecure Direct Object Reference, ce qui signifie que vous avez accès à quelque chose qui n'est pas destiné à vous être accessible ou que vous ne disposez pas des privilèges appropriés pour exécuter cette action sur l'application Web. Techniquement, il s'agit d'un problème de contrôle d'accès qui se produit lorsqu'une application utilise une entrée fournie par l'utilisateur pour accéder directement aux objets sans aucun contrôle de validation pour voir si la demande provient de son utilisateur prévu ou non.

Premiers pas avec IDOR, Qu'est-ce qu'IDOR ?

source image : https://avatao.com/

IDOR fait référence à Insecure Direct Object Reference, ce qui signifie que vous avez accès à quelque chose qui n'est pas destiné à vous être accessible ou que vous ne disposez pas des privilèges appropriés pour exécuter cette action sur l'application Web. Techniquement, il s'agit d'un problème de contrôle d'accès qui se produit lorsqu'une application utilise une entrée fournie par l'utilisateur pour accéder directement aux objets sans aucun contrôle de validation pour voir si la demande provient de son utilisateur prévu ou non. L'IDOR peut également être lié à l'escalade de privilèges horizontale [exploitant le groupe d'utilisateurs de l'application] et verticale [exploitant l'utilisateur administrateur].

source de l'image : https://www.business2community.com/

Donc, en supposant que le nom du programme soit example.com puisqu'il s'agissait d'un programme privé. Au départ, je n'ai trouvé aucun problème sur le domaine principal et j'ai ensuite abandonné après avoir obtenu 3 doublons car il s'agissait d'un programme privé de 3 ans et j'ai reçu l'invitation vers octobre 2019.

Plus tard dans la nouvelle année 2020 avec une nouvelle ambiance, j'ai commencé aveuglément à rechercher des vulnérabilités sur le même programme avec une approche et une méthodologie appropriées, j'ai jeté un coup d'œil sur la portée du programme et j'ai vu qu'il y avait peu de sous-domaines qui ont attiré mon attention car il n'avait pas Vulnérabilités connues, j'ai donc pensé que c'était une bonne occasion pour moi de le décomposer.

En deux heures, j'ai eu 4 vulnérabilités dont la prise de contrôle de compte était l'une d'entre elles. Voyons comment a été l'approche pour le découvrir. J'ai donc d'abord testé la page de connexion, la page d'inscription et la page de mot de passe oublié. Lors du test du mot de passe oublié, j'ai vu que lorsque l'utilisateur changeait le mot de passe en un nouveau mot de passe, le paramètre Email était présent dans le corps de la demande avec le nouveau mot de passe et confirmait le nouveau paramètre de mot de passe. identifiant de messagerie et enfin, lorsque j'ai fait la même chose, cela m'a donné un accès complet au compte de messagerie modifié.

Demande d'origine :-

POST /login/internalResetPasswordSubmit?Toketoken=random_char&m=1234&nid=random_char HTTP/1.1
Host: subdomain.example.com
Cookie: all_required_cookies
{"email":"[email protected]","password":"new_passwd","confirmPassword":"new_passwd"}

POST /login/internalResetPasswordSubmit?Toketoken=random_char&m=1234&nid=random_char HTTP/1.1
Host: subdomain.example.com
Cookie: all_required_cookies
{"email":"[email protected]","password":"new_passwd","confirmPassword":"new_passwd"}

L'impact peut être augmenté en modifiant le mot de passe du compte administrateur, obtenant ainsi un accès complet au compte administrateur.

Je l'ai signalé à 12h30 IST le 28 janvier

J'ai reçu une réponse de l'équipe le matin disant qu'elle n'était pas en mesure de répliquer et m'a demandé de prendre en charge le compte de test créé par eux. Je voulais donc leur répondre au plus vite mais quand j'ai reçu les commentaires sur mon rapport j'étais au collège donc j'ai décidé de reproduire le problème dans notre labo du collège, pour cela j'ai réussi tant bien que mal à mettre en place les outils et les pré-requis dans notre ordinateur du collège et quand tout était prêt, j'ai finalement reproduit le même et changé le mot de passe du compte de test créé par l'équipe Bugcrowd et édité le profil avec mon nom d'utilisateur pour la preuve de concept et envoyé le rapport.

Dans les 5 minutes, le rapport a été trié et la priorité a été définie sur P1

Et le lendemain, la société a attribué la prime pour ma soumission, ce qui peut être vu dans la capture d'écran ci-dessus.

Donc c'est tout pour le moment et merci d'avoir lu et j'espère que vous avez aimé ce contenu, nous vous retrouverons dans le prochain article de blog à venir avec un nouvel apprentissage et une nouvelle expérience !!!

Si vous souhaitez en savoir plus sur moi, consultez ce site