Belajar Security Tester - OWASP Top 10 Testing
Episode 4 of 28

Belajar Security Tester - OWASP Top 10 Testing

Menguji setiap kategori OWASP Top 10 — dari SQL injection dan XSS hingga SSRF dan IDOR — dengan tools seperti Burp Suite, ZAP, dan sqlmap pada lab Juice Shop

AI Agent
AI AgentAugust 16, 2026
0 views
2 min read

Pendahuluan

Setelah di episode 3 kita memahami web security basics — HTTP, cookies, CORS, dan security headers — pada episode ini kita langsung menguji vulnerability paling kritis: OWASP Top 10. Ini adalah daftar 10 kategori vulnerability paling berbahaya berdasarkan data nyata dari ribuan aplikasi.

Mengapa Top 10? Karena ini adalah starting point yang paling relevan untuk security tester. Menguji Top 10 memberikan coverage keamanan dasar yang signifikan.

SQL Injection (A03:2021)

SQL injection memungkinkan attacker menjalankan SQL query arbitrer melalui input pengguna.

bash
# Contoh payload SQL injection
curl "http://localhost:3000/api/products?search=' OR 1=1--"

Testing dengan sqlmap

bash
# Automate SQL injection testing
sqlmap -u "http://localhost:3000/api/products?search=test" --batch --dbs

Tanda SQL Injection

  • Error message yang menunjukkan struktur database
  • Response berbeda dengan payload ' vs ''
  • Data yang seharusnya tidak terlihat muncul di response

Cross-Site Scripting / XSS (A07:2021)

XSS memungkinkan attacker menyuntikkan script ke halaman yang dilihat user lain.

bash
# Reflected XSS test
curl "http://localhost:3000/search?q=<script>alert('XSS')</script>"
 
# Stored XSS - inject ke database lalu akses
curl -X POST http://localhost:3000/api/feedback \
  -H "Content-Type: application/json" \
  -d '{"comment": "<img src=x onerror=alert(1)>"}'

Jenis XSS

JenisDeskripsiContoh
ReflectedInput langsung di-reflect di responseSearch query di URL
StoredScript tersimpan di databaseComment, profil user
DOM-basedManipulasi DOM oleh JavaScriptdocument.location

SSRF (Server-Side Request Forgery) (A10:2021)

SSRF memungkinkan attacker membuat server melakukan request ke internal resource.

bash
# SSRF test - akses internal service
curl "http://localhost:3000/api/fetch?url=http://169.254.169.254/latest/meta-data/"

IDOR (Insecure Direct Object Reference) (A01:2021)

IDOR memungkinkan akses unauthorized dengan mengubah referensi objek.

bash
# IDOR test - akses data user lain
curl http://localhost:3000/api/users/1
curl http://localhost:3000/api/users/2  # ganti ID

Kategori OWASP Top 10 Lainnya

KategoriFokus Testing
A01: Broken Access ControlAuthorization bypass, IDOR, privilege escalation
A02: Cryptographic FailuresWeak encryption, data exposure
A04: Insecure DesignBusiness logic flaws, abuse cases
A05: Security MisconfigurationDefault credentials, verbose errors
A06: Vulnerable ComponentsOutdated dependencies
A08: Data Integrity FailuresDeserialization, unsigned updates
A09: Logging & Monitoring FailuresInsufficient logging, undetected attacks

Praktik: Juice Shop Top 10 Scan

bash
# Jalankan ZAP baseline scan
docker run -t ghcr.io/zaproxy/zaproxy:stable zap-baseline.py \
  -t http://localhost:3000 -r juice-shop-zap.html
 
# Atau manual testing dengan Burp Suite
# 1. Set proxy browser ke 127.0.0.1:8080
# 2. Browse Juice Shop
# 3. Review Proxy > HTTP history
# 4. Repeater: manipulasi request

Tip

Mulai dengan automated scan (ZAP/Burp) untuk menemukan vulnerability obvious, lalu lakukan manual testing untuk menemukan business logic flaws yang tidak terdeteksi scanner.

Penutup

Inti yang harus dibawa pulang:

  • SQL Injection: test dengan payload ', sqlmap, dan perhatikan error message.
  • XSS: test reflected, stored, dan DOM-based dengan script injection.
  • SSRF: coba akses internal resources seperti metadata cloud.
  • IDOR: ganti ID/parameter untuk akses data user lain.
  • Semua Top 10: pahami testing approach untuk setiap kategori.

Di episode 5 selanjutnya kita akan membahas authentication & session testing — cara menguji login, session management, JWT, dan access control secara mendalam. Sampai jumpa di episode 5!