Langsung ke konten utama

Penetration testing

Pentest website dan aplikasi: apa yang diuji dan apa hasilnya

Ringkasnya

Pentest website adalah pengujian keamanan yang mensimulasikan serangan nyata pada aplikasi web, mobile, dan API. Pelajari apa yang diuji, metode yang digunakan, dan apa yang ada di laporan akhirnya.

Penetration testing

Pentest website adalah pengujian keamanan yang dilakukan penguji manusia terhadap aplikasi web, mobile, atau API Anda, dengan tujuan menemukan celah yang bisa dieksploitasi sebelum penyerang sungguhan melakukannya. Hasilnya bukan sekadar daftar kerentanan dari pemindaian otomatis, melainkan bukti langsung: jalur persis yang ditempuh penguji, apa yang bisa diakses, dan dampak nyatanya bagi operasional bisnis. Halaman ini menjelaskan cakupan, metode, dan isi laporan dari pengujian tipe ini. Untuk estimasi durasi dan perencanaan jadwal, lihat berapa lama penetration testing berlangsung.

Cakupan pengujian: web, mobile, dan API

Tiga kategori utama pengujian aplikasi berbeda di titik masuk dan cara penguji mendekatinya.

TipeApa yang diujiOutput laporan
Aplikasi webAntarmuka browser, form input, sesi pengguna, logika autentikasi, endpoint HTTP dan HTTPS, kontrol akses, dan komponen pihak ketiga yang tersematTemuan dipetakan per halaman dan fungsi berdasarkan OWASP WSTG
Aplikasi mobile (Android dan iOS)Komunikasi antar-layer, penyimpanan data lokal di perangkat, proteksi binary, sesi dan autentikasi, serta API backend yang dipakai aplikasiTemuan MASTG mencakup layer aplikasi dan API backend
API (REST dan GraphQL)Autentikasi token, otorisasi per endpoint, rate limiting, validasi input, paparan data berlebihan, dan logika bisnis di balik endpointTemuan berdasarkan OWASP API Top 10, dengan proof-of-concept per endpoint

Batas antara ketiga kategori ini sering kabur dalam praktik. Aplikasi mobile dan web yang baik berbagi backend API yang sama, sehingga kelemahan di lapisan API berpengaruh ke kedua antarmuka. Ini salah satu alasan cakupan gabungan lebih sering menghasilkan temuan yang lebih bermakna daripada menguji setiap lapisan secara terpisah.

Metode: black-box, grey-box, dan white-box

Pilihan metode menentukan titik awal penguji dan seberapa dalam pengujian bisa menjangkau dalam waktu yang tersedia.

Black-box test mensimulasikan penyerang eksternal yang tidak mengenal sistem Anda. Penguji memulai dari nol: mencari informasi publik, mengeksplorasi antarmuka yang terlihat, dan mencoba mendapat pijakan tanpa bantuan akses dari dalam. Metode ini paling realistis untuk mengukur apa yang bisa dilakukan penyerang yang tidak punya hubungan internal dengan organisasi Anda.

Grey-box test memberi penguji sebagian konteks awal, biasanya berupa akun pengguna yang sudah terautentikasi, dokumentasi API, atau informasi arsitektur dasar. Dengan latar belakang ini, waktu pengujian bisa difokuskan pada logika yang lebih dalam: apakah pengguna biasa bisa mengakses data pengguna lain, apakah hak akses bisa ditingkatkan, atau apakah alur bisnis bisa dimanipulasi untuk keuntungan yang tidak semestinya. Grey-box menghasilkan temuan yang lebih dalam per jam pengujian dibandingkan black-box, dan ini yang paling sering digunakan untuk pengujian berkala.

White-box test menyertakan kode sumber, konfigurasi, dan akses penuh ke arsitektur. Penguji bisa menelusuri logika yang sama sekali tidak terlihat dari permukaan luar, termasuk race condition, kelemahan dalam implementasi kriptografi, dan logika bisnis yang bisa disalahgunakan. Ini pilihan yang tepat untuk aplikasi dengan risiko tinggi atau sebelum peluncuran produk baru.

