Web Dasar (HTTP)¶
Fase: Fondasi · Estimasi: 40 menit · Prasyarat: F6 Tujuan akhir: Paham cara kerja web: HTTP request/response, method, status, header, cookie/session — fondasi seluruh track Web. Glossary.
1. Briefing¶
Track Web terbesar di arsip (11 soal). Semua berdiri di atas HTTP. Kuasai modul ini → separuh dunia web exploitation terbuka.
2. Materi Inti¶
2.1 HTTP = percakapan request/response¶
Request (browser → server):
GET /login HTTP/1.1
Host: contoh.com
Cookie: session=abc123
Response (server → browser):
HTTP/1.1 200 OK
Set-Cookie: session=abc123
<html>...</html>
2.2 HTTP Method (kata kerja)¶
GET → minta data "tolong kasih halaman ini"
POST → kirim data "ini data form-ku" (login, upload)
PUT/DELETE → ubah/hapus mengelola data
2.3 Status Code (kode jawaban)¶
2xx sukses → 200 OK
3xx pengalihan → 301/302 redirect
4xx salah CLIENT → 403 Forbidden, 404 Not Found
5xx salah SERVER → 500 Internal Error
Saat recon: 403 vs 404 memberi tahu apakah halaman ada tapi dilarang atau memang tak ada — petunjuk berharga.
2.4 Header & Cookie/Session¶
- Header = info tambahan (jenis konten, browser).
- Cookie = data kecil disimpan browser, dikirim balik tiap request.
- Session = cara server mengingat "kamu siapa" setelah login (biasanya
session=...).login berhasil → server kasih cookie session tiap request berikutnya browser bawa cookie itu → server: "oh, ini si budi"Kalau cookie/session bisa dipalsukan, penyerang bisa menyamar jadi orang lain (mis. jadi admin). Dasar banyak serangan autentikasi (JWT).
2.5 Worked Example: curl (ketik → output)¶
$ curl -i https://contoh.com/
HTTP/1.1 200 OK # baris status
Server: nginx # "sidik jari" server
Content-Type: text/html
<html>...</html> # isi halaman
$ curl -b "session=abc123" https://contoh.com/dashboard
# mengirim cookie → akses halaman seakan sudah login
Checkpoint¶
- [ ] Bisa jelaskan request vs response.
- [ ] Tahu beda 403 vs 404.
- [ ] Tahu fungsi cookie session.
3. Kacamata Intelijen Siber¶
- Membaca header/response = baca "sidik jari" server (teknologi, versi, salah konfigurasi).
- Cookie/session = inti identitas digital; paham ini = paham cara menyamar (red) & mengamankan identitas (blue).
- Recon web (
/robots.txt, halaman tersembunyi, status code) = penerapan footprinting F2.
Kesalahan Umum¶
| Salah | Benar |
|---|---|
| GET & POST dianggap sama | GET minta data; POST kirim data (login/upload) |
| Abaikan status code | 403/404/500 memberi petunjuk besar saat recon |
| Kira Base64 di cookie = aman | Sering cuma encoding — bisa dibaca/dipalsukan |
4. Hubungan ke Write-up CTF¶
- Semua soal Web: SQLi, LFI, Upload, SSTI, SSRF, XXE, JWT.
- Sistem Pemantauan Admin & Wewenang Semu → pemalsuan session/JWT → admin.
Trik Cepat Memahami¶
Arti kode status HTTP dari angka DEPANnya -- ini menghemat banyak waktu:
| Awalan | Arti | Ingat sebagai |
|---|---|---|
| 2xx | sukses | "berhasil" (200 OK) |
| 3xx | pengalihan | "pindah alamat" (301/302) |
| 4xx | salah KLIEN | "salahmu" (404 not found, 403 forbidden) |
| 5xx | salah SERVER | "salah server" (500) |
Metode HTTP: GET = ambil (parameter terlihat di URL), POST = kirim (data di body, tak terlihat di URL). Banyak bug web muncul karena server percaya mentah-mentah pada input dari GET/POST/cookie -- jangan pernah percaya input klien.
5. Rangkuman¶
- Web = request/response via HTTP.
- Method GET/POST; status 2xx/3xx/4xx/5xx.
- Header info tambahan; Cookie/Session = ingatan identitas server.
- Session yang bisa dipalsukan = celah serius. Alat: DevTools (F12) & curl.
6. Uji Pemahaman¶
- Beda GET & POST?
- Arti 403 vs 404 & kenapa berguna saat recon?
- Fungsi cookie session?
- Kenapa session yang bisa dipalsukan berbahaya?
- Tulis
curluntuk kirim cookiesession=xyzkehttps://situs/dash. 6 (PG). Tab DevTools untuk lihat request/response: A. Elements · B. Console · C. Network · D. Sources
Kunci Jawaban
- GET minta data; POST kirim data (login/upload).
- 403 = ada tapi dilarang; 404 = tak ada. Membantu menebak halaman tersembunyi yang benar-benar ada.
- Menyimpan identitas login agar server mengingat kamu tiap request.
- Penyerang bisa menyamar jadi pengguna lain (mis. admin) tanpa password.
curl -b "session=xyz" https://situs/dash- C.
7. Misi Berikutnya¶
Lanjut ke F8 — Data & Encoding.
LIGHTSIBER · "Semua web bicara HTTP — kini kamu paham bahasanya."