Materi Dasar Recon & XSS Testing (Legal Learning)
Skenario
Kamu mulai dari mencari subdomain, lalu melakukan pengecekan XSS menggunakan scanner online.
Alur sederhananya:
- Cari subdomain target
- Pilih subdomain yang aktif
- Cek parameter/input
- Jalankan XSS scanner
- Analisis hasil
Step 1 — Subdomain Finder
Tool yang dipakai:
Fungsi
Mencari subdomain dari sebuah domain utama.
Contoh:
example.com
Hasil bisa berupa:
admin.example.com
api.example.com
mail.example.com
dev.example.com
Kenapa Cari Subdomain?
Karena:
- kadang subdomain lama kurang aman,
- ada panel admin/testing,
- ada endpoint yang lupa diamankan,
- setiap subdomain bisa punya aplikasi berbeda.
Cara Kerja Subdomain Finder
Recon sederhana
Tool biasanya mengambil data dari:
- DNS records
- Certificate transparency
- Search engine indexing
- Public datasets
Contoh Hasil
api.target.com
dev.target.com
beta.target.com
Lalu dicek:
- apakah hidup,
- apakah ada login,
- apakah punya parameter.
Step 2 — Cari Parameter
Contoh URL:
https://target.com/search?q=test
Parameter:
q=test
Parameter seperti ini sering dites untuk XSS.
Step 3 — Pakai XSS Scanner
Tool yang dipakai:
Fungsi
Scanner mencoba memasukkan payload XSS otomatis ke:
- parameter URL,
- form,
- search input,
- query string.
Cara Kerja Scanner
Flow
- Scanner kirim payload
- Server memproses input
- Response dianalisis
- Jika payload kembali dan dieksekusi → kemungkinan XSS
Contoh Payload
<script>alert(1)</script>
atau:
<img src=x onerror=alert(1)>
Hasil yang Muncul
Kalau browser menampilkan:
xss by nama_kamu
itu biasanya karena:
- payload berhasil masuk,
- JavaScript berhasil dieksekusi,
- kemungkinan ada reflected XSS.
Contoh Sederhana
URL
https://site.com/search?q=test
Scanner mengganti:
?q=<script>alert(1)</script>
Kalau halaman menampilkan popup:
alert(1)
berarti input tidak difilter dengan benar.
Reflected XSS
Jenis paling umum.
Payload:
- tidak disimpan database,
- hanya dipantulkan lewat response.
Diagram
Hal yang Perlu Dicek
1. Apakah payload tampil mentah?
Contoh:
<script>alert(1)</script>
2. Apakah karakter di-encode?
Aman biasanya jadi:
<script>
3. Apakah popup muncul?
Kalau muncul:
- JavaScript berhasil jalan.
False Positive
Kadang scanner bilang XSS padahal:
- payload hanya tampil sebagai teks,
- tidak dieksekusi browser,
- atau diblok CSP.
Jadi hasil scanner tetap harus dicek manual.
Cara Analisis Manual
Inject karakter dulu
"><
Lihat response HTML.
Coba payload ringan
<img src=x onerror=alert(1)>
Lihat source HTML
Cari:
- apakah payload masuk,
- apakah berada di:
- HTML context,
- attribute context,
- JavaScript context.
Dampak XSS
Kalau benar-benar exploitable:
- session hijacking,
- pencurian cookie,
- phishing,
- deface,
- account takeover.
Pencegahan
Developer biasanya memakai:
- output encoding,
- sanitization,
- CSP,
- framework escaping,
- validation input.

