OWASP Top 10 Overview — Security

Apa itu OWASP? OWASP (Open Web Application Security Project) adalah organisasi non-profit yang menyediakan panduan, tools, dan resources untuk keamanan aplikasi

Apa itu OWASP?

OWASP (Open Web Application Security Project) adalah organisasi non-profit yang menyediakan panduan, tools, dan resources untuk keamanan aplikasi web. Salah satu kontribusi terpentingnya adalah OWASP Top 10 — daftar 10 risiko keamanan web paling kritis.

OWASP Top 10 (2021)

Contoh Broken Access Control

// Contoh vulnerability: IDOR (Insecure Direct Object Reference)
// User A bisa akses data User B hanya dengan mengubah ID di URL
GET /api/users/123/profile  // User A melihat profil sendiri
GET /api/users/456/profile  // User A melihat profil User B!

// Fix: selalu validasi ownership
app.get("/api/users/:id/profile", (req, res) => {
  if (req.params.id !== req.user.id) {
    return res.status(403).json({ error: "Forbidden" });
  }
  // ... lanjutkan proses
});

Contoh Security Misconfiguration

// Jangan biarkan konfigurasi default di production
// Contoh: debug mode aktif
APP_DEBUG=true   // BAHAYA di production!
APP_DEBUG=false  // Benar untuk production

// Contoh: default credentials
DB_USERNAME=root
DB_PASSWORD=      // Password kosong!
OWASP Top 10 (2021) attack surface Access & Auth A01 Broken Access Control A07 Auth Failures A10 SSRF Input Handling A03 Injection (SQL, XSS, Command, SSTI) A08 Data Integrity Failures (deserialization) Crypto & Data A02 Cryptographic Failures (weak hash, no HTTPS, leaked secrets) Design & Config A04 Insecure Design (new 2021) A05 Security Misconfiguration A06 Vulnerable Components Visibility A09 Logging & Monitoring Failures
Attack surface OWASP Top 10 (2021) dikelompokkan: akses/auth, input, kripto, desain/config, dan visibility.

Update 2024: Draft OWASP Top 10 2025

OWASP Top 10 di-refresh setiap 3-4 tahun. Sorotan utama dari edisi 2021 → 2025 draft (per 2024):

Mapping ke Pelajaran di Kategori Ini

Menggunakan OWASP sebagai Panduan

OWASP Top 10 bukan checklist lengkap, melainkan titik awal. Gunakan sebagai panduan untuk memprioritaskan area keamanan yang harus diperhatikan dalam setiap project. Di pelajaran-pelajaran selanjutnya, kita akan membahas setiap kategori secara mendalam.

Yang akan kamu pelajari