Pilihan metode yang tepat bergantung pada pertanyaan yang ingin dijawab: seberapa jauh penyerang eksternal bisa masuk, atau seberapa dalam kelemahan tersembunyi di dalam aplikasi.

Cara pengujian dijalankan

Semua cakupan mengikuti alur yang sama. Kedalaman tiap fase bergantung pada metode yang dipilih dan cakupan yang disepakati saat scoping.

ScopingReconnaissanceEnumerasiEksploitasiValidasi dampakLaporanRetest

Scoping menetapkan target, metode, aturan main, dan kondisi penghentian. Reconnaissance mengumpulkan informasi tentang permukaan serangan: subdomain aktif, endpoint yang terbuka, versi teknologi, dan komponen pihak ketiga. Enumerasi memetakan detail lebih dalam di setiap target. Eksploitasi adalah fase di mana penguji mencoba memanfaatkan kelemahan yang ditemukan untuk membuktikan dampaknya. Validasi dampak mengukur sejauh mana akses yang bisa diperoleh dan data apa yang bisa dijangkau. Laporan mengubah semua temuan menjadi dokumen yang bisa ditindaklanjuti, dan retest memverifikasi bahwa perbaikan yang dilakukan efektif.

Penguji menjaga jalur komunikasi terbuka selama pengujian berlangsung. Jika ada sesuatu yang terlihat rapuh atau berpotensi mengganggu layanan, pengujian bisa dihentikan sementara sebelum ada dampak yang tidak diinginkan ke sistem produksi.

Permukaan serangan yang diuji

Diagram berikut menggambarkan lapisan-lapisan yang dijangkau dalam pengujian aplikasi web atau mobile. Setiap lapisan membawa vektor serangan yang berbeda, dan pengujian yang komprehensif menyentuh keempatnya.

Lapisan permukaan serangan dalam pentest aplikasi web dan mobilePenyerang eksternalL1: Antarmuka web dan mobileBrowser, aplikasi Android dan iOS, form input, HTTPSL2: Autentikasi dan manajemen sesiLogin, token, cookie, MFA, otorisasi berbasis peranL3a: Logika aplikasiKontrol akses, alur bisnisL3b: API endpointsREST, GraphQL, validasi inputL4: BackendBasis data, penyimpanan file, layanan pihak ketiga
Empat lapisan permukaan serangan dalam pentest aplikasi web dan mobile (Alpha Code Technologies, 2026)

Pengujian yang hanya menyentuh lapisan antarmuka melewatkan sebagian besar kerentanan yang sesungguhnya. Kelemahan autentikasi, logika bisnis yang cacat, dan API yang terpapar berlebihan hampir selalu ditemukan di lapisan yang lebih dalam dan tidak terlihat dari permukaan luar.

Kerentanan yang paling sering ditemukan

Berdasarkan pengujian di berbagai aplikasi, beberapa pola berulang muncul secara konsisten, terlepas dari ukuran atau teknologi yang digunakan.

Broken access control

Pengguna dapat mengakses data atau fungsi yang seharusnya hanya tersedia untuk pengguna lain atau administrator. Ini adalah kategori nomor satu di OWASP Top 10 2021 dan sering terjadi karena kontrol otorisasi hanya diterapkan di antarmuka, bukan di backend.

Kelemahan autentikasi dan sesi

Token yang lemah, sesi yang tidak kedaluwarsa dengan benar, atau alur reset kata sandi yang mudah disalahgunakan. Celah di lapisan ini sering memberi penyerang akses langsung ke akun tanpa perlu menembus enkripsi.

Injeksi dan eksekusi kode tidak terduga

SQL injection, command injection, dan template injection memungkinkan penyerang mengeksekusi perintah di luar yang dimaksudkan aplikasi. Banyak aplikasi yang dibangun di atas framework modern tetap rentan karena query yang dibangun secara dinamis di tempat yang tidak terpantau.

Paparan data berlebihan di API

API yang mengembalikan lebih banyak field daripada yang ditampilkan antarmuka, memungkinkan penyerang memanen data sensitif dengan memanggil endpoint secara langsung. Ini sangat umum pada aplikasi yang dibangun dengan pendekatan API-first.

