Race Condition
Last updated
Last updated
L'application Ă©tait une application Web avec 3 niveaux de rĂŽles (administrateur, un utilisateur spĂ©cifique utilisĂ© pour un usage spĂ©cifique et des utilisateurs normaux). L'authentification pour les utilisateurs normaux Ă©tait sans mot de passe. Pour s'authentifier, un lien magique Ă©tait envoyĂ© par e-mail et gĂ©nĂ©rait un jeton spĂ©cifique et unique pour une courte pĂ©riode de temps. Cette fonction Ă©tait vulnĂ©rable Ă une vulnĂ©rabilitĂ© de condition de concurrence conduisant Ă gĂ©nĂ©rer exactement le mĂȘme jeton pour diffĂ©rents utilisateurs lors de l'envoi de la requĂȘte en simultanĂ©.
J'ai capturĂ© la requĂȘte de demande de magik link via burp*
J'ai fait un click droit sur la requĂȘte puis "copy as curl command"
Sur un terminal j'ai collĂ© la requĂȘte pour mon utilisateur puis ajoutĂ© un "&" afin de lancer la commande en arriĂšre plan puis collĂ© une nouvelle fois la requĂȘte en changeant le nom d'utilisateur pour la seconde requĂȘte.
J'ai lancé les commandes puis me suis rendu sur mes boßtes de reception afin de vérifier les token généré.
Les token Ă©taient identiques pour les deux utilisateurs.
GĂ©nĂ©rer exactement le mĂȘme jeton de connexion pour de nombreux utilisateurs peut entraĂźner une prise de contrĂŽle de compte en masse.