البرنامج النصي Python يستغل ثغرة عملية في تطبيق Bolt E-scooter مما يجعل من الممكن استخدام برامج الدراجات الإلكترونية دون أي رسوم
Bolt4Free هو نص Python الذي يستغل ثغرة عملية في تطبيق Bolt E-scooter ، مما يتيح لك استخدام برامج الدراجات الإلكترونية دون أي رسوم. يستفيد البرنامج النصي من الحقائق التي مفادها أن بولت ليس لديه رسوم إلغاء قفل ، لذلك يمكن بدء ركوب وإنهاء عدة مرات حسب الرغبة وأنه إذا كانت مدة الركوب تحت إطار زمني معين ، فلن تكون هناك رسوم.
HTTP
والحصول على المعلومات أدناه (المزيد حول كيفية إعداد Burpsuit على الهاتف المحمول تحت اعتراض الطلبات مع Burp Suiteقبل تشغيل هذا البرنامج ، تحتاج إلى الحصول على المعلومات التالية:
cookie
: قيمة ملفات تعريف الارتباط المطلوبة للمصادقة.
authorization
: قيمة التفويض المطلوبة للمصادقة (على سبيل المثال ، KZQ5MTC2NZA4NJC1MDQ6MUZCRJAWMEYTQKQZRC00RJGWLUE5NUITRUZFODG4RJYZQZVB).
payment_instrument_id
: معرف أداة الدفع (على سبيل المثال ، adyen_paypal/6837466090316059).
user_agent
(اختياري): سلسلة وكيل المستخدم المراد استخدامها في الطلبات. القيمة الافتراضية هي "Bolt/109764413 CFNetwork/1390 Darwin/22.0.0".
يمكن الحصول على كل هذه القيم من أي طلب http
الصادر من تطبيق Bolt Mobile
لتشغيل البرنامج النصي Bolt4Free ، تحتاج إلى تثبيت وحدة الطلبات. إذا لم يتم تثبيته ، فيمكنك تثبيته باستخدام PIP:
pip install requests
بعد تثبيت المتطلبات استنساخ المستودع:
git clone https://github.com/amstrdm/Bolt4Free.git
قبل تشغيل البرنامج النصي ، تأكد من تعديل المتغيرات التالية في الكود:
Cookie
: استبدل بقيمة رأس Cookie
من الطلبات التي تم اعتراضها بواسطة Suite Burp.Authorization
: استبدل بقيمة رأس Authorization
من الطلبات التي تم اعتراضها بواسطة Suite Burp.Payment_instrument_id
: استبدل بقيمة المعلمة payment_instrument_id
من الطلبات التي تم اعتراضها بواسطة مجموعة التجشؤ. بالإضافة إلى ذلك ، يمكنك تغيير متغير user_agent
لمطابقة وكيل المستخدم المطلوب.
بعد ذلك يمكنك تنفيذ البرنامج النصي بشكل طبيعي مع Python:
cd Bolt4Free
python3 bolt4free.py
للحصول على المتغيرات المطلوبة ( Cookie
، Authorization
، Payment_instrument_id
) ، يمكنك إعادة توجيه طلبات النشر من تطبيق Bolt الخاص بهاتفك إلى جهاز كمبيوتر يعمل على تجشير. يتيح لك ذلك التقاط الطلبات واستخراج القيم اللازمة. يمكنك العثور على تعليمات حول كيفية إعادة توجيه الطلبات من الهاتف إلى مجموعة التجشؤ هنا.
يرجى ملاحظة أن هذه العملية قد تتطلب خبرة فنية ومخصصة لأغراض تعليمية فقط.
يتبع البرنامج الخطوات التالية:
get_user_input()
: يطالب المستخدم بإدخال معرف سكوتر الترباس الخاص بهم.create_and_start_order
: يرسل طلبًا منشورًا إلى API Bolt لإنشاء وبدء الركوب. إرجاع الاستجابة.extract_order_id
: يستخرج "order_id" من استجابة JSON.getactive1
: يرسل طلبًا منشورًا إلى API Bolt للحصول على تفاصيل الركوب النشطة. إرجاع الاستجابة.extract_getactive1_order_id
: يستخرج "getactive1_id_value" من استجابة JSON.getactive2
: يرسل طلب نشر آخر إلى API Bolt للحصول على تفاصيل الركوب النشطة (قد يكون هذا الطلب غير ضروري ويمكن إزالته).finish1
: يرسل طلبًا آخر إلى API Bolt لإنهاء الرحلة (الخطوة الأولى).finish2
: يرسل طلبًا آخر إلى API Bolt لإنهاء الرحلة (الخطوة الثانية ، يؤكد الإنهاء).البرنامج ينفذ معالجة الأخطاء الأساسية. إذا فشل أي من الطلبات أو إرجاع استجابة غير متوقعة ، فسيتم طباعة رسالة خطأ. سوف يخرج البرنامج في حالة وجود خطأ.
مشروع Bolt4Free هو لأغراض تعليمية وهو جزء من برنامج Bug Bounty. خالق المشروع غير مسؤول عن أي أعمال صريحة أو غير قانونية يتم تنفيذها مع البرنامج. استخدم هذا البرنامج النصي بمسؤولية وعلى مسؤوليتك.
يرجى ملاحظة أنه لا توجد حاليًا أي طريقة "آمنة" للخروج من البرنامج لأن ذلك سيتطلب ترابطًا على الأرجح سيتم إضافته لاحقًا ، وبالتالي عند إنهاء البرنامج ، من المهم التحقق من تطبيق الترباس الرسمي إذا تم إنهاء الركوب كفرص هل ينطلق البرنامج من الحلقة مبكراً ، وبالتالي لم يرسل طلبات POST
اللازمة لإنهاء الرحلة.
ملاحظة: يتم توفير هذا البرنامج كما هو-وقد يتطلب تعديلات بناءً على أي تغييرات على واجهة برمجة تطبيقات الترباس أو عملية المصادقة.