Komponen pihak ketiga yang sudah kadaluarsa

Library JavaScript, SDK, atau pustaka backend yang tidak diperbarui membawa kerentanan yang terdokumentasi secara publik. Penyerang tahu cara mencarinya, dan banyak tim tidak memperbarui dependensi secara rutin.

Tingkat keparahan setiap temuan bergantung pada konteks aplikasi spesifik. Temuan berlabel critical atau high selalu melibatkan akses ke data yang seharusnya dilindungi, bukan sekadar kemampuan mengganggu layanan.

Isi laporan pengujian

Laporan penetration testing yang baik memberi tim teknis cukup detail untuk memperbaiki setiap temuan, dan memberi manajemen gambaran risiko bisnis yang bisa dipahami tanpa latar belakang keamanan.

Ringkasan eksekutifSkor risiko per temuan (Critical sampai Informational)Bukti eksploitasi (screenshot dan PoC)Langkah reproduksiDampak bisnisRekomendasi remediasi spesifikStatus retest

Laporan diterbitkan dalam bahasa Indonesia dan Inggris. Retest berfokus pada temuan yang sudah diperbaiki dan hasilnya dilampirkan sebagai adendum laporan awal, sehingga auditor atau mitra bisa melihat progres tanpa meminta dokumen terpisah.

Pentest dan kepatuhan regulasi di Indonesia

Pengujian keamanan aplikasi bukan hanya praktik terbaik; dalam sejumlah konteks regulasi di Indonesia, pengujian ini merupakan persyaratan.

Bank umum di bawah SEOJK 29/2022 diwajibkan menjalankan pengujian berbasis skenario minimal setahun sekali, dan hasilnya dilaporkan kepada OJK paling lambat sepuluh hari kerja setelah pengujian selesai. Pengujian ini boleh dijalankan tim internal bank atau pihak ketiga yang kompetensinya diverifikasi bank (SEOJK 29 romawi VII.5), sementara frekuensi pengujian analisis kerentanan ditetapkan bank berdasarkan evaluasinya sendiri. Penyelenggara sistem pembayaran di bawah PBI 2/2024 diwajibkan memelihara dan menguji sistem deteksi keamanan mereka (Pasal 29 ayat (1)). Untuk organisasi yang mengejar sertifikasi ISO 27001, bukti pengujian teknis yang terkini adalah hal yang rutin diminta auditor.

Rincian kewajiban pengujian untuk bank dan hubungannya dengan SEOJK 29/2022 tersedia di panduan persyaratan pentest untuk bank.

Referensi

  1. 1.OJK, SEOJK No. 29/SEOJK.03/2022 tentang Ketahanan dan Keamanan Siber bagi Bank Umum
  2. 2.Bank Indonesia, PBI Nomor 2 Tahun 2024 tentang Keamanan Sistem Informasi dan Ketahanan Siber
  3. 3.OWASP Foundation. OWASP Web Security Testing Guide v4.2. OWASP, 2020.
  4. 4.OWASP Foundation. OWASP Mobile Application Security Testing Guide (MASTG). OWASP Mobile Application Security project.
  5. 5.OWASP Foundation. OWASP API Security Top 10, 2023 Edition. OWASP, 2023.
  6. 6.OWASP Foundation. OWASP Top 10 Application Security Risks, 2021 Edition. OWASP, 2021.

Pertanyaan umum

Pentest website atau penetration testing aplikasi web adalah pengujian keamanan yang mensimulasikan cara penyerang sungguhan mencoba mengeksploitasi celah di aplikasi Anda. Berbeda dengan vulnerability scanner otomatis, pentest dilakukan oleh penguji manusia yang merangkai berbagai celah untuk melihat sejauh mana mereka bisa masuk dan apa yang bisa diakses.

Terkait

Siap memperkuat keamanan siber Anda?

Bicarakan kebutuhan Anda dengan tim kami di Jakarta.

Tim kami di Jakarta. Kami membalas dalam satu hari kerja.

WhatsApp