Panduan Content Discovery + 403 Check Dasar untuk Web Pentest (2025)

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)

  1. Scoping: domain, subdomain, jalur kritikal, jam kerja aman.
  2. Pasif dulu: kumpulkan URL resmi/arsip tanpa menyentuh server agresif.
  3. Aktif terukur: brute-force terarah dengan rate-limit.
  4. 403 check: pahami penyebab, validasi aman, dokumentasikan.
  5. 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.

c) Analisis JavaScript

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 (praktis, rekursif aman):
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 (stabil):
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:
  • 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.
Langkah dasar validasi
  1. Bandingkan content-length, headers, dan body signature antar permintaan.
  2. Coba metode aman (HEAD/OPTIONS) untuk melihat perbedaan perilaku.
  3. Ubah User-Agent dan jeda antar permintaan; cek apakah 403 berubah jadi 200/302/429 (indikasi WAF/rate-limit).
  4. 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

  • 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)

  1. Pasif: ambil robots.txt, sitemap.xml, tarik URL arsip, parse JS.
  2. Konsolidasi: gabungkan ke urls_seed.txt, normalisasi, unik-kan.
  3. Aktif ringan: jalankan ffuf pada jalur akar dan jalur yang terindikasi.
  4. 403 check: uji HEAD/OPTIONS, trailing slash, User-Agent berbeda.
  5. 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.

Share this

Add Comments


EmoticonEmoticon