WEB19 / BELAJAR DAN MENCOBA
XSS: bukti lokal tanpa data sensitif
Masih dalam pengembangan. Belajar pelan-pelan. Gunakan komputer sendiri dan data contoh.
Isi pelajaran ini
Kita belajar apa?
XSS adalah keadaan ketika input pengguna dapat menjadi skrip yang berjalan di browser. Di lab, kita memakai contoh yang hanya mengubah judul tab sendiri. Tidak perlu membaca cookie atau mengirim data ke tempat lain.
Bayangkan seperti ini
Catatan tamu seharusnya tidak bisa menekan tombol pengatur papan pengumuman.
Arti kata yang mungkin baru
- browser
- aplikasi untuk membuka website
- fixed
- mode lab yang memperbaiki kesalahan contoh
- vulnerable
- mode lab yang sengaja dibuat memiliki kesalahan untuk latihan
Penjelasan tambahan jika kamu ingin tahu lebih jauh
Bukti XSS tidak perlu membaca cookie atau menghubungi server luar. Mengubah judul halaman sendiri sudah menunjukkan eksekusi skrip pada origin lab. Jangan menyalin payload ini ke halaman pihak lain.
Persiapan
Siapkan catatan dan baca panduan perangkat. Pakai data buatan, bukan data pribadi. Baca satu langkah, kerjakan, lalu periksa hasilnya sebelum melanjutkan.
- Unduh dan ekstrak ZIP lab dari halaman Perlengkapan ke komputer sendiri.
- Buka terminal di folder lab. Jalankan
python lab_web.py --enable-local-training. Gunakanpyataupython3jika itu nama Python pada perangkatmu. - Biarkan terminal tetap terbuka. Buka browser dan tulis
http://127.0.0.1:8765/pada bilah alamat di atas, lalu Enter. - Jika langkah menyebut
/noteatau nama halaman lain, tambahkan ke alamat lab. Contoh:http://127.0.0.1:8765/note?mode=fixed&id=1. Pilih mode lewat kotak pilihan jika tersedia. - Sesudah selesai, kembali ke terminal dan tekan Ctrl+C untuk menghentikan lab.
Langkah latihan
- Buka /echo dan pilih vulnerable.
- Isi q dengan <script>document.title="Bukti lokal"</script>.
- Kirim dan lihat judul tab berubah menjadi Bukti lokal.
- Pilih fixed dan kirim input sama.
- Lihat judul tetap CyberKit Lab dan tulisan skrip muncul sebagai teks.
Hasil yang diharapkan
Ada perbedaan yang bisa dilihat: skrip berjalan pada vulnerable dan tidak berjalan pada fixed dalam contoh ini.
Bandingkan dengan hasilmu sendiri. Jika berbeda, tulis apa yang terlihat lalu baca bagian bantuan di bawah. Jangan mengaku berhasil jika langkahnya belum kamu coba.
Jika terhambat
Berhenti sebentar dan baca pesan yang muncul. Periksa nama file, folder, alamat, dan apakah program latihan masih berjalan. Ulangi satu langkah saja. Jika tetap bingung, minta bantuan guru atau pendamping; jangan mematikan keamanan perangkat.
Petunjuk khusus untuk pelajaran ini
Jika ekstensi browser memblokir skrip, gunakan profil latihan tanpa akun dan catat pembatasan; jangan menonaktifkan proteksi perangkat secara global.
Apa yang perlu kamu catat?
Tulis langkah yang kamu lakukan dan hasil yang benar-benar terlihat. Tambahkan satu kalimat: “Saya belajar bahwa …”. Untuk latihan menggambar, simpan gambar dan jawabanmu.
Cek pemahamanmu
Apa perbedaan judul tab setelah input skrip pada kedua mode?
Buka pembahasan
Vulnerable berubah menjadi Bukti lokal. Fixed tetap CyberKit Lab karena karakter skrip di-encode dan ditampilkan sebagai teks.
Tantangan mandiri
Jelaskan batas bukti: yang diuji adalah satu konteks HTML pada satu endpoint lab.
Pedoman penilaian tantangan
Jawaban harus sesuai hasil aktual, menyebut batas kesimpulan, dan tidak keluar scope. Gunakan langkah serta hasil harapan pelajaran sebagai pembanding; nilai 0 bila belum ada, 1 bila sebagian, 2 bila jelas dan dapat ditinjau.
Perbaikan & retest
Utamakan sink aman dan encoding; CSP membantu membatasi dampak tetapi bukan pengganti perbaikan sink.
