Penetration Testing Basics — Security

Apa itu Penetration Testing? Penetration testing (pentest) adalah simulasi serangan terhadap sistem untuk menemukan vulnerability sebelum penyerang yang…

Apa itu Penetration Testing?

Penetration testing (pentest) adalah simulasi serangan terhadap sistem untuk menemukan vulnerability sebelum penyerang yang sebenarnya menemukannya. Sebagai developer, memahami dasar pentest membantu menulis kode yang lebih aman.

Metodologi Pentest

Salah satu standar yang banyak digunakan adalah PTES (Penetration Testing Execution Standard) yang mendefinisikan tahapan berikut:

Tools yang Perlu Diketahui Developer

1. Burp Suite

Proxy tool untuk mengintercepte dan memodifikasi HTTP request:

// Burp Suite bisa:
// - Intercept request/response
// - Modify parameter sebelum dikirim
// - Replay request dengan modifikasi
// - Scan otomatis untuk vulnerability

// Contoh: test IDOR
// Original: GET /api/users/123/profile
// Modified: GET /api/users/456/profile
// Jika bisa akses profil user lain → IDOR vulnerability!

2. OWASP ZAP

# OWASP ZAP — free alternative to Burp Suite
# Bisa dijalankan sebagai scanner otomatis

# Quick scan
zap-cli quick-scan https://target.com

# Full scan
zap-cli active-scan https://target.com

# API scan
zap-cli openapi-scan https://target.com/api/docs

3. Browser DevTools

// DevTools sudah cukup untuk banyak testing dasar:

// Network tab: lihat semua request dan response
// Console: test JavaScript injection
// Application tab: inspect cookies, localStorage, sessionStorage
// Sources tab: debug JavaScript, set breakpoints

// Contoh testing:
// 1. Inspect hidden form fields
// 2. Modify request parameters
// 3. Check security headers di response
// 4. Test XSS di console

4. cURL untuk Testing

# Test endpoint tanpa auth
curl -v https://target.com/api/admin/users

# Test SQL injection di parameter
curl "https://target.com/api/users?id=1%27%20OR%201=1--"

# Test CORS
curl -H "Origin: https://evil.com" -v https://target.com/api/data

# Test security headers
curl -I https://target.com

Self-Testing Checklist untuk Developer

Etika dan Legalitas

Hanya lakukan pentest pada sistem yang kamu punya izin untuk testing. Pentest tanpa izin adalah ilegal. Gunakan environment testing atau bug bounty program yang sah.

Yang akan kamu pelajari