UAS KEAMANAN INFORMASI 2024 — VAPT (w/Portswigger) — Business Logic Vulnerabilities

Lidia Aprilia Putri
5 min read3 days ago

1. Apa itu VAPT?

Evaluasi keamanan berupa Vulnerability Assessment and Penetration Testing (VAPT) bertujuan untuk menemukan, mengklasifikasikan, dan memperbaiki kelemahan sistem informasi, aplikasi, atau jaringan. Penilaian kerentanan (VA) adalah bagian dari proses ini, yang mencakup identifikasi kelemahan melalui pemindaian otomatis dan analisis manual, dan uji penetrasi (PT) yang bertujuan untuk mengeksploitasi kerentanan tersebut untuk mengevaluasi dampak potensial dari serangan. VAPT membantu organisasi dalam mengidentifikasi kelemahan sebelum penyerang mengeksploitasinya, memahami risiko yang dihadapi, memenuhi persyaratan kepatuhan, meningkatkan keamanan, dan meningkatkan kesadaran dan kesiapan tenaga kerja.

2. Apa itu Portswigger?

PortSwigger mengembangkan alat dan layanan untuk bidang keamanan aplikasi web. Selain itu, PortSwigger menyediakan resources pendidikan seperti Web Security Academy, yang mengajarkan pengguna dan profesional keamanan siber tentang berbagai aspek keamanan aplikasi web melalui tutorial, lab interaktif, dan tantangan praktis.

3. Main Topics

Dalam tahapan VAPT kali ini, saya akan menggunakan enam topik untuk melakukan penilaian dan pengujian keamanan yaitu Access Control, Business logic Vulnerabilities, Path Traversal, Authentication, Information Disclosure, dan File Upload Vulnerabilities.

b. Business Logic Vulnerabilities

Dikutip dari Portswigger, Business logic Vulnerabilities (Kerentanan Logika Bisnis) adalah kelemahan dalam desain dan implementasi aplikasi yang memungkinkan penyerang untuk mendapatkan perilaku yang tidak diinginkan, yang memungkinkan mereka untuk memanipulasi fungsionalitas yang sah untuk mencapai tujuan jahat. Kelemahan ini biasanya disebabkan oleh ketidakmampuan untuk mengantisipasi kondisi aplikasi yang tidak biasa yang mungkin terjadi dan, akibatnya, tidak dapat menanganinya dengan aman.
Karena aturan yang menentukan bagaimana aplikasi berfungsi tidak selalu terkait langsung dengan bisnis, istilah “logika bisnis” di sini hanya mengacu pada set aturan yang menentukan bagaimana aplikasi beroperasi. Kerentanan yang terkait dengan aturan ini juga disebut sebagai “kerentanan logika aplikasi” atau “kelemahan logika.”

4. VAPT Execution

b. Business Logic Vulnerabilities

Untuk mengeksekusi VAPT dengan topik Business Logic Vulnerabilities, saya menggunakan lab dari Portswigger yang berjudul “Inconsistent security controls — https://portswigger.net/web-security/logic-flaws/examples/lab-logic-flaws-inconsistent-security-controls

· Executive Summary:

Eksekusi VAPT pada lab ini dilakukan pada tanggal 15 Juni 2024. Adapun ringkasan kerentanan pada lab ini yaitu kerentanan ini muncul karena logika keamanan yang tidak konsisten memungkinkan pengguna umum mengakses fungsi administratif yang seharusnya hanya dapat diakses oleh karyawan perusahaan. Pengguna biasa dapat mengakses panel admin dan menghapus pengguna lain dengan mendaftar menggunakan format email tertentu dan kemudian mengubah alamat email menjadi domain perusahaan. Ini menunjukkan kelemahan sistem pengendalian akses dan validasi pengguna.

· Key Findings:

· Full Pentest Results:

Langkah pertama, saya mengakses lab “Inconsistent security controls” melalui Portswigger. Berikut adalah tampilan web dari lab tersebut.

Langkah kedua, saya mengakses menu admin dengan menambahkan path /admin pada URL lab seperti gambar dibawah ini.

Langkah ketiga, register akun menggunakan email yang akan kita dapatkan dengan mengklik button orange “Email Client”.

Langkah keempat, dapat kita lihat bahwa email kita yaitu “attacker@exploit-0a22008904d064ca81ccf69701100012.exploit-server.net”. Kemudian, copy email dan kembali ke halaman web admin.

Langkah kelima, klik menu “Register” yang berada di ujung kanan halaman web admin dan akan muncul tampilan seperti dibawah ini. Kemudian, isi data-data yang dibutuhkan untuk register, seperti username, email, dan password. Untuk username dan password, dapat diisi sembarang, namun untuk email, dapat langsung di paste dari email yang telah kita copy dari halaman web email. Setelah mengisi data-data diatas, klik tombol hijau “register”.

Langkah keenam, setelah berhasil register, akan muncul pesan seperti dibawah ini. Kemudian, klik tombol orange “Email Client” untuk mendapatkan link registrasi yang dimaksud oleh pesan tersebut.

Langkah ketujuh, dapat kita lihat terdapat link registrasi di halaman web email. Kemudian, kita klik link registrasi tersebut.

Langkah kedelapan, setelah mengklik link registrasi tersebut, kita akan ter-direct ke halaman web login. Kemudian, kita isi data-data untuk login, yaitu username dan password yang telah kita isi pada menu register sebelumnya.

Langkah kesembilan, setelah berhasil login, kita ganti/update email kita dengan syarat second dan top level domain email harus berupa format ‘@dontwannacry.com’ dan untuk unique username nya sembarang saja. Karena berdasarkan gambar pada langkah ketiga, halaman panel admin hanya bisa diakses jika user login sebagai ‘DontWannaCry’ user.

Langkah kesepuluh, setelah berhasil mengupdate email kita, akan muncul tampilan seperti dibawah ini. Hal ini menandakan bahwa kita telah berhasil login sebagai ‘DontWannaCry’ user dan dapat mengakses halaman panel admin dengan mengklik ‘Admin Panel’ yang berada di sisi kanan halaman web ini.

Langkah kesebelas, setelah berhasil mengakses halaman panel admin, saya akan menghapus user yang bernama Carlos, sesuai dengan perintah pada lab ini.

Langkah terakhir, saya telah berhasil menghapus user Carlos dan menyelesaikan lab ini.

--

--