Back to Blog
February 2024Cyber Security

OWASP Top 10 dari Perspektif Mahasiswa — Mana yang Benar-Benar Penting

Bukan ringkasan OWASP lagi. Ini catatan tentang mana yang paling sering muncul di CTF dan real-world bug bounty — dan mana yang sering diabaikan.

OWASP Top 10 dari Perspektif Mahasiswa — Mana yang Benar-Benar Penting

Kenapa Bukan Sekadar Ringkasan

Setelah beberapa bulan belajar web security dari CTF dan lab PortSwigger, ini adalah catatan tentang mana yang harus diprioritaskan jika kamu baru mulai.

A01: Broken Access Control

Paling sering muncul di CTF web dan paling underestimated di dunia nyata.

GET /admin/users/delete?id=123

Kalau backend cek "sudah login?" tapi tidak cek "boleh hapus user lain?", itu Broken Access Control. Di CTF: ganti id=123 jadi id=1 → dapat data admin (IDOR).

A03: Injection

SQL Injection masih hidup. Kenapa? Kode seperti ini masih ada:

python
# SALAH — jangan lakukan ini
query = "SELECT * FROM users WHERE name = '" + username + "'"

# BENAR — parameterized query
cursor.execute("SELECT * FROM users WHERE name = %s", (username,))

Input ' OR '1'='1 di versi pertama mengubah logika query sepenuhnya.

A07: Auth Failures — JWT Edition

Yang paling sering di CTF web: JWT dengan algoritma none atau secret key lemah.

bash
# Decode header JWT
echo "eyJhbGciOiJub25lIn0" | base64 -d
# {"alg":"none"}

Kalau server menerima token dengan "alg": "none", siapapun bisa forge token admin.

Yang Sering Diabaikan: A05 Security Misconfiguration

Tidak ada payload keren, tapi efeknya besar:

  • Directory listing aktif → enumerate files sensitif
  • Default credentials (admin:admin)
  • Stack trace verbose bocor ke user → info untuk attacker

Cara Belajar yang Efektif

1. **PortSwigger Web Security Academy** — gratis, lab interaktif, terstruktur

2. **PicoCTF** — entry-level, cocok untuk mulai

3. **HackTheBox** — setelah basic sudah solid

4. **OWASP WebGoat** — practice lokal, sengaja vulnerable

Ratio ideal: **30% teori, 70% hands-on**. Jangan baca teori tanpa langsung praktik.


*Next: XSS dari basic reflected sampai DOM-based — dan kenapa Content Security Policy tidak selalu cukup.*

J

Justin Sepvian

Informatics Engineering Student at ITB

Writing about cyber security, web development, and the experience of learning technology from the ground up.