Keamanan aplikasi web menjadi salah satu aspek penting dalam pengembangan perangkat lunak modern. Salah satu kerentanan yang masih sering ditemukan adalah Insecure Direct Object Reference (IDOR) atau Broken Object-Level Authorization, yaitu kondisi ketika pengguna dapat mengakses data milik pengguna lain hanya dengan memanipulasi identifier seperti ID, UUID, atau parameter URL.
Menjawab kebutuhan tersebut, GoodIDOR Scanner hadir sebagai tool open source berbasis Flask yang dirancang untuk membantu proses pembelajaran sekaligus melakukan audit awal terhadap potensi kerentanan IDOR. Tool ini dikembangkan agar mudah digunakan oleh pemula maupun praktisi keamanan siber, tanpa mengabaikan aspek keamanan, akurasi hasil, serta kesesuaian dengan standar OWASP.
Mengenal GoodIDOR Scanner
GoodIDOR Scanner merupakan aplikasi berbasis web yang membantu mengidentifikasi endpoint yang berpotensi mengalami kerentanan IDOR melalui proses crawling, analisis identifier, serta validasi akses terhadap resource aplikasi. Scanner ini dirancang untuk digunakan pada aplikasi milik sendiri, laboratorium keamanan, maupun target yang telah memberikan izin resmi untuk dilakukan pengujian.
Dalam proses pengujian, GoodIDOR tidak hanya mencari endpoint yang mengandung identifier, tetapi juga melakukan mutasi ID secara aman, membandingkan hasil antar akun apabila tersedia, kemudian menyajikan tingkat keparahan, confidence score, serta rekomendasi perbaikan berdasarkan standar OWASP.
Fitur Utama GoodIDOR Scanner
GoodIDOR Scanner dilengkapi dengan berbagai fitur yang dirancang untuk membantu proses identifikasi kerentanan IDOR secara lebih efektif.
1. Internal Web Crawler
Scanner memiliki crawler internal yang mampu menjelajahi halaman website secara otomatis untuk menemukan endpoint yang berpotensi mengandung object identifier. Selain mengambil tautan dari elemen HTML, crawler juga mampu membaca URL yang tersimpan pada atribut seperti href, src, action, data-url, JavaScript string, hingga file /sitemap.xml.
2. Dukungan Berbagai Metode Autentikasi
GoodIDOR mendukung beberapa metode autentikasi agar proses pengujian dapat disesuaikan dengan kebutuhan aplikasi, antara lain:
- Username dan password
- Session cookie
- Bearer Token
- Custom HTTP Header
Selain itu, scanner mendukung penggunaan Akun A dan Akun B sebagai pembanding untuk meningkatkan akurasi validasi kontrol akses.
3. Deteksi Identifier Otomatis
Scanner mampu mendeteksi berbagai bentuk object identifier yang umum digunakan pada aplikasi web, seperti:
- Query parameter (
?id=100) - Numeric path (
/users/10) - UUID
- Identifier dari wordlist kustom
Pendekatan ini membantu menemukan lebih banyak kandidat endpoint yang layak diuji.
4. Wordlist Kustom
GoodIDOR menyediakan dukungan wordlist sehingga pengguna dapat menentukan sendiri pola endpoint, nama parameter, maupun daftar identifier yang ingin diuji.
Wordlist terdiri atas tiga file utama, yaitu:
- paths.txt untuk pola endpoint;
- parameters.txt untuk nama parameter identifier;
- ids.txt untuk daftar nilai identifier.
Dengan fitur ini, proses pengujian menjadi lebih fleksibel sesuai karakteristik aplikasi yang diuji.
5. Safe Scanning
Salah satu keunggulan GoodIDOR adalah mekanisme Safe Scan. Scanner hanya menggunakan metode GET selama proses crawling dan pengujian sehingga risiko perubahan data pada aplikasi dapat diminimalkan.
Selain itu, GoodIDOR secara otomatis mengabaikan endpoint yang menggunakan metode POST, PUT, PATCH, maupun DELETE, serta melewati URL yang mengandung kata-kata seperti delete, destroy, remove, hapus, logout, dan signout.
6. Confidence Score
Setiap temuan diberikan tingkat keyakinan (Confidence Score) untuk membantu pengguna menentukan prioritas investigasi.
Kategori yang digunakan meliputi:
- High, apabila seluruh indikator menunjukkan kemungkinan besar terjadi IDOR.
- Medium, apabila ditemukan indikasi kuat namun masih memerlukan validasi tambahan.
- Low, apabila indikasi masih lemah.
- Info, apabila kontrol akses terlihat bekerja sebagaimana mestinya.
7. Mapping OWASP
Seluruh hasil pengujian dipetakan ke berbagai standar keamanan internasional, antara lain:
- OWASP Top 10 2021 – A01: Broken Access Control
- OWASP Web Security Testing Guide (WSTG-ATHZ)
- OWASP Application Security Verification Standard (ASVS)
Pemetaan ini memudahkan pengguna memahami konteks setiap temuan sesuai praktik keamanan yang direkomendasikan.
8. Laporan Otomatis
Setelah proses scanning selesai, GoodIDOR secara otomatis menghasilkan laporan dalam format HTML dan JSON.
Laporan tersebut mencakup berbagai informasi penting, seperti:
- target URL;
- daftar endpoint yang ditemukan;
- halaman yang berhasil dicrawl;
- endpoint yang dilewati;
- daftar temuan;
- severity;
- confidence score;
- mapping OWASP;
- dampak (impact);
- rekomendasi mitigasi; serta
- catatan validasi.
Cara Kerja GoodIDOR Scanner
Secara umum, proses pengujian pada GoodIDOR Scanner terdiri atas beberapa tahapan, yaitu:
- Pengguna memasukkan URL target.
- Scanner melakukan autentikasi apabila diperlukan.
- Crawler menjelajahi halaman aplikasi.
- Endpoint dan object identifier dikumpulkan.
- Scanner melakukan mutasi identifier secara aman.
- Respons server dianalisis.
- Hasil dibandingkan dengan akun pembanding (opsional).
- Sistem menghitung confidence score.
- Temuan dipetakan ke standar OWASP.
- Laporan HTML dan JSON dibuat secara otomatis.
Batasan Penggunaan
Sebagai tool otomatis, GoodIDOR Scanner memiliki beberapa keterbatasan. Scanner tidak menjalankan JavaScript layaknya browser modern sehingga endpoint yang hanya muncul setelah interaksi frontend tertentu mungkin tidak dapat ditemukan. Selain itu, endpoint API yang dibuat secara dinamis melalui mekanisme XHR atau Fetch juga tidak selalu dapat dideteksi. Oleh karena itu, hasil pemindaian tetap memerlukan proses validasi manual sebelum digunakan sebagai dasar pelaporan resmi.
Gunakan Secara Bertanggung Jawab
GoodIDOR Scanner dikembangkan sebagai sarana pembelajaran dan audit keamanan yang bertanggung jawab. Pengguna disarankan hanya melakukan pengujian pada aplikasi milik sendiri, laboratorium keamanan, atau sistem yang telah memberikan izin resmi. Penggunaan terhadap sistem tanpa izin dapat melanggar ketentuan hukum maupun etika keamanan siber.
Link Source
https://github.com/dhedijs/GoodIDOR
Kesimpulan
GoodIDOR Scanner menawarkan pendekatan yang praktis untuk membantu proses identifikasi awal kerentanan Insecure Direct Object Reference (IDOR) pada aplikasi web. Dengan dukungan crawler internal, autentikasi multi-metode, wordlist kustom, validasi lintas akun, confidence score, pemetaan OWASP, serta laporan otomatis, tool ini dapat menjadi solusi yang bermanfaat bagi pengembang, peneliti keamanan, maupun mahasiswa yang ingin mempelajari implementasi Broken Access Control secara lebih sistematis. Selain mempermudah proses audit awal, GoodIDOR juga mendorong penerapan praktik pengujian yang aman dan bertanggung jawab sesuai standar keamanan
aplikasi web modern.