Skrip Python yang mengeksploitasi kerentanan praktis dalam aplikasi e-scooter baut yang memungkinkan untuk menggunakan skuter elektronik tanpa biaya apa pun
Bolt4Free adalah skrip Python yang mengeksploitasi kerentanan praktis dalam aplikasi Bolt E-Scooter, yang memungkinkan Anda menggunakan skuter elektronik tanpa biaya. Skrip ini memanfaatkan fakta bahwa Bolt tidak memiliki biaya buka kunci, sehingga perjalanan dapat dimulai dan diakhiri sebanyak yang diinginkan dan bahwa jika durasi perjalanan berada di bawah jangka waktu tertentu tidak akan ada biaya.
HTTP
dan mendapatkan informasi di bawah ini (lebih lanjut tentang cara mendapatkan Burpsuit di Mobile di bawah Permintaan Pencegatan dengan Burp SuiteSebelum menjalankan program ini, Anda harus memiliki informasi berikut:
cookie
: Nilai cookie yang diperlukan untuk otentikasi.
authorization
: Nilai otorisasi yang diperlukan untuk otentikasi (mis., KZQ5MTC2NZA4NNJC1MDQ6MUZCRJAWMEYTQKZRC00RJGWLUE5NUITRUZFODG4RJYZQZVB).
payment_instrument_id
: ID dari instrumen pembayaran (misalnya, adyen_paypal/6837466090316059).
user_agent
(opsional): String agen pengguna yang akan digunakan dalam permintaan. Nilai default adalah "Bolt/109764413 CFNETWORK/1390 DARWIN/22.0.0".
Semua nilai ini dapat diperoleh dari permintaan http
apa pun yang keluar dari aplikasi seluler Bolt
Untuk menjalankan skrip Bolt4Free, Anda harus menginstal modul permintaan. Jika Anda tidak menginstalnya, Anda dapat menginstalnya menggunakan PIP:
pip install requests
Setelah persyaratan diinstal, klon repositori:
git clone https://github.com/amstrdm/Bolt4Free.git
Sebelum menjalankan skrip, pastikan untuk memodifikasi variabel berikut dalam kode:
Cookie
: Ganti dengan nilai header Cookie
dari permintaan yang dicegat oleh Burp Suite.Authorization
: Ganti dengan nilai header Authorization
dari permintaan yang dicegat oleh Burp Suite.Payment_instrument_id
: Ganti dengan nilai parameter payment_instrument_id
dari permintaan yang dicegat oleh Burp Suite. Selain itu, Anda dapat mengubah variabel user_agent
agar sesuai dengan agen pengguna yang Anda inginkan.
Setelah itu Anda dapat menjalankan skrip secara normal dengan Python:
cd Bolt4Free
python3 bolt4free.py
Untuk mendapatkan variabel yang diperlukan ( Cookie
, Authorization
, Payment_instrument_id
), Anda dapat mengarahkan kembali permintaan pos dari aplikasi Bolt ponsel Anda ke komputer yang menjalankan Burp Suite. Ini memungkinkan Anda untuk menangkap permintaan dan mengekstrak nilai yang diperlukan. Anda dapat menemukan instruksi tentang cara mengarahkan kembali permintaan dari telepon ke Burp Suite di sini.
Harap dicatat bahwa proses ini mungkin memerlukan keahlian teknis dan dimaksudkan hanya untuk tujuan pendidikan.
Program mengikuti langkah -langkah berikut:
get_user_input()
: meminta pengguna untuk memasukkan ID skuter baut mereka.create_and_start_order
: Mengirim permintaan pos ke API Bolt untuk membuat dan memulai perjalanan. Mengembalikan respons.extract_order_id
: mengekstrak "order_id" dari respons JSON.getactive1
: Mengirimkan permintaan pos ke API Bolt untuk mendapatkan detail pengendaraan aktif. Mengembalikan respons.extract_getactive1_order_id
: Ekstrak "getActive1_id_value" dari respons JSON.getactive2
: Sends a second POST request to the Bolt API to get the active ride details (this request may be unnecessary and can potentially be removed).finish1
: Mengirimkan permintaan pos ke API Bolt untuk menyelesaikan perjalanan (langkah pertama).finish2
: Mengirimkan permintaan pos ke API Bolt untuk menyelesaikan perjalanan (langkah kedua, mengkonfirmasi penghentian).Program melakukan penanganan kesalahan dasar. Jika salah satu permintaan gagal atau mengembalikan respons yang tidak terduga, pesan kesalahan akan dicetak. Program akan keluar jika terjadi kesalahan.
Proyek Bolt4Free adalah untuk tujuan pendidikan dan merupakan bagian dari program hadiah bug. Pencipta proyek tidak bertanggung jawab atas tindakan eksplisit atau ilegal yang dilakukan dengan program ini. Gunakan skrip ini secara bertanggung jawab dan dengan risiko Anda sendiri.
Harap dicatat bahwa saat ini tidak ada cara "aman" untuk keluar Apakah program keluar dari loop lebih awal dan karena itu tidak mengirim permintaan POST
yang diperlukan untuk mengakhiri perjalanan.
CATATAN: Program ini disediakan AS-IS dan mungkin memerlukan penyesuaian berdasarkan setiap perubahan pada API baut atau proses otentikasi.