Testing Mobile App dengan Burp Suite

Pada artikel ini saya akan coba membagikan pengalaman tentang testing API yang digunakan pada Mobile App. Sedikit pertanyaan dan jawaban untuk memudahkan pemahaman kita.

Pertanyaan : Apa itu Burp suite ?

Jawaban : Menurut saya, ini adalah aplikasi untuk monitoring data pada sebuah jaringan. Dan tidak hanya monitoring kita juga dapat memanipulasi request dan response. 🤔 menarik sekali.

Pertanyaan : Berarti saya bisa hack semua device di jaringan yang sama?

Jawaban : Tidak semudah itu, antara device dan aplikasi harus saling percaya. Device harus mengijinkan(dengan certificate) dan harus mengarahkan proxy nya.

Ok, ada beberapa yang harus disiapkan :

  1. Device, Android atau iOS.
  2. Aplikasi Burp Suite, dapat di download disini. Saya sarankan menggunakan versi komunitas.
  3. Laptop yang sudah terinstall Burp, dan wajib menggunakan satu jaringan dengan device yang akan digunakan.

Masuk ke langkah-langkah teknis.

Install dan konfigurasi Burp
Proses install cukup mudah, ga perlu kita bahas 🤪, yang terpenting adalah konfigurasi. Buka aplikasi Burp Suite, lalu next dan next sampai muncul halaman seperti ini.

Fiturnya banyak 🤯.

Pilih menu proxy, options, proxy listener pilih add, masukan port yang belum dipakai misal 8888 dan jangan lupa pecific address di arahkan ke jaringan digunakan.

ip saya 192.168.8.100 jadi saya pilih seperti di gambar.

Kembali ke tujuan testing, yang akan kita monitor adalah request api yang umumnya menggunakan protocol (https/http). Masih di menu optios scroll ke bawah ketemu menu seperti ini.

Intercept client request untuk protocol http

Lihat gambar di atas, terdapat opsi intercept client request dan server responses. Kita perlu menambahkan pada list untuk protocol is HTTP dan HTTPS kemudian pilih ok. Opsi lain di uncheck dulu, nanti bisa kalian coba-coba sendiri. Dan hasilnya akan seperti ini

Cukup 2 saja yang di intercept, yang lain di uncheck.

Install certificate pada Mobile Device (Android dan iOS)

Tinggalkan sejenak Burp suite dan ambil device kalian. Konsepnya adalah mengijinkan device agar dapat di monitoring dengan cara install certificate yang telah disediakan oleh aplikasi burp. Bagaimana cara mendapatkan certificate-nya dan cara menginstall-nya? pastikan device berada dalam satu jaringan yang sama, kemudian buka browser dan masukan alamat ip address laptop yang sudah terinstall burp sebelumnya [ip]:[port]. Contoh seperti ini 192.168.8.100:8888

Karena langkah nya banyak, silahkan simak gambar dihawah ini.

Untuk ios masih ada yang harus di aktifkan. Masuk ke Settings, general, about, certificate Trust Settings. kemudian aktifkan PortSwigger CA.

Dan jangan lupa wajib dimatikan jika sudah selesai testing.
Aktifkan certificate

Contoh configurasi untuk android dan dekstop/laptop bisa dilihat disini

https://support.portswigger.net/customer/portal/topics/754329-mobile-devices/articles

Monitoring dan Manupulasi Request/Response API(http/https)

Selesai melakukan pengaturan di device, sekarang kembali ke Burp Suite untuk melakukan monitoring. Pilih menu proxy dan Intercept, dan pastikan tombol “intercept is on” dalam keadaan aktif.

Contoh testing pada aplikasi olx di iphone

Pada gambar di atas, saya coba mencontohkan maipulasi request dari aplikasi olx yang sebelumnya mencari dengan param “kereta dorong” tetapi di rubah menjadi “iphone”. Yang menarik disini protocol nya menggunakan https dan dengan burp yang sudah di config kita bisa melihat jelas semua data API-nya (request dan response).

Cara ini sangat efektif ketika kita ingin melakukan pengujian pada aplikasi dimana server/response adalah 500x, 400x dan seterusnya. Akan susah kalau kita harus kolaborasi dengan backend dan meminta tolong server di matikan sebentar 🤪.

Sekian silahkan bereksperiment sendiri dan Semoga bermanfaat.