Lewati ke isi

Keamanan/Cyber Security

OWASP Top 10 Dijelaskan untuk Pemilik Website

Sepuluh risiko keamanan aplikasi web versi OWASP 2025 dijelaskan tanpa istilah rumit, lengkap dengan contoh dan pertanyaan untuk developer-mu.

Terbit 5 menit baca

Jawaban singkat

OWASP Top 10 adalah daftar sepuluh kategori risiko keamanan aplikasi web yang paling penting menurut OWASP. Versi 2025 dipimpin oleh kontrol akses yang rusak, salah konfigurasi, dan kegagalan rantai pasok perangkat lunak. Pemilik website bisa memakainya sebagai daftar pertanyaan untuk developer.

Daftar isi
  1. Apa saja isi OWASP Top 10:2025?
  2. Penjelasan tiap risiko dengan contoh
  3. Bagaimana memakai daftar ini tanpa jadi developer?
  4. Apakah WAF bisa menutup semua risiko ini?
  5. Pertanyaan yang sering diajukan

OWASP Top 10 adalah daftar sepuluh kategori risiko keamanan aplikasi web yang dianggap paling penting oleh OWASP (Open Worldwide Application Security Project), komunitas nirlaba di bidang keamanan aplikasi. Daftar ini diperbarui berkala berdasarkan data temuan dan survei praktisi. Per 6 November 2026, versi terbarunya adalah OWASP Top 10:2025.

Kenapa pemilik website perlu tahu? Karena kamu tidak harus bisa menulis kode untuk bertanya hal yang benar. Daftar ini memberi bahasa yang sama antara kamu, developer, dan penguji keamanan, sehingga pertanyaan "website kita aman tidak?" bisa diganti dengan pertanyaan yang lebih tajam.

Apa saja isi OWASP Top 10:2025?

KodeKategoriArti sederhananya
A01Broken Access ControlPengguna bisa melihat atau mengubah data yang bukan haknya
A02Security MisconfigurationPengaturan server atau aplikasi yang longgar atau masih bawaan
A03Software Supply Chain FailuresCelah datang dari pustaka, plugin, atau alat pihak ketiga
A04Cryptographic FailuresData sensitif tidak dienkripsi dengan benar
A05InjectionInput pengguna dijalankan sebagai perintah, misalnya SQL injection
A06Insecure DesignCelah sudah ada sejak rancangan, bukan sekadar salah kode
A07Authentication FailuresLogin mudah dibobol atau sesi mudah dibajak
A08Software or Data Integrity FailuresPembaruan atau data diterima tanpa dicek keasliannya
A09Security Logging and Alerting FailuresSerangan terjadi tanpa tercatat atau tanpa peringatan
A10Mishandling of Exceptional ConditionsAplikasi salah menangani error dan kondisi tak terduga

Dua kategori terasa baru dibanding versi 2021. A03 memperluas kategori komponen usang menjadi seluruh rantai pasok perangkat lunak, dan A10 menyorot penanganan error. Urutan lain juga bergeser, misalnya salah konfigurasi naik ke posisi kedua.

Penjelasan tiap risiko dengan contoh

A01, kontrol akses rusak. Contoh klasik: pelanggan membuka /pesanan/1052, lalu mengganti angkanya menjadi 1053 dan bisa melihat pesanan orang lain. Aplikasi harus memeriksa hak akses di sisi server untuk setiap permintaan, bukan hanya menyembunyikan tombol.

A02, salah konfigurasi. Halaman error yang menampilkan detail server, folder backup yang bisa diunduh, panel admin yang terbuka ke publik, atau akun bawaan yang belum diganti. Masalah ini sering muncul bukan karena kode, tetapi karena pengaturan yang terlupakan.

A03, rantai pasok perangkat lunak. Website modern dibangun dari banyak komponen: plugin, tema, pustaka JavaScript, paket dari npm atau Composer. Satu komponen yang usang atau disusupi bisa membuka seluruh website. Pada WordPress, ini berarti plugin dan tema yang jarang di-update.

A04, kegagalan kriptografi. Kata sandi disimpan tanpa hashing yang kuat, data kartu atau KTP disimpan tanpa enkripsi, atau halaman login tanpa HTTPS.

