Mendapatkan vuln header web
Apa yang Terungkap Saat Menjalankan curl -I
— Panduan CTF (Etis, Offline)
Versi offline untuk disimpan di lokal. Fokus: cara membaca header, menemukan petunjuk, dan langkah aman untuk CTF tanpa memberikan instruksi eksploit nyata.
Catatan Penting (Baca Dulu)
Dokumen ini dibuat untuk tujuan pembelajaran dan CTF internal. Saya tidak menyediakan langkah eksploit yang berbahaya. Jika kamu menguji pada sistem nyata, pastikan memiliki izin eksplisit pemilik sistem.
Apa yang Dilihat oleh curl -I
Perintah curl -I http://target.com
meminta header respons (HEAD). Kamu akan melihat status, server banner, cookie, dan header keamanan. Contoh:
HTTP/1.1 200 OK Date: Tue, 09 Sep 2025 00:00:00 GMT Server: nginx/1.14.0 (Ubuntu) Content-Type: text/html; charset=UTF-8 Set-Cookie: PHPSESSID=abc123; path=/
Dari contoh di atas, perhatikan apakah ada header keamanan seperti Strict-Transport-Security
, X-Content-Type-Options
, atau apakah server mengungkap versi.
Temuan Umum & Arti dalam CTF
- Server banner / versi — Mengungkap jenis dan versi (mis. nginx/1.14.0). Dalam CTF, versi kadang beri petunjuk exploit lama; di dunia nyata ini adalah informasi sensitif.
- HSTS hilang — Menunjukkan tidak ada kebijakan force-HTTPS. Di CTF, ini mungkin menandakan konfigurasi lama.
- CSP kosong atau tidak ada — Potensi XSS lebih berbahaya jika eksploit berhasil; di CTF bisa menjadi target untuk payload XSS (konsep saja).
- Cookie tanpa flag — Menandakan cookie mungkin tidak aman. Di CTF, pengujian serupa dapat menunjukkan bagaimana sesi bisa dieksfiltrasi (konsep).
- Metode HTTP terbuka — PUT/DELETE/TRACE yang tidak diperlukan dapat menjadi vektor. Dalam CTF, perhatikan respon ke
OPTIONS
.
Alur Walkthrough CTF (Konsep, Aman)
Berikut alur yang sering digunakan dalam CTF untuk menindaklanjuti petunjuk dari header—tanpa langkah eksploit nyata:
- Kumpulkan header — Jalankan
curl -I
dan simpan output. - Catat petunjuk — Tuliskan server, versi, cookie flags, dan absence of security headers.
- Cari CVE/publikasi terkait — Konsep: jika versi terungkap, di CTF tim sering mencari publikasi/notes tentang versi tersebut untuk ide (jangan eksploit di luar CTF).
- Migrasi ke env staging/VM — Buat lingkungan lokal dengan versi serupa untuk mencoba teknik eksploit di lingkungan terisolasi.
- Verifikasi non-invasif — Jalankan passive scanner, periksa header tambahan, dan lakukan only-safe checks.
- Dokumentasi — Catat semua temuan, bukti non-invasif, dan rekomendasi perbaikan.
Contoh Perbaikan (Nginx / Apache / PHP)
Gunakan contoh konfigurasi di bawah ini pada lingkungan staging untuk memperbaiki header yang hilang.
Nginx (header keamanan)
add_header X-Content-Type-Options "nosniff" always; add_header X-Frame-Options "SAMEORIGIN" always; add_header Referrer-Policy "no-referrer-when-downgrade" always; add_header Content-Security-Policy "default-src 'self'; script-src 'self'; object-src 'none';" always; add_header Strict-Transport-Security "max-age=63072000; includeSubDomains; preload" always;
PHP (set cookie aman)
setcookie('session', $value, [ 'expires' => time() + 3600, 'path' => '/', 'secure' => true, 'httponly' => true, 'samesite' => 'Lax' ]);
Menyimpan Hasil Scan di Lokal (Tip untuk CTF)
Simpan hasil curl -I
ke berkas untuk dokumentasi:
curl -I https://target.com > hasil-curl-headers.txt
Atau simpan beberapa target ke folder khusus agar rapi saat CTF.
Template Laporan Singkat (Responsible)
Subject: [CTF/Internal] Temuan dari header HTTP di target-ctf Ringkasan: Server mengungkap versi dan tidak ada HSTS. Rekomendasi: tambahkan header HSTS, X-Content-Type-Options, perbaiki cookie flags.