Belajar Security Tester - Web Security Testing Basics
Episode 3 of 28

Belajar Security Tester - Web Security Testing Basics

Memahami fondasi web security: HTTP, cookies, CORS, security headers, dan cara praktis me-review header aplikasi kalian menggunakan Burp Suite

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

Pendahuluan

Setelah di episode 2 kita memahami strategi security testing, pada episode ini kita mulai dari fondasi paling dasar: web. Hampir semua security testing berfokus pada aplikasi web dan API, jadi pemahaman kuat tentang HTTP, cookies, CORS, dan security headers adalah prasyarat mutlak.

Mengapa ini penting? Karena security tester yang tidak memahami HTTP hanya akan melihat request/response tanpa mengerti potensi attack vector di dalamnya.

HTTP Fundamentals

Request/Response Cycle

Setiap interaksi browser-server melibatkan HTTP request dan response. Security tester harus memahami:

text
Client Request                    Server Response
─────────────                    ───────────────
GET /api/users HTTP/1.1          HTTP/1.1 200 OK
Host: example.com                Content-Type: application/json
Cookie: session=abc123           Set-Cookie: session=xyz789
Authorization: Bearer token      {"users": [...]}

HTTP Methods & Security Implications

MethodFungsiSecurity Concern
GETAmbil dataTidak seharusnya mengubah state
POSTBuat dataPastikan input divalidasi
PUTUpdate dataPastikan authorization benar
DELETEHapus dataJangan expose ID yang bisa di-guess
OPTIONSCORS preflightPastikan CORS policy ketat

Status Codes yang Perlu Diperhatikan

text
200 OK                  - Request berhasil
301/302 Redirect        - Pastikan redirect aman (open redirect?)
400 Bad Request         - Input invalid
401 Unauthorized        - Tidak terotentikasi
403 Forbidden           - Tidak terotorisasi
404 Not Found           - Jangan expose path yang ada
500 Internal Error      - Jangan expose error detail ke client

Cookies & Security

text
Set-Cookie: session=abc123; Path=/; HttpOnly; Secure; SameSite=Strict
AttributeFungsiSecurity Impact
HttpOnlyTidak bisa diakses via JavaScriptMencegah XSS mencuri cookie
SecureHanya dikirim via HTTPSMencegah interception
SameSiteBatasi cross-site requestMencegah CSRF
PathScope cookie ke path tertentuLimitasi exposure

Session Management

bash
# Cek cookies yang dikirim
curl -v http://localhost:3000 2>&1 | grep -i "set-cookie"

Pastikan session cookie memiliki atribut HttpOnly, Secure, dan SameSite. Tanpa ini, session bisa dicuri melalui XSS atau CSRF.

CORS (Cross-Origin Resource Sharing)

CORS menentukan origin mana yang boleh mengakses resource. Misconfiguration CORS adalah vulnerability umum:

text
# Berbahaya: mengizinkan semua origin
Access-Control-Allow-Origin: *
Access-Control-Allow-Credentials: true
 
# Aman: hanya izinkan origin tertentu
Access-Control-Allow-Origin: https://example.com
Access-Control-Allow-Credentials: true

Warning

Access-Control-Allow-Origin: * dengan Access-Control-Allow-Credentials: true adalah kombinasi berbahaya — setiap website bisa mencuri data dari aplikasi kalian.

Security Headers

Headers Penting yang Harus Ada

text
Content-Security-Policy: default-src 'self'; script-src 'self'
X-Content-Type-Options: nosniff
X-Frame-Options: DENY
Strict-Transport-Security: max-age=31536000; includeSubDomains
Referrer-Policy: strict-origin-when-cross-origin
Permissions-Policy: camera=(), microphone=(), geolocation=()

Review Header dengan curl

bash
# Review semua headers
curl -I http://localhost:3000
 
# Cek security headers spesifik
curl -sI http://localhost:3000 | grep -iE "(content-security|x-content-type|x-frame|strict-transport|referrer-policy)"

Praktik: Review Header Juice Shop

Jalankan review header pada aplikasi Juice Shop:

bash
# Lihat semua headers
curl -I http://localhost:3000
 
# Fokus pada security headers
curl -sI http://localhost:3000 | grep -iE "(security|x-frame|x-content|strict-transport|referrer)"

Perhatikan header mana yang ada dan mana yang missing — ini adalah findings pertama kalian sebagai security tester.

Penutup

Inti yang harus dibawa pulang:

  • HTTP: memahami methods, status codes, dan security implications di setiap level.
  • Cookies: pastikan HttpOnly, Secure, dan SameSite terkonfigurasi dengan benar.
  • CORS: jangan izinkan wildcard origin dengan credentials; gunakan whitelist.
  • Security headers: CSP, X-Frame-Options, HSTS, X-Content-Type-Options adalah minimum.

Di episode 4 selanjutnya kita akan membahas OWASP Top 10 testing — cara menguji setiap kategori vulnerability dari Top 10, termasuk SQL injection, XSS, SSRF, dan IDOR. Sampai jumpa di episode 4!