A05, injeksi. Input dari formulir langsung dimasukkan ke query database atau perintah sistem. Termasuk di sini SQL injection dan cross-site scripting (XSS). Penjelasan lengkapnya ada di apa itu SQL injection dan cara menutup celahnya.

A06, desain tidak aman. Misalnya fitur reset kata sandi yang hanya bertanya "nama ibu kandung", atau kupon diskon yang bisa dipakai berulang tanpa batas. Kode yang rapi tidak menyelamatkan rancangan yang keliru.

A07, kegagalan autentikasi. Tidak ada batas percobaan login, kata sandi lemah diizinkan, tidak ada opsi verifikasi dua langkah, atau sesi tidak kedaluwarsa setelah logout.

A08, integritas perangkat lunak dan data. Aplikasi mengunduh pembaruan atau memuat skrip dari sumber luar tanpa memeriksa keasliannya, sehingga penyerang yang menguasai sumber itu bisa menyisipkan kode.

A09, pencatatan dan peringatan. Login gagal ratusan kali dan tidak ada yang tahu. Tanpa log dan peringatan, pembobolan bisa berlangsung lama sebelum disadari.

A10, penanganan kondisi luar biasa. Aplikasi yang, saat error, malah membuka akses, membocorkan informasi, atau meninggalkan transaksi setengah jadi. Prinsipnya: saat gagal, aplikasi harus gagal dengan aman.

Bagaimana memakai daftar ini tanpa jadi developer?

Jadikan OWASP Top 10 sebagai daftar pertanyaan. Beberapa contoh yang bisa kamu ajukan ke developer atau vendor website:

  • Bagaimana aplikasi memastikan pengguna hanya bisa mengakses datanya sendiri?
  • Kapan terakhir semua plugin, tema, dan pustaka diperbarui, dan siapa yang memantaunya?
  • Apakah kata sandi pengguna disimpan dengan hashing modern seperti bcrypt atau Argon2?
  • Apakah ada batas percobaan login dan opsi 2FA untuk admin?
  • Apakah percobaan login gagal dan perubahan data penting tercatat di log?
  • Apakah pernah dilakukan pengujian keamanan, dan apa hasilnya?

Jawaban yang mengambang adalah sinyal untuk menggali lebih dalam. Kamu juga bisa meminta pertanyaan-pertanyaan ini dimasukkan ke kontrak pengembangan, sehingga vendor sejak awal tahu standar keamanan yang kamu harapkan dan bagaimana hasilnya akan diuji sebelum serah terima. Untuk pemilik WordPress, langkah dasarnya dirangkum di keamanan WordPress dasar.

Apakah WAF bisa menutup semua risiko ini?

Tidak semuanya. Web Application Firewall bagus untuk menahan pola serangan yang dikenal, terutama injeksi dan pemindaian otomatis. Aturan seperti OWASP Core Rule Set dirancang untuk itu, dan cara memasangnya ada di ModSecurity dengan OWASP CRS.

Tetapi WAF tidak tahu logika bisnismu. Ia tidak bisa membedakan apakah pengguna A berhak membuka pesanan nomor 1053 (A01) atau apakah alur kupon dirancang dengan benar (A06). Risiko seperti itu harus diperbaiki di aplikasi. Untuk mulai menguji sendiri, alat gratis seperti OWASP ZAP bisa dipakai, dengan catatan hanya pada website milikmu.

Pertanyaan yang sering diajukan

Seberapa sering OWASP Top 10 diperbarui?

Tidak ada jadwal tetap. Sebelum versi 2025, versi besar terakhir adalah 2021 dan sebelumnya 2017. Selalu cek halaman resmi OWASP untuk versi yang berlaku.

Apakah website kecil yang hanya profil perusahaan juga terkena risiko ini?

Ya, walau tidak semua kategori relevan. Website profil biasanya paling rentan di salah konfigurasi dan komponen usang, misalnya plugin yang tidak pernah diperbarui.

Apakah OWASP Top 10 sama dengan standar kepatuhan?

Bukan. Daftar ini sering dijadikan acuan dalam audit dan kontrak pengembangan, tetapi ia adalah dokumen kesadaran, bukan sertifikasi.

Sumber & referensi

Baca juga