Content Discovery + 403 Check Dasar
Panduan ini membahas teknik pasif (robots.txt, sitemap.xml, Wayback/GAU, analisis JavaScript, dorking) serta teknik aktif terukur (ffuf, dirsearch, gobuster, feroxbuster) dengan konfigurasi wordlist, concurrency, dan rate-limit yang aman. Kamu akan memahami kode status 403, perbedaan WAF vs mis-konfigurasi, serta metode validasi dan triase yang bertanggung jawab.
Disertakan contoh perintah, pola wordlist, tips fingerprinting stack, header penting, serta praktik logging yang menjaga bukti. Konten cocok bagi pemula maupun praktisi, dengan fokus mitigasi, hardening, dan laporan temuan yang jelas.
Gunakan hanya pada aset berotorisasi, taati hukum, dan simpan bukti audit. Jadikan artikel ini rujukan kerja lapangan, checklist, dan baseline program bug bounty atau internal pentest tim keamanan. Bahasan mencakup skenario umum, tanda bahaya, false positive, langkah reproduksi, dan template laporan, sehingga proses hunting, verifikasi, dan komunikasi temuan berjalan rapi, cepat, terukur, efektif.
1) Ruang lingkup & etika singkat
Content discovery bertujuan memetakan permukaan serang: folder/area publik, file indeks, endpoint lama yang tertinggal, staging, hingga backup keliru. Aktivitas ini hanya untuk aset berizin (miliki sendiri/ada mandat tertulis). Catat semua tindakan (waktu, IP, perintah, hasil) untuk akuntabilitas dan memudahkan perbaikan.
2) Alur kerja ringkas (yang aman & efektif)
- Scoping: domain, subdomain, jalur kritikal, jam kerja aman.
- Pasif dulu: kumpulkan URL resmi/arsip tanpa menyentuh server agresif.
- Aktif terukur: brute-force terarah dengan rate-limit.
- 403 check: pahami penyebab, validasi aman, dokumentasikan.
- Triase & rekomendasi: nilai dampak, beri saran hardening.
3) Teknik pasif (minim risiko)
a) robots.txt, sitemap.xml, security.txt
Cari petunjuk direktori, jalur admin, atau lokasi API. Simpan sebagai awal wordlist.
b) Arsip & indeks URL
Manfaatkan arsip/web indexers untuk URL historis: Wayback, GAU/
waybackurls, serta
crawler modern (misal
katana/
hakrawler) pada halaman publik perusahaan untuk menemukan tautan relatif, file JS, dan pola path.
Ekstrak endpoint dari file .js
(pola /api/…
, /admin/…
, .json
, .bak
). Identifikasi baseURL, versi API, dan parameter umum. Hindari mengeksekusi kode—cukup static analysis.
d) Dorking etis
Gunakan operator pencarian untuk menemukan artefak non-sensitif: release notes, changelog, atau direktori docs yang mengarah ke jalur aplikasi. Hindari PII/akses ilegal.
4) Teknik aktif terukur (brute-force direktori/endpoint)
Prinsip: lambat, dan relevan terhadap tech stack. Uji di staging bila tersedia.
Wordlist cerdas: gabungkan kata kunci brand, produk, nama tim, framework umum (static
, uploads
, build
, api/v1
, backup
, old
, beta
, staging
), ekstensi kandidat (.zip
, .tar.gz
, .bak
, .old
, .json
, .txt
).
Contoh perintah (pakai target dummy https://example.com
)
Ffuf (fleksibel & cepat):
ffuf -u https://example.com/FUZZ -w wordlist.txt \
-mc 200,204,301,302,307,308,401,403 \
-t 50 -timeout 10 -ac -rate 200
-mc
tangkap status penting (termasuk 403).-ac
auto-calibration untuk mengurangi noise.-rate
batasi RPS agar tidak agresif.
dirsearch -u https://example.com -w wordlist.txt -e php,js,json,txt \
--timeout=10 --rate-limit=200 --random-agent --exclude-status=429 \
-R 1
gobuster dir -u https://example.com -w wordlist.txt -t 50 -k -r \
-b 404,429 -s 200,204,301,302,307,308,401,403
Feroxbuster (rekursif granular):
feroxbuster -u https://example.com -w wordlist.txt -t 40 -k \
-x js,json,txt,zip -s 200,204,3xx,401,403 --auto-bail
Tips kualitas hasil
- Simpan fingerprint respons (ukuran body, title, hash konten) untuk membedakan soft 404.
- Pantau
Retry-After
, X-RateLimit-*
, tanda WAF, dan variasi respons antar User-Agent.
5) Memahami 403: diagnosis cepat
403 Forbidden ≠ selalu WAF. Bisa karena:
- Bandingkan content-length, headers, dan body signature antar permintaan.
- Coba metode aman (HEAD/OPTIONS) untuk melihat perbedaan perilaku.
- Ubah User-Agent dan jeda antar permintaan; cek apakah 403 berubah jadi 200/302/429 (indikasi WAF/rate-limit).
- Cek variasi case, trailing slash, dan URL-encoding ringan (lihat bagian berikut).
6) 403 Check dasar (non-destruktif)
Tujuan: memastikan apakah 403 benar-benar hard deny atau hasil normalisasi/WAF yang salah sasaran. Jangan gunakan teknik merusak (tidak ada payload berbahaya).
Percobaan yang aman
Path shape:
Tambah/kurangi / di akhir: /admin → /admin/
Ubah case: /Admin/
URL-encode sebagian: /admin%2f atau %2e%2e/ tanpa traversal eksplisit berbahaya.
Header informatif (hanya baca/only-read):
curl -I https://example.com/admin \
-H "User-Agent: Mozilla/5.0" \
-H "Accept: */*" -H "Cache-Control: no-cache"
Metode aman:
curl -X HEAD -i https://example.com/area
curl -X OPTIONS -i https://example.com/area
Host/Origin bervariasi (sebagian aplikasi salah mengikat izin ke referer/origin):
curl -I https://example.com/area -H "Origin: https://example.com"
Jika tanda WAF/limit muncul (mis. captcha page, block page, atau 429
), hentikan, catat bukti, dan rekomendasikan allowlist sementara untuk pengujian terkontrol.
7) Triase & dokumentasi temuan
Catat minimal: target, waktu, alamat IP, perintah, request/response raw, hash konten, screenshots, dan reasoning mengapa itu masalah.
Nilai dampak bisnis:
- Tinggi: akses ke backup, build artifacts, config, secret terbuka.
- Sedang: direktori listing dengan data non-sensitif tapi berpotensi digabung.
- Rendah: halaman stub atau placeholder kosong namun memetakan struktur privat.
Gunakan langkah reproduksi jelas dan rekomendasi terukur.
8) Rekomendasi mitigasi (BlueTeam)
- Terapkan deny-by-default pada direktori sensitif; hanya allow rute yang memang publik.
- Matikan directory listing, blokir file artefak (
*.bak
, *.old
, *.zip
, *.tar.gz
). - Normalisasi path konsisten di proxy dan aplikasi; hindari kebocoran karena case sensitivity berbeda.
- Tambahkan rate-limit, bot control, dan error page generik untuk 403/404 tanpa bocoran versi.
- Audit build pipeline agar artefak tidak terunggah ke
static/
atau public/
. - Review bucket/storage publik (objek ACL).
- Publikasikan
security.txt
dan prosedur pelaporan.
9) Checklist praktis
10) Contoh workflow singkat (ilustratif)
- Pasif: ambil
robots.txt
, sitemap.xml
, tarik URL arsip, parse JS. - Konsolidasi: gabungkan ke
urls_seed.txt
, normalisasi, unik-kan. - Aktif ringan: jalankan
ffuf
pada jalur akar dan jalur yang terindikasi. - 403 check: uji HEAD/OPTIONS, trailing slash, User-Agent berbeda.
- Triase: klasifikasikan risk, buat PoC, tulis rekomendasi.
Content discovery yang disiplin dan 403 check yang rapi memberi peta permukaan serang yang akurat, mengurangi blind spot, dan mempercepat mean time to remediate. Dengan pendekatan pasif-lebih-dulu, aktif-terukur, serta dokumentasi kuat, tim bisa menemukan direktori/area terlupa tanpa mengganggu layanan, sekaligus memberikan rekomendasi hardening yang langsung bisa dieksekusi. Gunakan praktik ini hanya pada aset berizin.