Un script Python exploitant une vulnérabilité pratique dans l'application Bolt E-Scooter qui permet d'utiliser les e-scooters sans aucune charge
Bolt4Free est un script Python qui exploite une vulnérabilité pratique dans l'application Bolt E-Scooter, vous permettant d'utiliser les e-scooters sans aucune charge. Le script profite des faits que Bolt n'a pas de frais de déverrouillage, donc un trajet peut être démarré et terminé autant de fois que souhaité et que si la durée d'un trajet est sous un délai donné, il n'y aura pas de frais.
HTTP
et obtenir les informations ci-dessous (en savoir plus sur la configuration du burpsuit sur mobile sous les demandes d'interception avec Burp SuiteAvant d'exécuter ce programme, vous devez avoir les informations suivantes:
cookie
: La valeur des cookies requise pour l'authentification.
authorization
: la valeur d'autorisation requise pour l'authentification (par exemple, Basic KZQ5MTC2NZA4NJC1MDQ6MUZCRJAWMEYTQKQZRC00RJGWLUE5NUTRUZFODG4RJYZQZVB).
payment_instrument_id
: L'ID de l'instrument de paiement (par exemple, Adyen_Paypal / 6837466090316059).
user_agent
(facultatif): la chaîne de l'agent utilisateur à utiliser dans les demandes. La valeur par défaut est "Bolt / 109764413 CFNETWORK / 1390 DARWIN / 22.0.0".
Toutes ces valeurs peuvent être obtenues à partir de toute demande http
sortante de l'application mobile Bolt
Pour exécuter le script Bolt4Free, vous devez faire installer le module de demande. Si vous ne l'avez pas installé, vous pouvez l'installer à l'aide de PIP:
pip install requests
Une fois les exigences installées, clone, le référentiel:
git clone https://github.com/amstrdm/Bolt4Free.git
Avant d'exécuter le script, assurez-vous de modifier les variables suivantes dans le code:
Cookie
: Remplacez par la valeur de l'en-tête Cookie
des demandes interceptées par Burp Suite.Authorization
: remplacez par la valeur de l'en-tête Authorization
à partir des demandes interceptées par Burp Suite.Payment_instrument_id
: Remplacez par la valeur du paramètre payment_instrument_id
à partir des demandes interceptées par Burp Suite. De plus, vous pouvez modifier la variable user_agent
pour correspondre à votre agent utilisateur souhaité.
Après cela, vous pouvez exécuter le script normalement avec Python:
cd Bolt4Free
python3 bolt4free.py
Pour obtenir les variables requises ( Cookie
, Authorization
, Payment_instrument_id
), vous pouvez rediriger les demandes de publication de l'application Bolt de votre téléphone vers un ordinateur exécutant Burp Suite. Cela vous permet de capturer les demandes et d'extraire les valeurs nécessaires. Vous pouvez trouver des instructions sur la façon de rediriger les demandes d'un téléphone à Burp Suite ici.
Veuillez noter que ce processus peut nécessiter une expertise technique et est destiné à des fins éducatives uniquement.
Le programme suit les étapes suivantes:
get_user_input()
: invite l'utilisateur à saisir l'ID de son scooter à boulons.create_and_start_order
: envoie une demande de poste à l'API Bolt pour créer et démarrer le trajet. Renvoie la réponse.extract_order_id
: extrait le "Order_id" de la réponse JSON.getactive1
: envoie une demande postale à l'API Bolt pour obtenir les détails de conduite actifs. Renvoie la réponse.extract_getactive1_order_id
: extrait le "getactive1_id_value" de la réponse JSON.getactive2
: envoie une deuxième demande de post à l'API Bolt pour obtenir les détails de conduite actifs (cette demande peut être inutile et peut être supprimée).finish1
: Envoie une demande de poste à l'API Bolt pour terminer le trajet (première étape).finish2
: envoie une demande de poste à l'API Bolt pour terminer le trajet (deuxième étape, confirme la terminaison).Le programme effectue une gestion des erreurs de base. Si l'une des demandes échoue ou renvoie une réponse inattendue, un message d'erreur sera imprimé. Le programme sortira en cas d'erreur.
Le projet Bolt4Free est à des fins éducatives et fait partie d'un programme de primes de bogues. Le créateur du projet n'est pas responsable des actes explicites ou illégaux accomplis avec le programme. Utilisez ce script de manière responsable et à vos risques et périls.
Veuillez noter qu'il n'y a actuellement aucun moyen "sûr" de quitter le programme, car cela nécessiterait du threading qui sera probablement ajouté plus tard, donc lors de la fin du programme, il est important de vérifier l'application Bolt officielle si la conduite s'est terminée comme chances Le programme est-il sorti de la boucle tôt et n'a donc pas envoyé les demandes POST
nécessaires pour mettre fin à la conduite.
Remarque: Ce programme est fourni en tant que tel quel et peut nécessiter des ajustements en fonction de toute modification de l'API Bolt ou du processus d'authentification.