Kembali ke Blog
Security

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.

A
Alif Afriza Penulis
· · 3 menit baca
Panduan Lengkap Pentesting Webserver: Tools, Teknik, dan Checklist

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

AreaToolsYang Diuji
Port ScanningNmap, MasscanPort terbuka, service running
Web ScanningNikto, OWASP ZAPVulnerability umum
SSL TestingSSL Labs, testssl.shSertifikat SSL/TLS
Header AnalysisSecurityHeaders.comSecurity headers
Credential TestingHydra, MedusaBrute force login
CMS ScanningWPScan, JoomlaScanPlugin/theme vulnerable
API TestingPostman, Burp SuiteAPI endpoint vulnerabilities
File UploadManual testingUnrestricted 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.

Open for Contributors

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.

Diskusi & Komentar