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
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
b) Arsip & indeks URL
c) Analisis JavaScript
.js
(pola /api/…
, /admin/…
, .json
, .bak
). Identifikasi baseURL, versi API, dan parameter umum. Hindari mengeksekusi kode—cukup static analysis.d) Dorking etis
4) Teknik aktif terukur (brute-force direktori/endpoint)
static
, uploads
, build
, api/v1
, backup
, old
, beta
, staging
), ekstensi kandidat (.zip
, .tar.gz
, .bak
, .old
, .json
, .txt
).https://example.com
)-mc
tangkap status penting (termasuk 403).-ac
auto-calibration untuk mengurangi noise.-rate
batasi RPS agar tidak agresif.
- 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
ACL/izin salah (objek ada, tapi deny-by-default).
Proteksi peran (butuh login/role tertentu).
- Normalisasi path di reverse proxy berbeda dengan aplikasi.
- Geo/IP allowlist, token referer, atau origin tertentu.
- WAF/rate-limit memblokir pola brute-force.
- 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)
Path shape:
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
- 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.
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/
ataupublic/
. - Review bucket/storage publik (objek ACL).
- Publikasikan
security.txt
dan prosedur pelaporan.
9) Checklist praktis
- Kumpulkan URL pasif: robots, sitemap, arsip, JS.
- Susun wordlist khusus domain/produk.
- Jalankan brute-force terukur, simpan fingerprint.
- Bedakan 403 karena izin vs WAF/rate-limit.
- Dokumentasikan bukti & dampak.
- Beri mitigasi prioritas tinggi, uji ulang.
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.