CyberKit / Buku belajar
20 Fundamental + 40 Website. Semua langkah memakai data fiktif dan scope localhost. Materi tertulis tersedia; video dan validasi lintas perangkat belum lengkap. Gunakan cetak browser untuk menyimpan PDF.
F01 / BELAJAR DAN MENCOBA
Etika dan izin
30–50 menit · Prasyarat: Tidak ada; mulai di sini
Masih dalam pengembangan. Belajar pelan-pelan. Gunakan komputer sendiri dan data contoh.
Kita belajar apa?
Belajar keamanan komputer berarti belajar menemukan masalah dan membantu memperbaikinya. Kita hanya boleh mencoba pada komputer sendiri atau tempat yang memberi izin. Website yang bisa dibuka semua orang tetap bukan tempat latihan bebas.
Bayangkan seperti ini
Seperti memeriksa kunci rumah: kamu boleh memeriksa rumah sendiri, tetapi tidak boleh mencoba membuka rumah tetangga tanpa izin.
Arti kata yang mungkin baru
- scope
- batas target, cara, dan waktu yang boleh diuji
Persiapan
Siapkan catatan dan baca panduan perangkat. Pakai data buatan, bukan data pribadi. Baca satu langkah, kerjakan, lalu periksa hasilnya sebelum melanjutkan.
Pelajaran ini tidak meminta kamu menjalankan server lab. Siapkan aplikasi atau file yang disebut pada langkah latihan di bawah.
Langkah latihan
- Buat folder bernama cyberkit di Documents.
- Buka aplikasi catatan, misalnya Notepad.
- Tulis: Saya berlatih di komputer sendiri. Alamat latihan saya 127.0.0.1.
- Tulis juga: Jika melihat data orang lain atau alamat berbeda, saya berhenti.
- Simpan dengan nama scope.txt di folder cyberkit.
Hasil yang diharapkan
Kamu memiliki catatan izin dan tahu kapan harus berhenti.
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 tidak yakin siapa pemilik sistem, berhenti dan jangan menguji. Latihan ini tidak memerlukan IP sekolah, kantor, atau website umum.
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
Apakah website publik otomatis boleh diuji?
Buka pembahasan
Tidak. Harus ada izin yang jelas.
Tantangan mandiri
Tuliskan contoh permintaan yang keluar dari scope dan keputusan menghentikannya.
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
Batasi ruang lingkup dan minimalkan data bukti. Hapus data latihan setelah laporan selesai.
Referensi
F02 / BELAJAR DAN MENCOBA
Dasar keamanan
30–50 menit · Prasyarat: F01
Masih dalam pengembangan. Belajar pelan-pelan. Gunakan komputer sendiri dan data contoh.
Kita belajar apa?
Ada tiga hal yang ingin kita jaga: data tidak dibaca sembarang orang, data tidak diubah sembarangan, dan data tetap bisa dipakai saat dibutuhkan. Satu masalah bisa mengganggu lebih dari satu hal.
Bayangkan seperti ini
Buku harian perlu dijaga agar tidak dibaca, dicoret, atau hilang.
Persiapan
Siapkan catatan dan baca panduan perangkat. Pakai data buatan, bukan data pribadi. Baca satu langkah, kerjakan, lalu periksa hasilnya sebelum melanjutkan.
Pelajaran ini tidak meminta kamu menjalankan server lab. Siapkan aplikasi atau file yang disebut pada langkah latihan di bawah.
Langkah latihan
- Buat catatan berisi tugas sekolah fiktif, bukan data pribadi.
- Salin catatan itu ke folder backup.
- Tulis satu cara agar catatan tidak dibaca orang lain.
- Tulis satu cara mengetahui jika isinya berubah.
- Buka salinan backup dan pastikan masih bisa dibaca.
Hasil yang diharapkan
Kamu bisa menjelaskan tiga tujuan keamanan dengan contoh sendiri.
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 belum punya backup, gunakan file fiktif baru. Jangan menguji pemulihan dengan menghapus data penting.
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
Backup terutama membantu aspek apa?
Buka pembahasan
Ketersediaan; versi backup juga membantu pemulihan integritas.
Tantangan mandiri
Bedakan ancaman, kerentanan, dampak, dan kontrol dalam empat kalimat.
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
Uji pemulihan secara berkala; backup yang tidak pernah diuji belum memberi kepastian.
Referensi
F03 / BELAJAR DAN MENCOBA
Komputer dan proses
30–50 menit · Prasyarat: F02
Masih dalam pengembangan. Belajar pelan-pelan. Gunakan komputer sendiri dan data contoh.
Kita belajar apa?
Komputer memakai bagian yang berbeda untuk bekerja. CPU menjalankan perintah, RAM menampung pekerjaan sementara, dan penyimpanan menyimpan file. Program yang sedang berjalan disebut proses.
Bayangkan seperti ini
CPU seperti orang yang mengerjakan tugas, RAM seperti meja kerja, dan penyimpanan seperti lemari buku.
Persiapan
Siapkan catatan dan baca panduan perangkat. Pakai data buatan, bukan data pribadi. Baca satu langkah, kerjakan, lalu periksa hasilnya sebelum melanjutkan.
Pelajaran ini tidak meminta kamu menjalankan server lab. Siapkan aplikasi atau file yang disebut pada langkah latihan di bawah.
Langkah latihan
- Simpan pekerjaan yang sedang kamu buka.
- Pada Windows tekan Ctrl+Shift+Esc untuk membuka Task Manager. Pada Linux gunakan monitor sistem.
- Buka Notepad atau editor teks.
- Cari nama aplikasi itu dalam daftar proses.
- Tutup editor secara biasa dan lihat perubahan daftar. Jangan hentikan proses lain.
Hasil yang diharapkan
Kamu melihat bahwa aplikasi yang dibuka mempunyai proses. Angka memori tidak harus sama dengan contoh orang lain.
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
Jangan hentikan proses sistem. Jika alat monitor tidak tersedia di Android, cukup gunakan pengaturan aplikasi; praktik desktop tidak identik dengan Termux.
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
Apakah proses sama dengan file?
Buka pembahasan
Tidak; proses adalah program yang sedang berjalan.
Tantangan mandiri
Jelaskan mengapa file program yang ada di disk belum tentu sedang berjalan.
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
Gunakan akun biasa dan instal aplikasi dari proyek atau distributor resmi.
Referensi
F04 / BELAJAR DAN MENCOBA
Sistem operasi
30–50 menit · Prasyarat: F03
Masih dalam pengembangan. Belajar pelan-pelan. Gunakan komputer sendiri dan data contoh.
Kita belajar apa?
Sistem operasi adalah program utama yang mengatur komputer. Windows dan Linux adalah contoh sistem operasi. Akun administrator mempunyai izin lebih besar, jadi kesalahan pada akun itu bisa berdampak lebih besar.
Bayangkan seperti ini
Sistem operasi seperti pengelola sekolah yang mengatur ruangan dan siapa boleh masuk.
Persiapan
Siapkan catatan dan baca panduan perangkat. Pakai data buatan, bukan data pribadi. Baca satu langkah, kerjakan, lalu periksa hasilnya sebelum melanjutkan.
Pelajaran ini tidak meminta kamu menjalankan server lab. Siapkan aplikasi atau file yang disebut pada langkah latihan di bawah.
Langkah latihan
- Buka pengaturan komputer.
- Cari bagian About atau Tentang perangkat.
- Catat nama dan versi sistem operasi. Jangan menyalin nama pemilik perangkat.
- Lihat jenis akun tanpa mengubahnya.
- Tulis kegiatan biasa yang tidak memerlukan izin administrator, misalnya membaca catatan.
Hasil yang diharapkan
Kamu tahu perangkat yang dipakai dan mengapa latihan biasa tidak perlu dijalankan sebagai administrator.
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
Nama menu berbeda antar distribusi. Jangan mencoba mendapatkan hak admin pada komputer bersama.
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
Kapan memakai administrator?
Buka pembahasan
Hanya ketika diperlukan dan setelah memahami perubahan.
Tantangan mandiri
Bedakan kernel, aplikasi pengguna, dan distribusi OS.
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
Pasang pembaruan melalui mekanisme resmi setelah backup dan sesuai kebijakan perangkat.
Referensi
F05 / BELAJAR DAN MENCOBA
File dan direktori
30–50 menit · Prasyarat: F04
Masih dalam pengembangan. Belajar pelan-pelan. Gunakan komputer sendiri dan data contoh.
Kita belajar apa?
File adalah satu berkas, misalnya catatan.txt. Folder adalah tempat mengelompokkan berkas. Alamat lokasi file disebut path. Menyalin membuat salinan, sedangkan memindahkan mengubah lokasinya.
Bayangkan seperti ini
File seperti satu buku dan folder seperti rak tempat menyimpan buku.
Arti kata yang mungkin baru
- path
- alamat lokasi file atau halaman
Persiapan
Siapkan catatan dan baca panduan perangkat. Pakai data buatan, bukan data pribadi. Baca satu langkah, kerjakan, lalu periksa hasilnya sebelum melanjutkan.
Pelajaran ini tidak meminta kamu menjalankan server lab. Siapkan aplikasi atau file yang disebut pada langkah latihan di bawah.
Langkah latihan
- Di folder cyberkit buat folder input dan backup.
- Buat input/catatan.txt dengan isi Halo CyberKit.
- Salin file itu ke folder backup.
- Ubah nama file salinan menjadi catatan-salinan.txt.
- Buka keduanya dan pastikan file asli masih ada.
Hasil yang diharapkan
Ada file asli dan salinan yang bisa dibaca. Kamu tidak perlu menghapus file penting untuk mencoba.
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 tersembunyi, aktifkan View > File name extensions pada Windows. Hindari file unduhan yang tidak dikenal.
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 beda salin dan pindah?
Buka pembahasan
Salin menyisakan sumber; pindah mengubah lokasinya.
Tantangan mandiri
Buat struktur bukti/F01 dan jelaskan mengapa nama berkas konsisten membantu laporan.
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
Simpan cadangan sebelum operasi massal. Periksa path sebelum menyalin atau menghapus.
Referensi
F06 / BELAJAR DAN MENCOBA
Terminal pertama
30–50 menit · Prasyarat: F05
Masih dalam pengembangan. Belajar pelan-pelan. Gunakan komputer sendiri dan data contoh.
Kita belajar apa?
Terminal adalah tempat menulis perintah kepada komputer. Perintah harus sesuai sistem operasi. Kita mulai dengan melihat lokasi dan membaca file, bukan menghapus sesuatu.
Bayangkan seperti ini
Seperti memberi petunjuk tertulis: petunjuk yang salah alamat bisa menghasilkan jawaban yang berbeda.
Persiapan
Siapkan catatan dan baca panduan perangkat. Pakai data buatan, bukan data pribadi. Baca satu langkah, kerjakan, lalu periksa hasilnya sebelum melanjutkan.
Pelajaran ini tidak meminta kamu menjalankan server lab. Siapkan aplikasi atau file yang disebut pada langkah latihan di bawah.
Langkah latihan
- Buka terminal dari folder cyberkit. Di Windows bisa memakai PowerShell.
- Windows: ketik Get-Location lalu Enter. Linux/Termux: ketik pwd lalu Enter.
- Windows: ketik Get-ChildItem. Linux/Termux: ketik ls. Ini menampilkan isi folder.
- Windows: ketik Get-Content input/catatan.txt. Linux/Termux: ketik cat input/catatan.txt.
- Jika file tidak ditemukan, cocokkan lokasi folder dan nama file. Jangan menyalin tanda PS> atau $ sebagai perintah.
Hasil yang diharapkan
Lokasi folder, daftar file, dan tulisan Halo CyberKit terlihat di terminal.
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
File not found: periksa direktori aktif, ejaan, dan huruf besar kecil. Jangan menyalin tanda prompt $ atau PS> sebagai perintah.
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
Mengapa memeriksa direktori aktif?
Buka pembahasan
Agar operasi file mengenai lokasi yang dimaksud.
Tantangan mandiri
Baca file pada folder yang namanya mengandung spasi memakai tanda kutip.
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
Jangan menjalankan perintah yang belum dipahami, terutama yang menghapus atau mengambil skrip jarak jauh.
Referensi
F07 / BELAJAR DAN MENCOBA
Permission
30–50 menit · Prasyarat: F06
Masih dalam pengembangan. Belajar pelan-pelan. Gunakan komputer sendiri dan data contoh.
Kita belajar apa?
Tidak semua orang boleh membaca atau mengubah semua file. Aturan siapa boleh melakukan apa disebut hak akses atau permission. Untuk awal, cukup melihat aturannya tanpa mengubah file sistem.
Bayangkan seperti ini
Kunci lemari menentukan siapa bisa membuka dan mengambil isinya.
Arti kata yang mungkin baru
- permission
- aturan siapa boleh membaca, mengubah, atau menjalankan sesuatu
Persiapan
Siapkan catatan dan baca panduan perangkat. Pakai data buatan, bukan data pribadi. Baca satu langkah, kerjakan, lalu periksa hasilnya sebelum melanjutkan.
Pelajaran ini tidak meminta kamu menjalankan server lab. Siapkan aplikasi atau file yang disebut pada langkah latihan di bawah.
Langkah latihan
- Pilih file latihan input/catatan.txt.
- Windows: klik kanan, pilih Properties lalu Security. Linux: jalankan ls -l input/catatan.txt.
- Cari keterangan membaca dan menulis.
- Catat siapa yang memiliki akses. Jangan membagikan nama akun pribadi.
- Tutup pengaturan tanpa mengubah aturan file sistem.
Hasil yang diharapkan
Kamu bisa membedakan izin membaca dan izin mengubah file.
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
Akun root/admin dapat memengaruhi hasil uji. Jika tidak paham ACL, batasi ke observasi; jangan memakai chmod 777.
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
Apakah semua file perlu hak penuh?
Buka pembahasan
Tidak. Berikan hak minimum yang diperlukan.
Tantangan mandiri
Jelaskan beda hak execute pada file dan traversal pada direktori.
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
Terapkan hak minimum pada folder aplikasi dan simpan rahasia di luar direktori publik.
Referensi
F08 / BELAJAR DAN MENCOBA
Python dasar
30–50 menit · Prasyarat: F07
Masih dalam pengembangan. Belajar pelan-pelan. Gunakan komputer sendiri dan data contoh.
Kita belajar apa?
Python adalah bahasa untuk menulis perintah yang dijalankan komputer. Perintah print menampilkan tulisan atau hasil hitungan. Huruf besar dan kecil bisa mengubah arti nama perintah.
Bayangkan seperti ini
Menulis program seperti menulis resep: urutan dan nama langkah perlu tepat.
Arti kata yang mungkin baru
- Python
- bahasa dan alat untuk menjalankan program contoh
Persiapan
Siapkan catatan dan baca panduan perangkat. Pakai data buatan, bukan data pribadi. Baca satu langkah, kerjakan, lalu periksa hasilnya sebelum melanjutkan.
Pelajaran ini tidak meminta kamu menjalankan server lab. Siapkan aplikasi atau file yang disebut pada langkah latihan di bawah.
Langkah latihan
- Pasang Python dari python.org sesuai komputer. Pada Windows buka terminal baru setelah pemasangan.
- Ketik python --version. Jika tidak dikenal, coba py --version di Windows atau python3 --version di Linux.
- Buka Notepad, tulis contoh halo.py di bawah. Simpan sebagai halo.py, bukan halo.py.txt.
- Di terminal folder yang sama, jalankan python halo.py. Gunakan py atau python3 jika itu yang berhasil pada langkah sebelumnya.
- Lihat tulisan dan angka yang muncul, lalu ubah nama Pelajar menjadi nama panggilan fiktif.
Hasil yang diharapkan
Contoh menampilkan Halo Pelajar dan angka 5. Kamu bisa mengubah tulisan sendiri.
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 Python membuka Store atau tidak ditemukan, periksa pemasangan dan buka terminal baru. Paket lab memakai pustaka standar, tanpa pip.
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 fungsi print?
Buka pembahasan
Menampilkan nilai ke keluaran terminal.
Tantangan mandiri
Tambahkan variabel jumlah = 2 + 3 lalu tampilkan 5.
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
Unduh interpreter dari sumber resmi; jangan menjalankan skrip tidak dikenal dengan hak admin.
Referensi
F09 / BELAJAR DAN MENCOBA
Git lokal
30–50 menit · Prasyarat: F08
Masih dalam pengembangan. Belajar pelan-pelan. Gunakan komputer sendiri dan data contoh.
Kita belajar apa?
Git membantu menyimpan riwayat perubahan file. Kamu bisa melihat apa yang berubah tanpa mengingat semuanya. Latihan Git ini hanya di komputer sendiri dan tidak memerlukan akun GitHub.
Bayangkan seperti ini
Seperti menyimpan beberapa versi karangan sehingga bisa melihat perbedaannya.
Arti kata yang mungkin baru
- Git
- alat pencatat riwayat perubahan file
Persiapan
Siapkan catatan dan baca panduan perangkat. Pakai data buatan, bukan data pribadi. Baca satu langkah, kerjakan, lalu periksa hasilnya sebelum melanjutkan.
Pelajaran ini tidak meminta kamu menjalankan server lab. Siapkan aplikasi atau file yang disebut pada langkah latihan di bawah.
Langkah latihan
- Pasang Git dari git-scm.com, lalu ketik git --version.
- Buka terminal di folder cyberkit dan ketik git init.
- Atur nama latihan: git config user.name "Pelajar". Lalu: git config user.email "pelajar@example.invalid".
- Ketik git add input/catatan.txt lalu git commit -m "Catatan pertama".
- Ubah catatan dan jalankan git diff untuk melihat perubahannya. Jangan simpan password dalam Git.
Hasil yang diharapkan
Ada satu titik simpan riwayat. Perubahan baru terlihat melalui git diff.
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 identitas belum diatur, gunakan konfigurasi lokal di atas. Jangan melakukan git init di folder seluruh Documents atau mengunggah repository pribadi.
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
Apakah git add sudah membuat commit?
Buka pembahasan
Belum; add hanya menyiapkan perubahan.
Tantangan mandiri
Buat .gitignore yang mengabaikan rahasia.txt sebelum membuat file contoh itu.
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
Rahasia yang terlanjur dipublikasikan harus dicabut atau diganti; menghapus file saja tidak cukup.
Referensi
F10 / BELAJAR DAN MENCOBA
Lab pribadi
30–50 menit · Prasyarat: F09
Masih dalam pengembangan. Belajar pelan-pelan. Gunakan komputer sendiri dan data contoh.
Kita belajar apa?
Lab adalah tempat latihan. Lab CyberKit dijalankan di komputer sendiri dengan data buatan. Alamat 127.0.0.1 selalu menunjuk perangkat yang sedang kamu pakai.
Bayangkan seperti ini
Seperti latihan sains di meja sendiri sebelum memakai peralatan yang lebih besar.
Arti kata yang mungkin baru
- server
- program yang menerima permintaan lalu memberi jawaban
- browser
- aplikasi untuk membuka website
- port
- nomor layanan pada sebuah alamat komputer
- HTTP
- aturan bertukar pesan antara klien dan server web
- Python
- bahasa dan alat untuk menjalankan program contoh
Persiapan
Siapkan catatan dan baca panduan perangkat. Pakai data buatan, bukan data pribadi. Baca satu langkah, kerjakan, lalu periksa hasilnya sebelum melanjutkan.
Jalankan lab hanya jika langkah latihan memintanya. Untuk lab dasar: python server_aman.py, lalu buka http://127.0.0.1:8000/. Untuk latihan menggambar atau membaca file, server tidak diperlukan.
Langkah latihan
- Unduh ZIP lab dari halaman Perlengkapan.
- Ekstrak di folder latihan komputer, bukan di hosting.
- Buka terminal di folder hasil ekstraksi.
- Jalankan python server_aman.py, lalu buka http://127.0.0.1:8000/health di browser. Sesuaikan nama Python seperti F08.
- Hentikan dengan Ctrl+C. Jangan mengubah alamat server, membuka tunnel, atau membuka port router.
Hasil yang diharapkan
Saat server hidup, halaman menampilkan status ok. Setelah dihentikan, sambungan tidak berhasil.
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
Address already in use berarti port dipakai proses lain. Hentikan proses lab sebelumnya; jangan mematikan proses yang tidak dikenal.
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
Apakah 0.0.0.0 sama dengan localhost?
Buka pembahasan
Tidak; bind 0.0.0.0 dapat menerima koneksi dari jaringan.
Tantangan mandiri
Gambar batas komputer sendiri dan tempat menyimpan paket publik versus 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
Jaga lab terpisah dari akun dan data sungguhan; reset proses menghapus state demonstrasi.
Referensi
F11 / BELAJAR DAN MENCOBA
IP dan localhost
30–50 menit · Prasyarat: F10
Masih dalam pengembangan. Belajar pelan-pelan. Gunakan komputer sendiri dan data contoh.
Kita belajar apa?
Alamat IP membantu komputer mengetahui tujuan sambungan. Alamat 127.0.0.1 khusus menuju perangkat sendiri. Alamat komputer di Wi-Fi rumah berbeda dari alamat khusus ini.
Bayangkan seperti ini
Alamat rumah membantu kurir menemukan tujuan. Loopback seperti menaruh paket di meja sendiri.
Arti kata yang mungkin baru
- browser
- aplikasi untuk membuka website
Persiapan
Siapkan catatan dan baca panduan perangkat. Pakai data buatan, bukan data pribadi. Baca satu langkah, kerjakan, lalu periksa hasilnya sebelum melanjutkan.
Jalankan lab hanya jika langkah latihan memintanya. Untuk lab dasar: python server_aman.py, lalu buka http://127.0.0.1:8000/. Untuk latihan menggambar atau membaca file, server tidak diperlukan.
Langkah latihan
- Ingat target latihan: 127.0.0.1.
- Windows boleh melihat ipconfig. Linux boleh melihat ip addr jika tersedia.
- Cari alamat loopback tanpa membagikan seluruh hasil.
- Buka lab dari browser pada komputer yang menjalankan lab.
- Jika memakai ponsel berbeda, jangan berharap 127.0.0.1 menuju laptop.
Hasil yang diharapkan
Kamu tahu bahwa localhost pada ponsel berarti ponsel itu sendiri, bukan komputer lain.
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
Di Termux akses informasi jaringan dapat dibatasi Android. Gunakan alamat loopback yang sudah diketahui; jangan mencari cara melewati batas OS.
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
Ke mana 127.0.0.1 menuju?
Buka pembahasan
Ke perangkat sendiri.
Tantangan mandiri
Jelaskan mengapa mengakses localhost pada ponsel tidak menuju laptop Anda.
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
Batas akses harus didukung bind dan firewall, bukan sekadar menyembunyikan alamat.
Referensi
F12 / BELAJAR DAN MENCOBA
TCP dan UDP
30–50 menit · Prasyarat: F11
Masih dalam pengembangan. Belajar pelan-pelan. Gunakan komputer sendiri dan data contoh.
Kita belajar apa?
TCP dan UDP adalah dua cara mengirim data. TCP membantu menjaga urutan data. UDP mengirim bagian data tanpa jaminan urutan atau sampai dari protokol itu sendiri. Aplikasi bisa menambah aturan lain.
Bayangkan seperti ini
TCP seperti kiriman bernomor yang diperiksa urutannya. UDP seperti mengirim kartu pos satu per satu. Perbandingan ini hanya gambaran sederhana.
Arti kata yang mungkin baru
- server
- program yang menerima permintaan lalu memberi jawaban
- browser
- aplikasi untuk membuka website
- HTTP
- aturan bertukar pesan antara klien dan server web
Persiapan
Siapkan catatan dan baca panduan perangkat. Pakai data buatan, bukan data pribadi. Baca satu langkah, kerjakan, lalu periksa hasilnya sebelum melanjutkan.
Pelajaran ini tidak meminta kamu menjalankan server lab. Siapkan aplikasi atau file yang disebut pada langkah latihan di bawah.
Langkah latihan
- Gambar browser dan server lab di kertas.
- Hubungkan keduanya dengan garis bertuliskan TCP.
- Buat tabel kecil TCP dan UDP.
- Tulis bahwa HTTP lab memakai TCP; jangan menyimpulkan semua HTTP selalu begitu.
- Ceritakan mengapa data yang datang tidak urut bisa menyulitkan pembaca.
Hasil yang diharapkan
Kamu memahami perbedaan dasar tanpa harus menghafal semua rincian jaringan.
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
DevTools biasanya menunjukkan request HTTP, bukan paket TCP mentah. Jangan menyimpulkan detail paket yang tidak terlihat.
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
Apakah UDP menjamin pesan sampai?
Buka pembahasan
Tidak.
Tantangan mandiri
Mengapa aplikasi real-time kadang memilih UDP meskipun paket dapat hilang?
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
Pilih transport sesuai kebutuhan; enkripsi dan autentikasi tetap diperlukan di lapisan yang tepat.
Referensi
F13 / BELAJAR DAN MENCOBA
Port dan layanan
30–50 menit · Prasyarat: F12
Masih dalam pengembangan. Belajar pelan-pelan. Gunakan komputer sendiri dan data contoh.
Kita belajar apa?
Satu komputer bisa menjalankan beberapa layanan. Nomor port membantu memilih layanan yang dituju. Dalam lab, angka 8000 adalah nomor layanan latihan, bukan nomor yang selalu dipakai semua website.
Bayangkan seperti ini
Alamat komputer seperti alamat gedung, sedangkan port seperti nomor ruangannya.
Arti kata yang mungkin baru
- server
- program yang menerima permintaan lalu memberi jawaban
- port
- nomor layanan pada sebuah alamat komputer
- HTTP
- aturan bertukar pesan antara klien dan server web
Persiapan
Siapkan catatan dan baca panduan perangkat. Pakai data buatan, bukan data pribadi. Baca satu langkah, kerjakan, lalu periksa hasilnya sebelum melanjutkan.
Jalankan lab hanya jika langkah latihan memintanya. Untuk lab dasar: python server_aman.py, lalu buka http://127.0.0.1:8000/. Untuk latihan menggambar atau membaca file, server tidak diperlukan.
Langkah latihan
- Jalankan server_aman.py.
- Buka http://127.0.0.1:8000/ lalu /health.
- Coba port 8001 tanpa menjalankan server di sana.
- Hentikan server 8000 dengan Ctrl+C.
- Muat ulang /health dan catat apa yang berubah.
Hasil yang diharapkan
Port yang benar bisa dijangkau saat server hidup. Server mati atau port salah dapat menyebabkan sambungan gagal.
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
Browser mungkin menampilkan cache. Lakukan reload dan periksa Network. Jangan memindai seluruh jaringan untuk mencari port.
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 arti connection refused?
Buka pembahasan
Sering berarti tidak ada layanan yang mendengarkan pada alamat/port itu.
Tantangan mandiri
Tuliskan pohon diagnosis singkat ketika /health tidak muncul.
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
Dokumentasikan port layanan dan tutup layanan yang tidak diperlukan.
Referensi
F14 / BELAJAR DAN MENCOBA
Nmap pada loopback
30–50 menit · Prasyarat: F13
Masih dalam pengembangan. Belajar pelan-pelan. Gunakan komputer sendiri dan data contoh.
Kita belajar apa?
Nmap adalah alat untuk melihat apakah sebuah port menerima sambungan. Port terbuka belum berarti ada kelemahan keamanan. Kita hanya memeriksa satu port milik sendiri.
Bayangkan seperti ini
Pintu terbuka memberi tahu pintu bisa dilewati, bukan membuktikan isi ruangan rusak.
Arti kata yang mungkin baru
- server
- program yang menerima permintaan lalu memberi jawaban
- port
- nomor layanan pada sebuah alamat komputer
Persiapan
Siapkan catatan dan baca panduan perangkat. Pakai data buatan, bukan data pribadi. Baca satu langkah, kerjakan, lalu periksa hasilnya sebelum melanjutkan.
Jalankan lab hanya jika langkah latihan memintanya. Untuk lab dasar: python server_aman.py, lalu buka http://127.0.0.1:8000/. Untuk latihan menggambar atau membaca file, server tidak diperlukan.
Langkah latihan
- Pasang Nmap dari nmap.org dan periksa nmap --version.
- Jalankan server aman seperti F10.
- Ketik nmap -sT -p 8000 127.0.0.1.
- Catat apakah tertulis open.
- Hentikan server dan ulangi perintah. Jangan mengganti target ke jaringan sekolah atau orang lain.
Hasil yang diharapkan
Biasanya muncul open saat server hidup dan closed setelah mati. Jika berbeda, catat hasil asli dan periksa kondisi perangkat.
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
Filtered atau timeout tidak membuktikan server mati. Pastikan target tepat dan jangan menonaktifkan firewall sistem untuk memaksa hasil.
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
Apakah port open membuktikan kerentanan?
Buka pembahasan
Tidak; hanya menunjukkan layanan menerima koneksi.
Tantangan mandiri
Jelaskan mengapa label http-alt tidak memastikan aplikasi tertentu.
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
Batasi pemindaian pada scope dan gunakan pemeriksaan layanan aplikasi untuk konfirmasi.
Referensi
F15 / BELAJAR DAN MENCOBA
HTTP dan akun
30–50 menit · Prasyarat: F14
Masih dalam pengembangan. Belajar pelan-pelan. Gunakan komputer sendiri dan data contoh.
Kita belajar apa?
Browser dan server saling bertukar pesan dengan HTTP. HTTPS menambah perlindungan saat pesan lewat jaringan. Akun tetap perlu password yang berbeda-beda dan perlindungan tambahan seperti MFA.
Bayangkan seperti ini
Amplop melindungi surat di perjalanan, tetapi isi surat masih bisa salah. HTTPS juga tidak membuat semua isi aplikasi otomatis aman.
Arti kata yang mungkin baru
- server
- program yang menerima permintaan lalu memberi jawaban
- browser
- aplikasi untuk membuka website
- request
- pesan permintaan dari browser atau alat
- HTTP
- aturan bertukar pesan antara klien dan server web
Persiapan
Siapkan catatan dan baca panduan perangkat. Pakai data buatan, bukan data pribadi. Baca satu langkah, kerjakan, lalu periksa hasilnya sebelum melanjutkan.
Jalankan lab hanya jika langkah latihan memintanya. Untuk lab dasar: python server_aman.py, lalu buka http://127.0.0.1:8000/. Untuk latihan menggambar atau membaca file, server tidak diperlukan.
Langkah latihan
- Jalankan lab aman dan buka /health.
- Buka alat pengembang browser, lalu tab Network.
- Muat ulang dan cari request /health.
- Catat GET, angka 200, dan tulisan status ok.
- Tulis dua kebiasaan akun aman tanpa menulis password sungguhan.
Hasil yang diharapkan
Kamu melihat satu pertukaran pesan web dan bisa membedakan keamanan sambungan dari keamanan akun.
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
Jangan menginstal sertifikat proxy untuk akun pribadi. Latihan loopback HTTP tidak memerlukan sertifikat.
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
Apakah HTTP mengenkripsi lalu lintas?
Buka pembahasan
Tidak; HTTPS menambahkan TLS.
Tantangan mandiri
Mengapa situs HTTPS masih mungkin memiliki IDOR?
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
Gunakan HTTPS pada publik, password manager, MFA, serta validasi hak akses di server.
Referensi
F16 / BELAJAR DAN MENCOBA
Bukti praktik
30–50 menit · Prasyarat: F15
Masih dalam pengembangan. Belajar pelan-pelan. Gunakan komputer sendiri dan data contoh.
Kita belajar apa?
Bukti latihan adalah catatan tentang apa yang benar-benar kamu lakukan. Jangan menyalin hasil contoh lalu mengaku itu hasil perangkatmu. Catatan yang baik membuat orang lain dapat mengikuti langkah yang sama.
Bayangkan seperti ini
Seperti laporan praktikum IPA: tulis percobaan dan hasil pengamatan, bukan hanya kesimpulan.
Arti kata yang mungkin baru
- localhost
- komputer atau perangkat yang sedang kamu pakai sendiri
- request
- pesan permintaan dari browser atau alat
Persiapan
Siapkan catatan dan baca panduan perangkat. Pakai data buatan, bukan data pribadi. Baca satu langkah, kerjakan, lalu periksa hasilnya sebelum melanjutkan.
Pelajaran ini tidak meminta kamu menjalankan server lab. Siapkan aplikasi atau file yang disebut pada langkah latihan di bawah.
Langkah latihan
- Unduh template laporan dari Perlengkapan.
- Isi tanggal, target localhost, dan nama lab.
- Lakukan satu request /health.
- Tulis hasil yang kamu harapkan dan hasil yang benar-benar terlihat.
- Hilangkan nama akun, password, dan data pribadi dari bukti.
Hasil yang diharapkan
Ada catatan yang membedakan contoh hasil dan hasil pengamatan sendiri.
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 hasil berbeda dari contoh, tulis apa adanya. Jangan menyalin output harapan sebagai bukti aktual.
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
Bolehkah token disertakan sebagai bukti publik?
Buka pembahasan
Tidak; rahasiakan atau sensor.
Tantangan mandiri
Buat nama bukti F16-health-01.txt dan hubungkan dari laporan.
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
Minimalkan bukti, batasi akses laporan, dan tetapkan jadwal penghapusan.
Referensi
F17 / BELAJAR DAN MENCOBA
CVE dan verifikasi
30–50 menit · Prasyarat: F16
Masih dalam pengembangan. Belajar pelan-pelan. Gunakan komputer sendiri dan data contoh.
Kita belajar apa?
CVE adalah nomor pengenal untuk masalah keamanan yang dipublikasikan. Menemukan nama program dalam sebuah CVE belum membuktikan semua versi program itu bermasalah. Kita perlu membaca versi dan syaratnya.
Bayangkan seperti ini
Seperti pengumuman penarikan produk: harus cocok jenis dan nomor produksinya, bukan hanya mereknya.
Persiapan
Siapkan catatan dan baca panduan perangkat. Pakai data buatan, bukan data pribadi. Baca satu langkah, kerjakan, lalu periksa hasilnya sebelum melanjutkan.
Pelajaran ini tidak meminta kamu menjalankan server lab. Siapkan aplikasi atau file yang disebut pada langkah latihan di bawah.
Langkah latihan
- Buka cve.org melalui katalog tools.
- Pilih satu catatan CVE untuk dibaca, tanpa menjalankan contoh serangan.
- Cari nama produk dan versi yang disebut.
- Ikuti tautan penjelasan dari pembuat produk jika tersedia.
- Tulis apa yang diketahui dan bagian yang masih perlu dicari.
Hasil yang diharapkan
Kamu membuat ringkasan berdasarkan sumber, bukan menebak bahwa perangkat tertentu pasti rentan.
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 versi perbaikan tidak ditemukan, tulis belum diketahui. Jangan mengarang nomor patch.
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
Apakah kecocokan nama produk cukup?
Buka pembahasan
Tidak; cocokkan versi, konfigurasi, dan prasyarat.
Tantangan mandiri
Bedakan identitas CVE, tingkat keparahan teknis, dan prioritas perbaikan organisasi.
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
Inventaris komponen dan verifikasi pembaruan dengan advisory resmi.
Referensi
F18 / LATIHAN MENYUSUN HASIL
Laporan keamanan
30–50 menit · Prasyarat: F17
Masih dalam pengembangan. Belajar pelan-pelan. Gunakan komputer sendiri dan data contoh.
Kita belajar apa?
Laporan keamanan menjelaskan masalah, bukti, akibat, dan cara memperbaikinya. Gunakan kalimat yang bisa diperiksa. Jangan melebih-lebihkan akibat yang tidak kamu buktikan.
Bayangkan seperti ini
Seperti melaporkan kursi kelas yang rusak: sebut kursi mana, bagian mana, dan apa yang perlu diperbaiki.
Persiapan
Siapkan catatan dan baca panduan perangkat. Pakai data buatan, bukan data pribadi. Baca satu langkah, kerjakan, lalu periksa hasilnya sebelum melanjutkan.
Pelajaran ini tidak meminta kamu menjalankan server lab. Siapkan aplikasi atau file yang disebut pada langkah latihan di bawah.
Langkah latihan
- Buka template laporan.
- Isi target dan izin latihan.
- Tulis langkah berurutan serta hasil sebenarnya.
- Jelaskan akibat yang terlihat pada data lab saja.
- Tambahkan cara memeriksa ulang setelah diperbaiki.
Hasil yang diharapkan
Laporan dapat dibaca orang lain tanpa harus menebak apa yang kamu lakukan.
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 reproduksi gagal, catat versi dan kondisi. Jangan menaikkan severity agar terlihat penting.
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 tujuan langkah reproduksi?
Buka pembahasan
Memungkinkan pemeriksa memverifikasi temuan.
Tantangan mandiri
Ubah kalimat “server berbahaya” menjadi temuan spesifik yang dapat diperiksa.
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
Gunakan kanal pelaporan yang disepakati dan jangan mempublikasikan detail target tanpa izin.
Referensi
F19 / BELAJAR DAN MENCOBA
Mini-lab HTTP
30–50 menit · Prasyarat: F18
Masih dalam pengembangan. Belajar pelan-pelan. Gunakan komputer sendiri dan data contoh.
Kita belajar apa?
Kita akan membandingkan tiga keadaan: server menjawab normal, halaman tidak ada, dan server mati. Ketiganya berbeda. Angka 404 berarti server menjawab tetapi tidak menemukan halaman yang diminta.
Bayangkan seperti ini
Penjaga menjawab “ruangan tidak ada” berbeda dengan tidak ada orang yang menjawab sama sekali.
Arti kata yang mungkin baru
- server
- program yang menerima permintaan lalu memberi jawaban
Persiapan
Siapkan catatan dan baca panduan perangkat. Pakai data buatan, bukan data pribadi. Baca satu langkah, kerjakan, lalu periksa hasilnya sebelum melanjutkan.
Jalankan lab hanya jika langkah latihan memintanya. Untuk lab dasar: python server_aman.py, lalu buka http://127.0.0.1:8000/. Untuk latihan menggambar atau membaca file, server tidak diperlukan.
Langkah latihan
- Jalankan server_aman.py.
- Buka /health dan catat 200 serta status ok.
- Buka /tidak-ada dan catat 404.
- Hentikan server dengan Ctrl+C.
- Buka lagi /health dan catat pesan gagal sambung.
Hasil yang diharapkan
Kamu memiliki tabel tiga keadaan dan penjelasan perbedaannya.
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 curl tidak tersedia, DevTools cukup. Jika port sedang dipakai, cek apakah proses berasal dari lab Anda.
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
Mengapa menguji server setelah dihentikan?
Buka pembahasan
Untuk membedakan respons aplikasi dan kegagalan koneksi.
Tantangan mandiri
Tuliskan apa yang belum dibuktikan oleh endpoint health yang sukses.
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
Health check harus cukup informatif untuk operasi tanpa membocorkan rahasia internal.
Referensi
F20 / LATIHAN MENYUSUN HASIL
Proyek akhir Fundamental
30–50 menit · Prasyarat: F19
Masih dalam pengembangan. Belajar pelan-pelan. Gunakan komputer sendiri dan data contoh.
Kita belajar apa?
Proyek ini menggabungkan hal-hal yang sudah dipelajari. Tidak perlu melakukan serangan baru. Tujuannya menunjukkan bahwa kamu bisa bekerja sesuai izin dan menjelaskan hasil sendiri.
Bayangkan seperti ini
Seperti tugas akhir satu bab: gabungkan latihan kecil menjadi satu laporan yang rapi.
Arti kata yang mungkin baru
- localhost
- komputer atau perangkat yang sedang kamu pakai sendiri
- server
- program yang menerima permintaan lalu memberi jawaban
- browser
- aplikasi untuk membuka website
- scope
- batas target, cara, dan waktu yang boleh diuji
- port
- nomor layanan pada sebuah alamat komputer
Persiapan
Siapkan catatan dan baca panduan perangkat. Pakai data buatan, bukan data pribadi. Baca satu langkah, kerjakan, lalu periksa hasilnya sebelum melanjutkan.
Pelajaran ini tidak meminta kamu menjalankan server lab. Siapkan aplikasi atau file yang disebut pada langkah latihan di bawah.
Langkah latihan
- Buat laporan baru dan tulis scope localhost.
- Tambahkan gambar browser, komputer sendiri, dan server.
- Lampirkan pengamatan HTTP serta satu port Nmap.
- Jalankan ulang percobaan dari awal untuk memeriksa hasil.
- Nilai lima bagian memakai rubrik. Masing-masing 0–2, target 8 dari 10.
Hasil yang diharapkan
Lima bagian dinilai dari bukti. Nilai ini untuk belajar mandiri, bukan sertifikat.
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 Nmap tidak dapat dipasang, tandai komponen belum dinilai; jangan mengklaim nilai penuh.
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
Apakah menyelesaikan draf berarti kompeten untuk semua target?
Buka pembahasan
Tidak; keterampilan perlu praktik dan validasi lebih lanjut.
Tantangan mandiri
Presentasikan laporan dalam tiga menit dan jawab apa batas kesimpulannya.
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
Ulangi bagian yang lemah sebelum masuk Web. Simpan bukti dan jadwalkan penghapusan.
Referensi
WEB01 / BELAJAR DAN MENCOBA
Browser dan server
30–50 menit · Prasyarat: F20
Masih dalam pengembangan. Belajar pelan-pelan. Gunakan komputer sendiri dan data contoh.
Kita belajar apa?
Browser adalah aplikasi pembuka website. Server adalah program yang menjawab permintaan browser. Browser bisa menampilkan hasilnya menjadi tulisan, tombol, dan gambar. Keduanya bisa berada di komputer yang sama.
Bayangkan seperti ini
Seperti memesan makanan: browser mengirim pesanan dan server menyiapkan jawaban.
Arti kata yang mungkin baru
- server
- program yang menerima permintaan lalu memberi jawaban
- browser
- aplikasi untuk membuka website
- HTTP
- aturan bertukar pesan antara klien dan server web
Persiapan
Siapkan catatan dan baca panduan perangkat. Pakai data buatan, bukan data pribadi. Baca satu langkah, kerjakan, lalu periksa hasilnya sebelum melanjutkan.
Jalankan lab hanya jika langkah latihan memintanya. Untuk lab dasar: python server_aman.py, lalu buka http://127.0.0.1:8000/. Untuk latihan menggambar atau membaca file, server tidak diperlukan.
Langkah latihan
- Jalankan server aman.
- Buka http://127.0.0.1:8000/.
- Lihat sumber halaman dengan View Source dari menu browser.
- Lihat tampilan biasa dan bandingkan dengan tulisan HTML.
- Gambar alur browser meminta, server menjawab, browser menampilkan.
Hasil yang diharapkan
Kamu dapat menjelaskan alur website dengan tiga langkah.
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 Elements tidak tersedia pada ponsel, gunakan desktop untuk praktik ini; bacaan tetap bisa diakses ponsel.
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
Apakah browser dan server harus pada komputer berbeda?
Buka pembahasan
Tidak; keduanya dapat berjalan lokal.
Tantangan mandiri
Bedakan respons jaringan dengan DOM hasil modifikasi.
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
Jangan percaya kontrol browser sebagai kontrol akses server.
Referensi
WEB02 / BELAJAR DAN MENCOBA
HTML, CSS, JavaScript
30–50 menit · Prasyarat: WEB01
Masih dalam pengembangan. Belajar pelan-pelan. Gunakan komputer sendiri dan data contoh.
Kita belajar apa?
HTML mengatur isi dan susunan halaman. CSS mengatur tampilannya. JavaScript membuat halaman merespons tindakan, misalnya tombol ditekan. File yang dikirim ke browser dapat dibaca pengguna.
Bayangkan seperti ini
HTML seperti susunan rumah, CSS seperti cat dan dekorasi, JavaScript seperti tombol yang menyalakan lampu.
Arti kata yang mungkin baru
- browser
- aplikasi untuk membuka website
Persiapan
Siapkan catatan dan baca panduan perangkat. Pakai data buatan, bukan data pribadi. Baca satu langkah, kerjakan, lalu periksa hasilnya sebelum melanjutkan.
Pelajaran ini tidak meminta kamu menjalankan server lab. Siapkan aplikasi atau file yang disebut pada langkah latihan di bawah.
Langkah latihan
- Buat folder latihan baru.
- Salin contoh halaman di bawah ke file latihan.html.
- Buka file itu dengan browser.
- Tekan tombol Ubah teks dan perhatikan tulisan.
- Ubah satu tulisan pada file, simpan, lalu muat ulang browser.
Hasil yang diharapkan
Kamu melihat perbedaan mengubah file dan menekan tombol pada halaman.
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 tidak berubah, pastikan membuka folder salinan dan reload tanpa cache. Jangan ubah paket publik asli tanpa backup.
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 peran CSS?
Buka pembahasan
Mengatur presentasi halaman.
Tantangan mandiri
Buat tombol sederhana dengan event listener yang mengganti teks lewat textContent.
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
Simpan secret hanya di layanan yang sesuai; website statis ini tidak memerlukannya.
Referensi
WEB03 / BELAJAR DAN MENCOBA
URL dan origin
30–50 menit · Prasyarat: WEB02
Masih dalam pengembangan. Belajar pelan-pelan. Gunakan komputer sendiri dan data contoh.
Kita belajar apa?
URL adalah alamat halaman. Bagian awal menunjukkan jenis sambungan, lalu alamat komputer, nomor port, dan nama halaman. Tanda tanya memulai parameter tambahan. Bagian setelah # dipakai browser untuk menuju bagian halaman.
Bayangkan seperti ini
Seperti alamat yang berisi kota, jalan, nomor rumah, dan petunjuk tambahan.
Arti kata yang mungkin baru
- browser
- aplikasi untuk membuka website
- request
- pesan permintaan dari browser atau alat
- parameter
- nama dan nilai tambahan pada permintaan, seperti id=1
- port
- nomor layanan pada sebuah alamat komputer
- HTTP
- aturan bertukar pesan antara klien dan server web
Persiapan
Siapkan catatan dan baca panduan perangkat. Pakai data buatan, bukan data pribadi. Baca satu langkah, kerjakan, lalu periksa hasilnya sebelum melanjutkan.
Jalankan lab hanya jika langkah latihan memintanya. Untuk lab dasar: python server_aman.py, lalu buka http://127.0.0.1:8000/. Untuk latihan menggambar atau membaca file, server tidak diperlukan.
Langkah latihan
- Tulis http://127.0.0.1:8000/health?demo=1#bagian.
- Tandai http, 127.0.0.1, 8000, /health, dan demo=1.
- Buka alamat itu saat lab hidup.
- Di Network, lihat bahwa #bagian tidak ikut dikirim pada request.
- Bandingkan port 8000 dan 8765 sebagai dua tujuan layanan berbeda.
Hasil yang diharapkan
Kamu dapat memecah sebuah URL menjadi bagian-bagian kecil.
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
Browser bisa menampilkan URL yang sudah didekodekan. Gunakan detail request, bukan hanya address bar.
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
Apakah port termasuk identitas origin?
Buka pembahasan
Ya; origin terdiri atas scheme, host, dan port.
Tantangan mandiri
Apakah /a dan /b pada host/port yang sama berbeda origin? Jelaskan.
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
Validasi tujuan URL dengan parser yang sesuai, bukan pencocokan substring.
Referensi
WEB04 / BELAJAR DAN MENCOBA
Request dan response
30–50 menit · Prasyarat: WEB03
Masih dalam pengembangan. Belajar pelan-pelan. Gunakan komputer sendiri dan data contoh.
Kita belajar apa?
Request adalah pesan permintaan. Response adalah jawabannya. GET berarti meminta data. Angka 200 biasanya menunjukkan permintaan berhasil diproses; angka 404 menunjukkan halaman yang dicari tidak ditemukan. Isi jawabannya tetap perlu dibaca.
Bayangkan seperti ini
Seperti bertanya kepada penjaga perpustakaan lalu menerima jawabannya.
Arti kata yang mungkin baru
- browser
- aplikasi untuk membuka website
- request
- pesan permintaan dari browser atau alat
- response
- pesan jawaban dari server
- DevTools
- alat bawaan browser untuk melihat halaman dan pesan jaringan
Persiapan
Siapkan catatan dan baca panduan perangkat. Pakai data buatan, bukan data pribadi. Baca satu langkah, kerjakan, lalu periksa hasilnya sebelum melanjutkan.
Jalankan lab hanya jika langkah latihan memintanya. Untuk lab dasar: python server_aman.py, lalu buka http://127.0.0.1:8000/. Untuk latihan menggambar atau membaca file, server tidak diperlukan.
Langkah latihan
- Buka DevTools lewat menu browser, lalu Network.
- Muat /health.
- Klik request itu dan lihat method, status, dan isi jawaban.
- Ulangi dengan /tidak-ada.
- Tulis beda 200 dan 404 pada lab.
Hasil yang diharapkan
Kamu membaca permintaan dan jawaban, bukan hanya melihat tampilan halaman.
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 log kosong, buka DevTools sebelum reload. Gunakan tab Network bukan Console untuk body HTTP.
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
Apakah 404 berarti jaringan terputus?
Buka pembahasan
Tidak; server menjawab bahwa sumber tidak ditemukan.
Tantangan mandiri
Mengapa kode 200 saja tidak cukup sebagai uji fungsi?
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
Gunakan status dan format respons yang konsisten, serta error tanpa detail internal.
Referensi
WEB05 / BELAJAR DAN MENCOBA
Arsitektur dan batas percaya
30–50 menit · Prasyarat: WEB04
Masih dalam pengembangan. Belajar pelan-pelan. Gunakan komputer sendiri dan data contoh.
Kita belajar apa?
Data dari browser bisa diubah oleh pengguna. Karena itu, aplikasi yang menyimpan data perlu memeriksa aturan di server. Menyembunyikan tombol tidak cukup untuk menjaga data.
Bayangkan seperti ini
Pintu ruang guru tetap perlu dikunci meskipun papan petunjuk menuju ruang itu disembunyikan.
Arti kata yang mungkin baru
- server
- program yang menerima permintaan lalu memberi jawaban
- browser
- aplikasi untuk membuka website
Persiapan
Siapkan catatan dan baca panduan perangkat. Pakai data buatan, bukan data pribadi. Baca satu langkah, kerjakan, lalu periksa hasilnya sebelum melanjutkan.
Pelajaran ini tidak meminta kamu menjalankan server lab. Siapkan aplikasi atau file yang disebut pada langkah latihan di bawah.
Langkah latihan
- Gambar browser, server, dan tempat penyimpanan data.
- Tandai bagian yang dikendalikan pengguna, yaitu browser.
- Tulis bahwa identitas dan hak akses harus diperiksa server.
- Bandingkan dengan CyberKit publik yang hanya mengirim file bacaan.
- Tulis alasan tombol tersembunyi bukan pengganti pemeriksaan server.
Hasil yang diharapkan
Kamu tahu bagian yang boleh dipercaya dan bagian yang harus diperiksa lagi.
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
Diagram bersifat model; jangan menganggap semua website memakai arsitektur identik.
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
Bisakah validasi JavaScript menggantikan validasi server?
Buka pembahasan
Tidak; klien dapat dimodifikasi.
Tantangan mandiri
Mengapa tombol admin yang disembunyikan bukan batas keamanan?
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
Validasi input, autentikasi, dan otorisasi dilakukan pada komponen yang dipercaya.
Referensi
WEB06 / BELAJAR DAN MENCOBA
DevTools untuk observasi
30–50 menit · Prasyarat: WEB05
Masih dalam pengembangan. Belajar pelan-pelan. Gunakan komputer sendiri dan data contoh.
Kita belajar apa?
DevTools adalah alat bawaan browser untuk melihat halaman dan pesan jaringan. Mengubah tampilan melalui alat ini biasanya hanya mengubah browsermu, bukan file di server. Jangan menempel kode asing ke Console.
Bayangkan seperti ini
Seperti membuka kaca penutup mesin agar bisa mengamati, bukan otomatis mengubah pabrik pembuatnya.
Arti kata yang mungkin baru
- server
- program yang menerima permintaan lalu memberi jawaban
- browser
- aplikasi untuk membuka website
- DevTools
- alat bawaan browser untuk melihat halaman dan pesan jaringan
Persiapan
Siapkan catatan dan baca panduan perangkat. Pakai data buatan, bukan data pribadi. Baca satu langkah, kerjakan, lalu periksa hasilnya sebelum melanjutkan.
Pelajaran ini tidak meminta kamu menjalankan server lab. Siapkan aplikasi atau file yang disebut pada langkah latihan di bawah.
Langkah latihan
- Buka CyberKit dan alat pengembang browser.
- Lihat Network untuk mencari style.css.
- Lihat Elements atau Inspector dan ubah satu tulisan sementara.
- Muat ulang halaman dan lihat tulisan kembali.
- Lihat penyimpanan progres hanya pada browser sendiri.
Hasil yang diharapkan
Kamu bisa membedakan file sumber, tampilan sementara, dan data yang disimpan browser.
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
Jangan paste skrip dari pihak lain atau menonaktifkan peringatan paste browser.
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
Apakah edit Elements mengubah file server?
Buka pembahasan
Tidak.
Tantangan mandiri
Bedakan perubahan file sumber, DOM, dan localStorage.
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
Gunakan profil latihan terpisah dan kosongkan data latihan bila selesai.
Referensi
WEB07 / BELAJAR DAN MENCOBA
Header HTTP
30–50 menit · Prasyarat: WEB06
Masih dalam pengembangan. Belajar pelan-pelan. Gunakan komputer sendiri dan data contoh.
Kita belajar apa?
Header adalah keterangan tambahan pada pesan HTTP. Content-Type memberi tahu jenis isi jawaban, misalnya JSON. Memasang header yang baik membantu browser, tetapi tidak memperbaiki semua kesalahan program.
Bayangkan seperti ini
Seperti label pada paket: label memberi petunjuk tentang isinya, tetapi tidak menjamin isi paket selalu benar.
Arti kata yang mungkin baru
- server
- program yang menerima permintaan lalu memberi jawaban
- browser
- aplikasi untuk membuka website
- request
- pesan permintaan dari browser atau alat
- header
- keterangan tambahan pada pesan HTTP
- HTTP
- aturan bertukar pesan antara klien dan server web
Persiapan
Siapkan catatan dan baca panduan perangkat. Pakai data buatan, bukan data pribadi. Baca satu langkah, kerjakan, lalu periksa hasilnya sebelum melanjutkan.
Jalankan lab hanya jika langkah latihan memintanya. Untuk lab dasar: python server_aman.py, lalu buka http://127.0.0.1:8000/. Untuk latihan menggambar atau membaca file, server tidak diperlukan.
Langkah latihan
- Jalankan server aman dan buka /health.
- Pada Network, pilih request /health.
- Cari Content-Type dan catat application/json.
- Cari Content-Length dan X-Content-Type-Options bila terlihat.
- Baca isi jawaban dan cocokkan dengan jenisnya.
Hasil yang diharapkan
Kamu dapat menyebut dua header dan kegunaannya dengan bahasa sendiri.
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 memeriksa website via file://, pindah ke lab HTTP agar header dapat diamati.
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 fungsi Content-Type?
Buka pembahasan
Menjelaskan format representasi respons.
Tantangan mandiri
Apa akibat data JSON dikirim dengan format atau tipe yang tidak sesuai?
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
Gunakan tipe konten benar dan kebijakan browser yang sesuai kebutuhan aplikasi.
Referensi
WEB08 / BELAJAR DAN MENCOBA
Cookie dan session
30–50 menit · Prasyarat: WEB07
Masih dalam pengembangan. Belajar pelan-pelan. Gunakan komputer sendiri dan data contoh.
Kita belajar apa?
Cookie dan localStorage sama-sama berhubungan dengan data browser, tetapi cara kerjanya berbeda. Cookie dapat ikut dikirim pada request yang sesuai. localStorage tidak otomatis dikirim. CyberKit menyimpan progres di localStorage, bukan akun server.
Bayangkan seperti ini
Catatan di saku tidak otomatis dibawa petugas ke kantor; ada aturan berbeda untuk mengirim dan menyimpan.
Arti kata yang mungkin baru
- server
- program yang menerima permintaan lalu memberi jawaban
- browser
- aplikasi untuk membuka website
- request
- pesan permintaan dari browser atau alat
Persiapan
Siapkan catatan dan baca panduan perangkat. Pakai data buatan, bukan data pribadi. Baca satu langkah, kerjakan, lalu periksa hasilnya sebelum melanjutkan.
Pelajaran ini tidak meminta kamu menjalankan server lab. Siapkan aplikasi atau file yang disebut pada langkah latihan di bawah.
Langkah latihan
- Tandai satu pelajaran selesai.
- Muat ulang dan periksa tandanya.
- Buka penyimpanan browser jika alatnya tersedia.
- Cari cyberkit-progress.
- Jelaskan mengapa progres di browser lain tidak otomatis sama.
Hasil yang diharapkan
Kamu memahami mengapa progres ini milik browser, bukan akun online.
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
Mode privat atau file:// bisa membatasi persistensi. Catat kegagalan penyimpanan, jangan klaim sinkronisasi.
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
Apakah localStorage otomatis dikirim pada setiap request?
Buka pembahasan
Tidak.
Tantangan mandiri
Jelaskan mengapa localStorage bukan tempat aman untuk secret jangka panjang.
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
Gunakan cookie session dengan atribut sesuai dan perlindungan CSRF pada aplikasi autentikasi.
Referensi
WEB09 / BELAJAR DAN MENCOBA
Proxy lokal: Burp atau ZAP
30–50 menit · Prasyarat: WEB08
Masih dalam pengembangan. Belajar pelan-pelan. Gunakan komputer sendiri dan data contoh.
Kita belajar apa?
Proxy latihan berada di tengah browser dan server agar pesan bisa diamati. Burp Community dan ZAP adalah pilihan alatnya. Cukup pilih satu. Latihan memakai HTTP localhost sehingga tidak perlu memasang sertifikat HTTPS.
Bayangkan seperti ini
Seperti meja pemeriksa yang memperlihatkan surat sebelum diteruskan.
Arti kata yang mungkin baru
- localhost
- komputer atau perangkat yang sedang kamu pakai sendiri
- server
- program yang menerima permintaan lalu memberi jawaban
- browser
- aplikasi untuk membuka website
- request
- pesan permintaan dari browser atau alat
- HTTP
- aturan bertukar pesan antara klien dan server web
Persiapan
Siapkan catatan dan baca panduan perangkat. Pakai data buatan, bukan data pribadi. Baca satu langkah, kerjakan, lalu periksa hasilnya sebelum melanjutkan.
Jalankan lab hanya jika langkah latihan memintanya. Untuk lab dasar: python server_aman.py, lalu buka http://127.0.0.1:8000/. Untuk latihan menggambar atau membaca file, server tidak diperlukan.
Langkah latihan
- Jalankan server aman.
- Buka Burp Community dan pilih proyek sementara.
- Gunakan Proxy lalu Open browser. Pastikan Intercept off agar pesan tidak tertahan.
- Pada browser bawaan, buka http://127.0.0.1:8000/health.
- Lihat HTTP history. Kirim satu request ke Repeater lalu Send untuk mengulanginya.
Hasil yang diharapkan
Pesan GET lokal dan jawabannya terlihat. Jangan memakai browser latihan untuk masuk akun pribadi.
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 tidak terlihat, pastikan memakai browser bawaan proxy. ZAP dapat memakai browser yang diluncurkan dari antarmukanya. Jangan jalankan active scan.
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
Mengapa browser khusus latihan?
Buka pembahasan
Menghindari tercampurnya trafik akun pribadi.
Tantangan mandiri
Ubah hanya path menjadi /tidak-ada di Repeater dan jelaskan 404.
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
Pisahkan profil latihan dari akun pribadi dan tutup proxy setelah selesai.
Referensi
WEB10 / LATIHAN MENYUSUN HASIL
Proyek observasi web
30–50 menit · Prasyarat: WEB09
Masih dalam pengembangan. Belajar pelan-pelan. Gunakan komputer sendiri dan data contoh.
Kita belajar apa?
Sebelum mengubah sesuatu, catat keadaan normalnya. Keadaan awal itu disebut baseline. Mengubah satu bagian saja membuat penyebab perubahan lebih mudah dipahami.
Bayangkan seperti ini
Seperti percobaan tanaman: jika air dan cahaya diubah bersamaan, penyebab hasilnya lebih sulit diketahui.
Arti kata yang mungkin baru
- server
- program yang menerima permintaan lalu memberi jawaban
- baseline
- keadaan normal sebelum percobaan diubah
Persiapan
Siapkan catatan dan baca panduan perangkat. Pakai data buatan, bukan data pribadi. Baca satu langkah, kerjakan, lalu periksa hasilnya sebelum melanjutkan.
Jalankan lab hanya jika langkah latihan memintanya. Untuk lab dasar: python server_aman.py, lalu buka http://127.0.0.1:8000/. Untuk latihan menggambar atau membaca file, server tidak diperlukan.
Langkah latihan
- Jalankan server aman.
- Catat GET /health dan hasil 200.
- Ubah hanya nama halaman menjadi /tidak-ada.
- Catat 404.
- Kembali ke /health dan pastikan 200 lagi.
Hasil yang diharapkan
Kamu memiliki catatan awal, satu perubahan, dan pemeriksaan kembali.
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 respons berbeda, periksa proses dan port. Jangan menyimpulkan bug dari satu error.
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
Apakah status 200 menjamin aplikasi aman?
Buka pembahasan
Tidak; itu hanya keberhasilan request menurut server.
Tantangan mandiri
Nilai sendiri scope, baseline, perubahan, pemulihan, dan laporan masing-masing 0–2.
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
Pertahankan cara uji satu variabel pada modul selanjutnya; nilai target minimal 8/10.
Referensi
WEB11 / BELAJAR DAN MENCOBA
Pemetaan permukaan lokal
30–50 menit · Prasyarat: WEB10
Masih dalam pengembangan. Belajar pelan-pelan. Gunakan komputer sendiri dan data contoh.
Kita belajar apa?
Sebelum menguji, kenali fitur yang memang termasuk tempat latihan. Kita tidak perlu menebak alamat website lain. Lab sudah memberi daftar fitur yang boleh dicoba.
Bayangkan seperti ini
Seperti membaca peta ruang praktikum sebelum mulai bekerja.
Arti kata yang mungkin baru
- parameter
- nama dan nilai tambahan pada permintaan, seperti id=1
- HTTP
- aturan bertukar pesan antara klien dan server web
- Python
- bahasa dan alat untuk menjalankan program contoh
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. Gunakan py atau python3 jika 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
/note atau 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
- Ekstrak ZIP lab di komputer sendiri.
- Jalankan python lab_web.py --enable-local-training.
- Buka http://127.0.0.1:8765/.
- Catat fitur /search, /echo, /note, /login, dan /api/profile.
- Tulis parameter yang terlihat pada masing-masing fitur.
Hasil yang diharapkan
Kamu memiliki peta lima fitur lab dan tetap bekerja pada localhost.
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 server menolak start tanpa flag, tambahkan flag tepat; flag adalah persetujuan sadar menjalankan lab rentan lokal.
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
Apakah menemukan link ke host lain otomatis menambah scope?
Buka pembahasan
Tidak. Scope tetap dokumen izin; link tidak memberi hak menguji tujuan lain.
Tantangan mandiri
Pilih fitur paling sensitif dan jelaskan alasannya.
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
Inventaris endpoint dan pemilik kontrol membantu merencanakan pengujian serta perbaikan.
Referensi
WEB12 / BELAJAR DAN MENCOBA
Baseline dan pengujian terkontrol
30–50 menit · Prasyarat: WEB11
Masih dalam pengembangan. Belajar pelan-pelan. Gunakan komputer sendiri dan data contoh.
Kita belajar apa?
Kita perlu tahu perbedaan hasil normal dan hasil yang tidak cocok. Daftar kosong tidak selalu berarti error. Pada pencarian, daftar kosong bisa berarti barang memang tidak ditemukan.
Bayangkan seperti ini
Mencari buku yang tidak ada di perpustakaan berbeda dengan perpustakaannya tutup.
Arti kata yang mungkin baru
- fixed
- mode lab yang memperbaiki kesalahan contoh
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. Gunakan py atau python3 jika 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
/note atau 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 /search?mode=fixed&q=apel pada lab 8765.
- Catat satu barang bernama apel.
- Ganti q menjadi zzzlatihan.
- Catat daftar kosong.
- Kembalikan q=apel dan pastikan hasil normal muncul lagi.
Hasil yang diharapkan
Kamu tahu bahwa hasil kosong dapat merupakan jawaban yang benar.
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
Jangan membandingkan mode berbeda sebagai satu variabel. Query bisa di-encode browser secara otomatis.
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
Mengapa mengembalikan input baseline setelah percobaan penting?
Buka pembahasan
Untuk memastikan layanan tetap berperilaku normal dan perubahan hasil bukan akibat kondisi proses lain.
Tantangan mandiri
Mengapa status 200 pada daftar kosong bukan kegagalan kontrol?
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
Buat pengujian regresi untuk input normal, tidak cocok, dan karakter khusus.
Referensi
WEB13 / BELAJAR DAN MENCOBA
curl dan reproduksi request
30–50 menit · Prasyarat: WEB12
Masih dalam pengembangan. Belajar pelan-pelan. Gunakan komputer sendiri dan data contoh.
Kita belajar apa?
curl adalah alat untuk meminta halaman lewat terminal. Ini membantu menulis langkah yang bisa diulang. URL yang mempunyai tanda khusus perlu diberi tanda kutip.
Bayangkan seperti ini
Seperti mengirim pesanan tertulis yang sama berulang kali agar mudah dibandingkan.
Arti kata yang mungkin baru
- browser
- aplikasi untuk membuka website
- HTTP
- aturan bertukar pesan antara klien dan server web
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. Gunakan py atau python3 jika 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
/note atau 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
- Pastikan lab 8765 hidup.
- Windows: ketik curl.exe -i "http://127.0.0.1:8765/health". Linux: gunakan curl dengan bagian lain sama.
- Baca baris status dan isi jawaban.
- Bandingkan dengan /health di browser.
- Jika curl tidak tersedia, gunakan Network pada browser dan catat alat yang dipakai.
Hasil yang diharapkan
Isi health sama-sama menunjukkan status ok, meskipun tampilan terminal berbeda dari browser.
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 curl tidak ada, gunakan browser/DevTools. Jangan memasang paket acak untuk satu langkah.
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
Mengapa memakai --data-urlencode untuk query yang mengandung spasi?
Buka pembahasan
Agar nilai dikirim sebagai komponen parameter dengan encoding yang tepat; shell dan HTTP mempunyai aturan berbeda.
Tantangan mandiri
Buat request dengan q=dua kata memakai --data-urlencode dan jelaskan encoding.
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
Simpan contoh request minimal dan sensor header autentikasi pada laporan.
Referensi
WEB14 / BELAJAR DAN MENCOBA
Validasi input dan batas data
30–50 menit · Prasyarat: WEB13
Masih dalam pengembangan. Belajar pelan-pelan. Gunakan komputer sendiri dan data contoh.
Kita belajar apa?
Program perlu memeriksa bentuk data yang masuk. Nomor objek seharusnya berupa angka. Angka yang benar bentuknya belum tentu menunjuk objek yang ada atau boleh diakses.
Bayangkan seperti ini
Nomor kelas harus masuk akal, tetapi nomor yang benar belum memberi izin masuk kelas orang lain.
Arti kata yang mungkin baru
- fixed
- mode lab yang memperbaiki kesalahan contoh
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. Gunakan py atau python3 jika 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
/note atau 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 /api/profile?mode=fixed&id=1.
- Coba id=abc untuk bentuk yang salah.
- Coba id=999 untuk objek yang tidak ada.
- Catat status dan pesan setiap percobaan.
- Buat tiga baris: benar, salah bentuk, tidak ditemukan.
Hasil yang diharapkan
Kamu membedakan bentuk input, keberadaan objek, dan izin akses.
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
Jangan menyimpulkan semua aplikasi harus memakai kode status persis sama; yang dinilai adalah kontrak dan kontrol lab.
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 beda validasi input dengan parameterisasi SQL?
Buka pembahasan
Validasi memeriksa nilai yang boleh diterima; parameterisasi memisahkan nilai dari struktur SQL pada sink. Keduanya mempunyai tujuan berbeda.
Tantangan mandiri
Mengapa filter input saja tidak menggantikan parameter SQL?
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
Terapkan batas panjang, tipe dan nilai yang masuk akal disertai kontrol pada sink.
Referensi
WEB15 / BELAJAR DAN MENCOBA
Catatan dan reproduksibilitas tools
30–50 menit · Prasyarat: WEB14
Masih dalam pengembangan. Belajar pelan-pelan. Gunakan komputer sendiri dan data contoh.
Kita belajar apa?
Nama alat, versi, dan kondisi percobaan membantu orang lain mengulangi hasil. Pesan peringatan dari alat adalah petunjuk untuk diperiksa, bukan otomatis bukti masalah.
Bayangkan seperti ini
Hasil pengukuran lebih berguna jika kita tahu alat dan cara mengukurnya.
Arti kata yang mungkin baru
- browser
- aplikasi untuk membuka website
- proxy
- perantara untuk mengamati pesan antara browser dan server
- Python
- bahasa dan alat untuk menjalankan program contoh
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. Gunakan py atau python3 jika 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
/note atau 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
- Catat versi Python dan browser.
- Minta /health lewat browser.
- Ulangi lewat curl atau proxy bila tersedia.
- Bandingkan alamat dan isi jawabannya.
- Tulis alat mana yang benar-benar berhasil kamu gunakan.
Hasil yang diharapkan
Laporan menyebut alat dan hasil nyata, bukan hanya menyalin peringatan alat.
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 proxy mengubah hasil, ulangi tanpa proxy dan catat kedua kondisi; jangan menutupinya.
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
Apakah alert otomatis dari alat sudah cukup menjadi temuan?
Buka pembahasan
Belum. Konfirmasikan request, respons, kondisi, dampak dan batas pengujian.
Tantangan mandiri
Buat checklist sebelum mengakui alert sebagai temuan.
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
Pertahankan versi lab dan request minimal, serta lakukan retest dari proses bersih.
Referensi
WEB16 / BELAJAR DAN MENCOBA
SQL Injection: akar masalah
30–50 menit · Prasyarat: WEB15
Masih dalam pengembangan. Belajar pelan-pelan. Gunakan komputer sendiri dan data contoh.
Kita belajar apa?
SQL dipakai untuk meminta data dari database. SQL injection terjadi jika tulisan pengguna bercampur dengan perintah SQL. Pada lab, mode vulnerable sengaja salah, sedangkan fixed memakai cara pemisahan data yang lebih tepat.
Bayangkan seperti ini
Seperti petugas salah mengira catatan pelanggan sebagai perintah dari pengelola toko.
Arti kata yang mungkin baru
- fixed
- mode lab yang memperbaiki kesalahan contoh
- vulnerable
- mode lab yang sengaja dibuat memiliki kesalahan untuk latihan
- database
- tempat program menyimpan dan mencari data secara teratur
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. Gunakan py atau python3 jika 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
/note atau 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
- Pastikan lab 8765 hidup.
- Buka /search dan pilih vulnerable.
- Cari apel sebagai percobaan normal.
- Cari satu tanda kutip biasa: '. Catat pesan yang muncul.
- Pilih fixed, kirim tanda kutip sama, dan bandingkan.
- Baca contoh fungsi search bersama penjelasan perbaikannya.
Hasil yang diharapkan
Vulnerable memberi error pada kutip tunggal; fixed menganggapnya sebagai teks pencarian. Error saja bukan bukti untuk target lain.
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
Error tunggal belum membuktikan SQLi tanpa kode atau kontrol tambahan. Lab menyediakan sumber untuk mengonfirmasi akar masalah.
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
Mengapa kutip tunggal menyebabkan error pada vulnerable tetapi bukan fixed?
Buka pembahasan
Konkatenasi membuat kutip menjadi bagian sintaks SQL. Placeholder pada fixed memperlakukannya sebagai nilai data.
Tantangan mandiri
Tandai bagian kode yang merupakan struktur SQL dan bagian nilai pengguna.
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
Gunakan parameter query untuk nilai; nama tabel/kolom dinamis perlu pemetaan pilihan milik aplikasi.
Referensi
WEB17 / BELAJAR DAN MENCOBA
SQLi: bukti minimal dan retest
30–50 menit · Prasyarat: WEB16
Masih dalam pengembangan. Belajar pelan-pelan. Gunakan komputer sendiri dan data contoh.
Kita belajar apa?
Kita akan melihat kesalahan pencarian pada tiga barang buatan dalam lab. Tujuannya membuktikan perbedaan cara program membaca input, bukan mengambil data orang lain.
Bayangkan seperti ini
Tulisan yang seharusnya menjadi kata pencarian malah mengubah aturan pencariannya.
Arti kata yang mungkin baru
- fixed
- mode lab yang memperbaiki kesalahan contoh
- vulnerable
- mode lab yang sengaja dibuat memiliki kesalahan untuk latihan
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. Gunakan py atau python3 jika 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
/note atau 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
- Di /search vulnerable cari apel dan catat satu hasil.
- Isi kotak q dengan: ' OR 1=1 -- lalu kirim.
- Catat tiga barang buatan yang muncul.
- Ganti mode ke fixed dan kirim input sama.
- Cari apel lagi pada fixed untuk memastikan pencarian normal tetap bekerja.
Hasil yang diharapkan
Input contoh membuat vulnerable menampilkan tiga barang. Pada fixed input itu tidak menemukan barang, sedangkan apel tetap bisa dicari.
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 hasil tidak sesuai, periksa tanda kutip ASCII dan mode. Jangan mencoba payload lanjutan atau target lain.
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 bukti minimal perubahan logika pada pencarian lab?
Buka pembahasan
Input apel memberi satu hasil; kondisi selalu benar pada vulnerable memberi tiga produk; string sama pada fixed memberi daftar kosong, sementara apel tetap bekerja.
Tantangan mandiri
Susun temuan dengan baseline, perubahan, dampak lokal, akar masalah, dan retest.
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
Verifikasi parameterisasi tidak merusak pencarian normal maupun karakter khusus.
Referensi
WEB18 / BELAJAR DAN MENCOBA
XSS: teks menjadi markup
30–50 menit · Prasyarat: WEB17
Masih dalam pengembangan. Belajar pelan-pelan. Gunakan komputer sendiri dan data contoh.
Kita belajar apa?
Browser dapat membaca teks sebagai bagian HTML. Jika tulisan pengguna dimasukkan tanpa aturan yang tepat, pengguna dapat mengubah susunan halaman. Menampilkan tulisan sebagai teks biasa berbeda dari membacanya sebagai tag.
Bayangkan seperti ini
Tulisan “buat judul besar” pada buku tamu seharusnya tetap menjadi tulisan, bukan perintah mengubah papan sekolah.
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
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. Gunakan py atau python3 jika 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
/note atau 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 pada lab 8765.
- Pilih vulnerable dan kirim Halo.
- Kirim <b>latihan</b> dan lihat tulisan tebal.
- Pilih fixed dan kirim input sama.
- Bandingkan tampilan serta sumber halaman.
Hasil yang diharapkan
Vulnerable membentuk tulisan tebal. Fixed menampilkan tanda <b> sebagai teks. Ini menunjukkan perubahan HTML, bukan bukti skrip berjalan.
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
Markup tebal membuktikan HTML injection, belum eksekusi JavaScript. Pembuktian XSS dilakukan pada pelajaran berikutnya.
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
Apakah teks tebal dari input <b> sudah membuktikan JavaScript dieksekusi?
Buka pembahasan
Belum. Itu menunjukkan HTML injection; eksekusi skrip harus dibuktikan secara terpisah dan aman.
Tantangan mandiri
Jelaskan mengapa menghapus kata script tidak cukup.
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
Untuk teks HTML gunakan encoding konteks HTML atau textContent pada DOM.
Referensi
WEB19 / BELAJAR DAN MENCOBA
XSS: bukti lokal tanpa data sensitif
30–50 menit · Prasyarat: WEB18
Masih dalam pengembangan. Belajar pelan-pelan. Gunakan komputer sendiri dan data contoh.
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
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. Gunakan py atau python3 jika 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
/note atau 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.
Referensi
WEB20 / BELAJAR DAN MENCOBA
Review kode dan regresi injection
30–50 menit · Prasyarat: WEB19
Masih dalam pengembangan. Belajar pelan-pelan. Gunakan komputer sendiri dan data contoh.
Kita belajar apa?
Perbaikan harus menghentikan contoh yang salah tanpa merusak penggunaan biasa. Karena itu, kita menguji kedua jenis input. Tes otomatis membantu memeriksa hasil, tetapi bukan pengganti semua pengamatan browser.
Bayangkan seperti ini
Memperbaiki kunci bukan berarti menutup pintu dengan semen; pemilik rumah tetap harus bisa masuk.
Arti kata yang mungkin baru
- browser
- aplikasi untuk membuka website
- Python
- bahasa dan alat untuk menjalankan program contoh
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. Gunakan py atau python3 jika 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
/note atau 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 terminal di folder lab.
- Jalankan python test_lab.py.
- Baca hasil OK atau pesan kegagalan.
- Baca pengujian untuk pencarian normal dan input khusus.
- Ulangi satu percobaan melalui browser agar perbedaannya terlihat sendiri.
Hasil yang diharapkan
Tes fungsi lulus dan kamu memahami mengapa contoh normal tetap perlu diuji.
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
Unit test string HTML tidak mengeksekusi browser. Jangan mengklaim tes unit membuktikan seluruh perilaku browser.
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
Mengapa uji serangan saja belum cukup untuk menilai patch?
Buka pembahasan
Patch bisa memblokir semua request sehingga fungsi normal rusak. Uji input normal dan kasus negatif tetap diperlukan.
Tantangan mandiri
Buat satu input normal berisi apostrof untuk regresi pencarian.
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
Uji sink dan fungsi normal setelah setiap perubahan; lakukan review konteks lain secara terpisah.
Referensi
WEB21 / BELAJAR DAN MENCOBA
IDOR: objek milik siapa
30–50 menit · Prasyarat: WEB20
Masih dalam pengembangan. Belajar pelan-pelan. Gunakan komputer sendiri dan data contoh.
Kita belajar apa?
IDOR terjadi ketika program memberi objek milik orang lain tanpa memeriksa izin. Di lab, kamu selalu berperan sebagai Alice. Mengganti nomor catatan tidak boleh membuatmu boleh membaca catatan Bob.
Bayangkan seperti ini
Mengetahui nomor loker teman tidak memberi izin membuka lokernya.
Arti kata yang mungkin baru
- fixed
- mode lab yang memperbaiki kesalahan contoh
- vulnerable
- mode lab yang sengaja dibuat memiliki kesalahan untuk latihan
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. Gunakan py atau python3 jika 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
/note atau 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 /note?mode=vulnerable&id=1.
- Catat bahwa isinya milik Alice.
- Ganti hanya id=2 dan baca catatan Bob yang fiktif.
- Ulangi id=2 dengan mode=fixed.
- Bandingkan dengan fixed id=1 yang memang boleh dibaca.
Hasil yang diharapkan
Vulnerable membocorkan catatan Bob. Fixed menolak id=2 dengan 403 tetapi tetap mengizinkan id=1.
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 id=999 hasilnya 404, itu objek tidak ada; bukan bukti kontrol kepemilikan.
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
Mengapa mengganti id=1 menjadi id=2 tidak boleh mengubah identitas aktor?
Buka pembahasan
ID memilih objek, bukan identitas. Aktor harus berasal dari konteks tepercaya di server dan hak terhadap objek harus dicek.
Tantangan mandiri
Tulis dampak sebagai akses baca lintas pemilik pada data fiktif, tanpa klaim perubahan data.
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
Periksa hak aktor terhadap objek di server pada setiap operasi.
Referensi
WEB22 / BELAJAR DAN MENCOBA
Matriks kontrol akses
30–50 menit · Prasyarat: WEB21
Masih dalam pengembangan. Belajar pelan-pelan. Gunakan komputer sendiri dan data contoh.
Kita belajar apa?
Tabel izin membantu kita melihat siapa boleh melakukan apa. Membaca dan mengubah adalah kegiatan berbeda. Lab ini hanya menyediakan membaca catatan, jadi hak mengubah cukup dirancang di kertas.
Bayangkan seperti ini
Daftar peminjam buku tidak sama dengan daftar orang yang boleh mengubah data perpustakaan.
Arti kata yang mungkin baru
- fixed
- mode lab yang memperbaiki kesalahan contoh
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. Gunakan py atau python3 jika 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
/note atau 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
- Buat tabel dengan kolom orang, catatan, kegiatan, dan boleh/tidak.
- Isi Alice membaca catatan 1: boleh.
- Isi Alice membaca catatan 2: tidak.
- Coba kedua kasus pada mode fixed.
- Tambahkan id=999 dan catat bahwa objek itu tidak ada.
Hasil yang diharapkan
Tiga kasus membedakan akses sah, akses ditolak, dan objek tidak ditemukan.
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
Jangan memalsukan identitas dengan parameter actor; lab sengaja menetapkan satu aktor tepercaya.
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 hasil tiga kasus fixed: id 1, 2 dan 999 untuk Alice?
Buka pembahasan
200 untuk catatan Alice, 403 untuk catatan Bob, dan 404 untuk objek tidak ada dalam kontrak lab.
Tantangan mandiri
Tambahkan aksi update/delete ke matriks secara konseptual.
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
Deny by default dan validasi hak pada setiap endpoint, bukan hanya halaman UI.
Referensi
WEB23 / BELAJAR DAN MENCOBA
Otorisasi pada server
30–50 menit · Prasyarat: WEB22
Masih dalam pengembangan. Belajar pelan-pelan. Gunakan komputer sendiri dan data contoh.
Kita belajar apa?
Aturan izin harus diperiksa server, bukan hanya tombol pada layar. Orang bisa meminta alamat langsung tanpa menekan tombol. Pada lab, server membandingkan pemilik catatan dengan aktor Alice.
Bayangkan seperti ini
Pemeriksaan tiket dilakukan di pintu masuk, bukan hanya dengan menyembunyikan poster acara.
Arti kata yang mungkin baru
- server
- program yang menerima permintaan lalu memberi jawaban
- fixed
- mode lab yang memperbaiki kesalahan contoh
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. Gunakan py atau python3 jika 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
/note atau 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 fungsi note pada lab_web.py.
- Cari pemeriksaan owner dan ACTOR pada mode fixed.
- Minta fixed id=1 langsung lewat address bar.
- Minta fixed id=2 dengan cara sama.
- Jelaskan mengapa pemeriksaan tetap bekerja walaupun tidak memakai tombol halaman.
Hasil yang diharapkan
Permintaan langsung tetap ditolak jika catatan bukan milik Alice.
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
Status 403 pada lab bukan pola wajib untuk semua aplikasi; aplikasi dapat memilih 404 untuk mengurangi enumerasi.
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
Apakah menyembunyikan tombol catatan Bob memperbaiki endpoint?
Buka pembahasan
Tidak. Request langsung tetap mungkin; pemeriksaan server harus menolak akses tanpa hak.
Tantangan mandiri
Mengapa menambahkan UUID tidak memperbaiki pemeriksaan owner yang hilang?
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
Uji horizontal (lintas pemilik) dan vertikal (lintas peran) sesuai scope aplikasi nyata.
Referensi
WEB24 / BELAJAR DAN MENCOBA
Retest kontrol akses
30–50 menit · Prasyarat: WEB23
Masih dalam pengembangan. Belajar pelan-pelan. Gunakan komputer sendiri dan data contoh.
Kita belajar apa?
Memeriksa ulang berarti mengulangi percobaan setelah perbaikan. Kita perlu mencoba akses yang salah dan akses yang benar. Jangan menyatakan semua aman hanya karena satu nomor sudah ditolak.
Bayangkan seperti ini
Setelah memperbaiki pagar, periksa bagian yang rusak sekaligus pintu yang seharusnya masih bisa dipakai.
Arti kata yang mungkin baru
- fixed
- mode lab yang memperbaiki kesalahan contoh
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. Gunakan py atau python3 jika 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
/note atau 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
- Mulai lab dari proses baru.
- Pada fixed coba id=1.
- Coba id=2.
- Coba id=999.
- Tulis tiga hasil dan bandingkan dengan aturan izin di WEB22.
Hasil yang diharapkan
Hasil fixed adalah boleh untuk 1, ditolak untuk 2, dan tidak ditemukan untuk 999.
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
Jangan mencampur respons cache; lihat request aktual di Network atau curl.
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 syarat retest kontrol akses yang memadai untuk kasus lab?
Buka pembahasan
Akses lintas pemilik ditolak, akses sah tetap diterima, dan objek tidak ada ditangani sesuai kontrak.
Tantangan mandiri
Usulkan satu kasus tambahan: objek yang berubah pemilik.
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
Tambahkan regresi pada lapisan aturan akses agar endpoint baru memakai kebijakan yang sama.
Referensi
WEB25 / LATIHAN MENYUSUN HASIL
Laporan Broken Access Control
30–50 menit · Prasyarat: WEB24
Masih dalam pengembangan. Belajar pelan-pelan. Gunakan komputer sendiri dan data contoh.
Kita belajar apa?
Laporan akses yang salah harus menyebut siapa yang mengakses dan data siapa yang terbaca. Jika hanya membuktikan membaca, jangan menulis bahwa akun orang lain sudah diambil alih.
Bayangkan seperti ini
Melihat satu halaman buku tidak sama dengan memiliki seluruh lemari buku.
Arti kata yang mungkin baru
- localhost
- komputer atau perangkat yang sedang kamu pakai sendiri
- fixed
- mode lab yang memperbaiki kesalahan contoh
- vulnerable
- mode lab yang sengaja dibuat memiliki kesalahan untuk latihan
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. Gunakan py atau python3 jika 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
/note atau 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 template laporan.
- Tulis aktor Alice dan target /note localhost.
- Sertakan id=1 sebagai keadaan normal dan id=2 pada vulnerable.
- Tambahkan hasil fixed id=2 yang ditolak.
- Jelaskan batas bukti: hanya akses baca data fiktif dalam lab.
Hasil yang diharapkan
Laporan jelas dan tidak melebih-lebihkan akibatnya.
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 bukti hanya status, tambahkan potongan body fiktif agar perbedaan objek jelas.
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
Apakah bukti baca catatan Bob berarti akun Bob diambil alih?
Buka pembahasan
Tidak. Bukti hanya mendukung akses baca lintas objek pada lab; takeover atau hak tulis belum dibuktikan.
Tantangan mandiri
Tulis ringkasan dua kalimat untuk pembaca nonteknis.
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
Rekomendasikan kontrol akses per objek serta regresi positif/negatif.
Referensi
WEB26 / BELAJAR DAN MENCOBA
Autentikasi: kegagalan rancangan
30–50 menit · Prasyarat: WEB25
Masih dalam pengembangan. Belajar pelan-pelan. Gunakan komputer sendiri dan data contoh.
Kita belajar apa?
Autentikasi berarti memeriksa identitas. Contoh login lab hanya menirukan keputusan diterima atau ditolak. Ia tidak membuat akun nyata atau menyimpan sesi login.
Bayangkan seperti ini
Petugas harus memeriksa kartu anggota, bukan percaya karena seseorang menyebut nama anggota.
Arti kata yang mungkin baru
- fixed
- mode lab yang memperbaiki kesalahan contoh
- vulnerable
- mode lab yang sengaja dibuat memiliki kesalahan untuk latihan
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. Gunakan py atau python3 jika 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
/note atau 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 /login?mode=vulnerable&user=demo&password=salah.
- Lihat authenticated bernilai true.
- Ulangi dengan mode=fixed dan password=salah.
- Coba fixed memakai password latihan-lokal.
- Gunakan hanya password contoh ini, bukan password akunmu.
Hasil yang diharapkan
Vulnerable menerima password salah. Fixed menolaknya. Ini simulasi, bukan sistem login untuk dipakai di website sungguhan.
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
GET dengan password tidak cocok untuk produksi karena URL dapat masuk riwayat/log. Gunakan hanya nilai fiktif yang disediakan.
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
Apakah login fixed lab sudah menjadi autentikasi produksi?
Buka pembahasan
Tidak. Itu simulasi keputusan dengan kredensial fiktif, tanpa session, hashing penyimpanan, rate limit atau pemulihan akun produksi.
Tantangan mandiri
Jelaskan mengapa fixed lab bukan sistem login siap produksi.
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
Produksi perlu HTTPS, POST, hashing password yang tepat, rate limit, session aman, dan pemulihan akun yang dirancang baik.
Referensi
WEB27 / LATIHAN MEMAHAMI RANCANGAN
Session dan logout: latihan desain
30–50 menit · Prasyarat: WEB26
Masih dalam pengembangan. Belajar pelan-pelan. Gunakan komputer sendiri dan data contoh.
Kita belajar apa?
Session membantu server mengingat siapa yang sudah masuk. Setelah logout, tanda masuk lama harus tidak berlaku lagi. Pelajaran ini berupa gambar alur dan rencana uji, bukan percobaan pada akun nyata.
Bayangkan seperti ini
Seperti kartu pengunjung yang harus dikembalikan atau dinonaktifkan saat kunjungan selesai.
Arti kata yang mungkin baru
- server
- program yang menerima permintaan lalu memberi jawaban
- session
- cara aplikasi menghubungkan beberapa permintaan dengan keadaan pengguna
Persiapan
Siapkan catatan dan baca panduan perangkat. Pakai data buatan, bukan data pribadi. Baca satu langkah, kerjakan, lalu periksa hasilnya sebelum melanjutkan.
Pelajaran ini tidak meminta kamu menjalankan server lab. Siapkan aplikasi atau file yang disebut pada langkah latihan di bawah.
Langkah latihan
- Gambar proses masuk, mendapat tanda masuk, dan membuka halaman.
- Tambahkan langkah logout.
- Tulis bahwa server harus menolak tanda masuk lama sesudah logout.
- Buat contoh waktu habis agar tanda itu tidak berlaku selamanya.
- Bandingkan dengan progres CyberKit yang bukan tanda login.
Hasil yang diharapkan
Kamu punya gambar alur dan tahu mengapa menghilangkan tombol saja tidak cukup untuk logout.
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
Jangan membuat token dari username atau timestamp. Tidak ada token nyata yang perlu dibagikan.
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
Mengapa menghapus cookie di browser saja belum cukup untuk logout?
Buka pembahasan
Token lama dapat tetap diterima server jika tidak dicabut atau kedaluwarsa sesuai rancangan.
Tantangan mandiri
Apa yang terjadi bila hanya UI logout tetapi server masih menerima token?
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
Terapkan pengelolaan session melalui framework terawat; cek atribut cookie dan invalidasi.
Referensi
WEB28 / LATIHAN MEMAHAMI RANCANGAN
JWT: decode bukan verifikasi
30–50 menit · Prasyarat: WEB27
Masih dalam pengembangan. Belajar pelan-pelan. Gunakan komputer sendiri dan data contoh.
Kita belajar apa?
JWT adalah salah satu bentuk token yang dapat membawa keterangan pengguna. Isi yang bisa dibaca belum berarti isinya asli. Program perlu memeriksa tanda tangan digital dan aturan token. Contoh kita hanya belajar mengubah teks menjadi bentuk lain lalu membacanya kembali.
Bayangkan seperti ini
Isi surat bisa dibaca siapa saja, tetapi cap atau tanda tangan perlu diperiksa untuk mengetahui asalnya.
Arti kata yang mungkin baru
- token
- tanda digital yang dapat dipakai aplikasi sesuai aturan tertentu
- Python
- bahasa dan alat untuk menjalankan program contoh
Persiapan
Siapkan catatan dan baca panduan perangkat. Pakai data buatan, bukan data pribadi. Baca satu langkah, kerjakan, lalu periksa hasilnya sebelum melanjutkan.
Pelajaran ini tidak meminta kamu menjalankan server lab. Siapkan aplikasi atau file yang disebut pada langkah latihan di bawah.
Langkah latihan
- Buka contoh jwt_demo.py di bawah.
- Simpan sebagai file Python di folder latihan.
- Jalankan dengan interpreter yang berhasil dipakai pada F08.
- Lihat data awal dapat dibaca kembali.
- Ubah role pada data contoh dan ingat bahwa perubahan itu tidak membuat tanda tangan yang sah.
Hasil yang diharapkan
Kamu memahami bahwa mengubah atau membaca isi token tidak membuktikan token itu diterima server.
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
Padding base64url dapat perlu ditambahkan untuk decode. Jangan memakai token akun sungguhan.
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
Apakah payload JWT yang berhasil diedit berarti token valid?
Buka pembahasan
Tidak. Signature dan klaim harus diverifikasi; encoding atau decoding tidak membuktikan keaslian.
Tantangan mandiri
Jelaskan perbedaan encoding, signature dan enkripsi.
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
Gunakan library terawat dan pin algoritma/kunci serta validasi klaim sesuai konteks.
Referensi
WEB29 / BELAJAR DAN MENCOBA
API: field yang berlebihan
30–50 menit · Prasyarat: WEB28
Masih dalam pengembangan. Belajar pelan-pelan. Gunakan komputer sendiri dan data contoh.
Kita belajar apa?
API adalah cara program saling bertukar data. Program sebaiknya mengirim hanya data yang diperlukan. Menyembunyikan data di tampilan tidak cukup jika data itu masih ada dalam jawaban mentah.
Bayangkan seperti ini
Saat meminjam buku, petugas cukup memberi data buku, bukan seluruh catatan internal perpustakaan.
Arti kata yang mungkin baru
- fixed
- mode lab yang memperbaiki kesalahan contoh
- vulnerable
- mode lab yang sengaja dibuat memiliki kesalahan untuk latihan
- field
- satu bagian data yang mempunyai nama
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. Gunakan py atau python3 jika 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
/note atau 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 /api/profile?mode=vulnerable&id=1.
- Cari field internal_note yang berisi DEMO-ONLY.
- Ganti mode menjadi fixed.
- Bandingkan nama field yang dikirim.
- Catat bahwa field internal tidak ikut terkirim pada fixed.
Hasil yang diharapkan
Fixed mengirim id dan name saja. Data internal tidak sekadar disembunyikan dari tampilan.
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
Nama field saja tidak selalu berarti rahasia; lab secara eksplisit menetapkan field internal tidak untuk klien.
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
Mengapa internal_note harus hilang dari JSON, bukan hanya UI?
Buka pembahasan
Klien dapat membaca respons mentah. Field yang tidak diperlukan dan tidak boleh diketahui harus dibatasi pada serialisasi server.
Tantangan mandiri
Mengapa menyembunyikan field di tampilan tidak cukup jika JSON tetap memuatnya?
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
Serialisasikan field sesuai kebutuhan dan kebijakan; gabungkan dengan otorisasi objek.
Referensi
WEB30 / LATIHAN MENYUSUN HASIL
Proyek API dan identitas
30–50 menit · Prasyarat: WEB29
Masih dalam pengembangan. Belajar pelan-pelan. Gunakan komputer sendiri dan data contoh.
Kita belajar apa?
Tiga masalah bisa terjadi di tempat berbeda: identitas salah diterima, catatan orang lain terbaca, atau data internal ikut terkirim. Ketiganya perlu dijelaskan terpisah supaya perbaikannya tepat.
Bayangkan seperti ini
Memeriksa kartu anggota, izin meminjam, dan isi bukti peminjaman adalah tiga pemeriksaan berbeda.
Arti kata yang mungkin baru
- session
- cara aplikasi menghubungkan beberapa permintaan dengan keadaan pengguna
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. Gunakan py atau python3 jika 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
/note atau 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
- Uji password salah pada /login di dua mode.
- Uji id=2 pada /note di dua mode.
- Uji id=1 pada /api/profile di dua mode.
- Tulis tiga laporan pendek dengan bukti masing-masing.
- Sebutkan bagian session dan JWT sebagai latihan rancangan, bukan akun yang benar-benar diuji.
Hasil yang diharapkan
Tiga laporan menjelaskan tiga penyebab berbeda dengan data lab saja.
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
Jangan menyebut akun nyata diambil alih; lab hanya keputusan dan data fiktif.
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
Mengapa login, IDOR dan field API ditulis sebagai temuan terpisah?
Buka pembahasan
Ketiganya mempunyai akar masalah dan kontrol berbeda: identitas, hak objek, dan pemilihan data respons.
Tantangan mandiri
Prioritaskan perbaikan untuk sistem hipotetis berisi data sensitif dengan alasan.
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
Gabungkan autentikasi, otorisasi dan minimisasi data dengan pengujian regresi.
Referensi
WEB31 / LATIHAN MEMAHAMI RANCANGAN
CSRF: perubahan tanpa niat pengguna
30–50 menit · Prasyarat: WEB30
Masih dalam pengembangan. Belajar pelan-pelan. Gunakan komputer sendiri dan data contoh.
Kita belajar apa?
CSRF dapat membuat browser mengirim permintaan yang tidak dimaksudkan pengguna. Hal ini berkaitan dengan kredensial yang ikut terkirim otomatis. Kita belajar lewat gambar dan tabel, tanpa membuat permintaan ke akun nyata.
Bayangkan seperti ini
Seperti formulir titipan yang disalahgunakan seolah-olah kamu sendiri yang memintanya.
Arti kata yang mungkin baru
- server
- program yang menerima permintaan lalu memberi jawaban
- browser
- aplikasi untuk membuka website
Persiapan
Siapkan catatan dan baca panduan perangkat. Pakai data buatan, bukan data pribadi. Baca satu langkah, kerjakan, lalu periksa hasilnya sebelum melanjutkan.
Pelajaran ini tidak meminta kamu menjalankan server lab. Siapkan aplikasi atau file yang disebut pada langkah latihan di bawah.
Langkah latihan
- Gambar pengguna yang sudah masuk ke aplikasi.
- Gambar situs lain yang mencoba memicu perubahan data.
- Tambahkan kode pemeriksaan khusus pada formulir sebagai rancangan perlindungan.
- Buat kasus kode benar, hilang, salah, dan milik sesi lain.
- Tulis bahwa hanya permintaan yang sah boleh diterima server.
Hasil yang diharapkan
Kamu dapat menjelaskan risiko dan empat kasus uji rancangan CSRF.
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
Jangan membuat halaman untuk mengirim request ke akun nyata. GET pada lab hanya simulasi dan bukan desain perubahan state produksi.
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 yang harus diuji ketika token CSRF tidak ada atau dari session berbeda?
Buka pembahasan
Server harus menolak operasi yang membutuhkan proteksi itu. Token benar dan session sah tetap perlu uji positif.
Tantangan mandiri
Mengapa konfirmasi UI saja tidak melindungi endpoint?
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
Gunakan mekanisme anti-CSRF framework, method sesuai, dan kebijakan cookie yang tepat.
Referensi
WEB32 / LATIHAN MEMAHAMI RANCANGAN
Upload dan path traversal: review aman
30–50 menit · Prasyarat: WEB31
Masih dalam pengembangan. Belajar pelan-pelan. Gunakan komputer sendiri dan data contoh.
Kita belajar apa?
File yang diunggah perlu diperiksa jenis, ukuran, nama, dan tempat menyimpannya. Path traversal berarti masukan nama lokasi dapat keluar dari folder yang diizinkan. Latihan ini hanya menyusun aturan di kertas.
Bayangkan seperti ini
Petugas penitipan perlu memeriksa barang dan menyimpannya di loker yang tepat, bukan mengikuti sembarang alamat dari pengunjung.
Arti kata yang mungkin baru
- server
- program yang menerima permintaan lalu memberi jawaban
- path
- alamat lokasi file atau halaman
Persiapan
Siapkan catatan dan baca panduan perangkat. Pakai data buatan, bukan data pribadi. Baca satu langkah, kerjakan, lalu periksa hasilnya sebelum melanjutkan.
Pelajaran ini tidak meminta kamu menjalankan server lab. Siapkan aplikasi atau file yang disebut pada langkah latihan di bawah.
Langkah latihan
- Buat daftar foto.png, ../rahasia.txt, besar.bin, dan script.html sebagai nama fiktif.
- Tentukan jenis dan ukuran file yang boleh diterima.
- Tulis bahwa server memberi nama simpan sendiri.
- Rancang agar file tidak dapat dijalankan sebagai program web.
- Tuliskan keputusan untuk setiap nama tanpa membaca file sistem.
Hasil yang diharapkan
Kamu memiliki aturan unggah dan penyimpanan yang jelas, bukan hanya melihat ekstensi file.
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
Ekstensi dan Content-Type dari klien dapat dipalsukan. Pemeriksaan path perlu memperhatikan symlink dan perilaku OS.
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
Apakah mengganti nama file atau mengecek ekstensi saja cukup untuk upload aman?
Buka pembahasan
Tidak. Perlu kebijakan format, ukuran, lokasi, nama milik server, otorisasi dan pencegahan eksekusi, sesuai kebutuhan.
Tantangan mandiri
Mengapa mengganti ../ saja tidak menjamin path aman?
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
Gunakan API penyimpanan dan library terawat, allowlist format dan batas ukuran.
Referensi
WEB33 / LATIHAN MEMAHAMI RANCANGAN
SSRF dan pembatasan tujuan
30–50 menit · Prasyarat: WEB32
Masih dalam pengembangan. Belajar pelan-pelan. Gunakan komputer sendiri dan data contoh.
Kita belajar apa?
SSRF terjadi ketika server disuruh mengambil alamat yang seharusnya tidak boleh dijangkau. Kita hanya menggambar fitur pengambil URL. Jangan mencoba alamat layanan internal atau metadata sungguhan.
Bayangkan seperti ini
Seperti menyuruh kurir kantor masuk ke ruangan terlarang dengan alasan mengambil paket.
Arti kata yang mungkin baru
- server
- program yang menerima permintaan lalu memberi jawaban
Persiapan
Siapkan catatan dan baca panduan perangkat. Pakai data buatan, bukan data pribadi. Baca satu langkah, kerjakan, lalu periksa hasilnya sebelum melanjutkan.
Pelajaran ini tidak meminta kamu menjalankan server lab. Siapkan aplikasi atau file yang disebut pada langkah latihan di bawah.
Langkah latihan
- Gambar pengguna, server, dan alamat tujuan.
- Tentukan satu tujuan contoh yang boleh diambil.
- Tulis aturan jenis alamat dan batas waktu/ukuran jawaban.
- Tambahkan pemeriksaan lagi jika tujuan mengalihkan ke alamat lain.
- Tuliskan bahwa tujuan internal pada fitur publik harus dibatasi.
Hasil yang diharapkan
Kamu memahami mengapa server tidak boleh mengambil sembarang URL dari pengguna.
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
Daftar string terlarang mudah tidak lengkap. Jangan menguji alamat metadata atau layanan internal nyata.
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
Mengapa tujuan redirect perlu dicek ulang pada fitur pengambil URL?
Buka pembahasan
Tujuan awal yang diizinkan dapat mengarah ke tujuan yang tidak diizinkan. Pembatasan berlaku pada seluruh alur pengambilan.
Tantangan mandiri
Mengapa validasi host sebelum DNS saja belum selalu cukup?
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
Batasi kemampuan fetch dan egress, pakai allowlist tujuan serta timeout/ukuran.
Referensi
WEB34 / BELAJAR DAN MENCOBA
Konfigurasi, TLS, dependency dan error
30–50 menit · Prasyarat: WEB33
Masih dalam pengembangan. Belajar pelan-pelan. Gunakan komputer sendiri dan data contoh.
Kita belajar apa?
Pengaturan dan pembaruan ikut memengaruhi keamanan. HTTPS menjaga sambungan, tetapi kesalahan query atau izin tetap perlu diperbaiki. Pesan error publik juga tidak perlu membuka rincian bagian dalam aplikasi.
Bayangkan seperti ini
Pagar yang baik tidak menggantikan kunci pintu dan aturan siapa boleh masuk.
Arti kata yang mungkin baru
- database
- tempat program menyimpan dan mencari data secara teratur
- Python
- bahasa dan alat untuk menjalankan program contoh
Persiapan
Siapkan catatan dan baca panduan perangkat. Pakai data buatan, bukan data pribadi. Baca satu langkah, kerjakan, lalu periksa hasilnya sebelum melanjutkan.
Pelajaran ini tidak meminta kamu menjalankan server lab. Siapkan aplikasi atau file yang disebut pada langkah latihan di bawah.
Langkah latihan
- Daftar komponen website CyberKit: HTML, CSS, dan JavaScript.
- Pisahkan Python lab sebagai program lokal, bukan program hosting.
- Amati error lab yang tidak menampilkan isi database.
- Buat checklist HTTPS, file rahasia, folder lab, dan pembaruan.
- Tandai mana yang benar-benar diperiksa dan mana yang baru rencana.
Hasil yang diharapkan
Kamu memahami bahwa keamanan terdiri dari beberapa pemeriksaan, bukan satu tombol.
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
Situs lokal file:// tidak dapat membuktikan TLS hosting. Tandai pemeriksaan domain sebagai pekerjaan pasca-upload.
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
Apakah HTTPS memperbaiki SQLi atau IDOR?
Buka pembahasan
Tidak. TLS melindungi lalu lintas, sedangkan SQLi dan IDOR memerlukan kontrol aplikasi pada query dan hak akses.
Tantangan mandiri
Mengapa CSP bukan pengganti parameter query atau kontrol akses?
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
Minimalkan dependency, perbarui berdasar advisory, pisahkan log internal dari error publik.
Referensi
WEB35 / BELAJAR DAN MENCOBA
Log, privasi dan penanganan bukti
30–50 menit · Prasyarat: WEB34
Masih dalam pengembangan. Belajar pelan-pelan. Gunakan komputer sendiri dan data contoh.
Kita belajar apa?
Log adalah catatan kejadian program. Catatan ini membantu mencari masalah, tetapi bisa menyimpan data pribadi atau rahasia jika dibuat sembarangan. Bukti untuk dibagikan perlu dibersihkan lebih dulu.
Bayangkan seperti ini
Buku piket berguna, tetapi tidak seharusnya berisi password teman sekelas.
Arti kata yang mungkin baru
- request
- pesan permintaan dari browser atau alat
- token
- tanda digital yang dapat dipakai aplikasi sesuai aturan tertentu
Persiapan
Siapkan catatan dan baca panduan perangkat. Pakai data buatan, bukan data pribadi. Baca satu langkah, kerjakan, lalu periksa hasilnya sebelum melanjutkan.
Pelajaran ini tidak meminta kamu menjalankan server lab. Siapkan aplikasi atau file yang disebut pada langkah latihan di bawah.
Langkah latihan
- Lihat contoh catatan request lab.
- Catat jenis data yang tidak boleh dibagikan, seperti password dan token.
- Buat salinan laporan latihan untuk dibagikan.
- Hapus atau sensor data pribadi pada salinan itu.
- Tentukan kapan bukti latihan akan dihapus.
Hasil yang diharapkan
Laporan tetap berguna tanpa membuka rahasia atau identitas nyata.
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
Jangan mengunggah log mentah ke layanan publik untuk analisis. Jika rahasia nyata bocor, cabut/ganti sesuai pemiliknya.
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
Mengapa password fiktif lab tidak boleh diganti dengan password nyata pada query?
Buka pembahasan
URL dapat masuk riwayat, log, dan bukti. Lab hanya untuk nilai demonstrasi; desain produksi tidak menaruh password dalam URL.
Tantangan mandiri
Apa beda kebutuhan log operasi dan bukti laporan?
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
Hindari rahasia dalam URL, redaksi pada sumber log, batasi akses dan retensi.
Referensi
WEB36 / BELAJAR DAN MENCOBA
Metodologi audit dari scope sampai retest
30–50 menit · Prasyarat: WEB35
Masih dalam pengembangan. Belajar pelan-pelan. Gunakan komputer sendiri dan data contoh.
Kita belajar apa?
Pemeriksaan yang rapi dimulai dengan izin, mengenali fitur, mencatat keadaan normal, mencoba satu perubahan, lalu menulis hasil. Hasil yang tidak menemukan masalah tidak membuktikan seluruh aplikasi pasti aman.
Bayangkan seperti ini
Seperti daftar pemeriksaan sepeda: tiap bagian diperiksa dengan cara yang jelas.
Persiapan
Siapkan catatan dan baca panduan perangkat. Pakai data buatan, bukan data pribadi. Baca satu langkah, kerjakan, lalu periksa hasilnya sebelum melanjutkan.
Pelajaran ini tidak meminta kamu menjalankan server lab. Siapkan aplikasi atau file yang disebut pada langkah latihan di bawah.
Langkah latihan
- Tulis rencana untuk lab 8765 saja.
- Pilih empat fitur yang sudah dipelajari.
- Untuk tiap fitur, tulis keadaan normal dan satu kasus uji.
- Lakukan percobaan dan simpan hasil asli.
- Tulis bagian yang tidak sempat diuji sebagai pekerjaan berikutnya.
Hasil yang diharapkan
Rencana dan hasil bisa dicocokkan satu per satu.
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 alat gagal, catat kasus belum diuji, bukan lulus.
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 arti hasil negatif pada satu kasus audit?
Buka pembahasan
Kasus itu tidak menemukan kelemahan pada kondisi yang diuji; bukan jaminan seluruh aplikasi bebas kelemahan.
Tantangan mandiri
Pisahkan temuan, observasi, dan pengujian yang belum dilakukan.
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
Gunakan metodologi konsisten dan review sejawat ketika tersedia.
Referensi
WEB37 / BELAJAR DAN MENCOBA
Dampak, prioritas dan rekomendasi
30–50 menit · Prasyarat: WEB36
Masih dalam pengembangan. Belajar pelan-pelan. Gunakan komputer sendiri dan data contoh.
Kita belajar apa?
Masalah yang sama bisa punya akibat berbeda pada tempat berbeda. Prioritas perbaikan perlu melihat data, hak pengguna, dan syarat terjadinya masalah. Jangan mengarang kerugian dari data fiktif lab.
Bayangkan seperti ini
Kaca retak di lemari kosong dan kaca retak di laboratorium berbahaya bisa membutuhkan perhatian berbeda.
Persiapan
Siapkan catatan dan baca panduan perangkat. Pakai data buatan, bukan data pribadi. Baca satu langkah, kerjakan, lalu periksa hasilnya sebelum melanjutkan.
Pelajaran ini tidak meminta kamu menjalankan server lab. Siapkan aplikasi atau file yang disebut pada langkah latihan di bawah.
Langkah latihan
- Pilih contoh SQLi, XSS, dan IDOR dari lab.
- Tulis apa yang benar-benar terlihat.
- Pisahkan contoh akibat pada toko sungguhan sebagai cerita andaikan, bukan fakta lab.
- Urutkan perbaikan dengan alasan.
- Tuliskan cara memeriksa perbaikannya.
Hasil yang diharapkan
Kamu bisa menjelaskan prioritas tanpa memakai angka yang tidak dipahami.
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
Jangan memberi angka CVSS tanpa memahami metrik. Penilaian kualitatif yang beralasan cukup untuk kursus ini.
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
Mengapa prioritas tidak selalu sama dengan skor teknis?
Buka pembahasan
Paparan, data, prasyarat dan konteks bisnis memengaruhi urgensi. Fakta lab harus dipisahkan dari skenario hipotetis.
Tantangan mandiri
Mengapa temuan sama bisa punya prioritas berbeda di dua organisasi?
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
Komunikasikan risiko residual dan keputusan penerimaan risiko kepada pemilik yang tepat.
Referensi
WEB38 / BELAJAR DAN MENCOBA
Disclosure dan bug bounty: aturan kerja
30–50 menit · Prasyarat: WEB37
Masih dalam pengembangan. Belajar pelan-pelan. Gunakan komputer sendiri dan data contoh.
Kita belajar apa?
Bug bounty adalah program yang memiliki aturan izin pengujian sendiri. Membaca artikel atau menemukan website tidak memberi izin otomatis. Pelajaran ini hanya latihan membuat aturan dan laporan untuk lab sendiri.
Bayangkan seperti ini
Lomba memiliki lapangan dan aturan; peserta tidak boleh memindahkan pertandingan ke halaman orang lain.
Arti kata yang mungkin baru
- localhost
- komputer atau perangkat yang sedang kamu pakai sendiri
Persiapan
Siapkan catatan dan baca panduan perangkat. Pakai data buatan, bukan data pribadi. Baca satu langkah, kerjakan, lalu periksa hasilnya sebelum melanjutkan.
Pelajaran ini tidak meminta kamu menjalankan server lab. Siapkan aplikasi atau file yang disebut pada langkah latihan di bawah.
Langkah latihan
- Buat aturan program fiktif dengan target localhost.
- Tulis metode yang boleh dan kondisi harus berhenti.
- Tulis contoh laporan pendek.
- Tambahkan aturan menjaga data dan tidak memaksa orang membayar.
- Simulasikan permintaan pemeriksaan ulang tanpa mengirim pesan ke pihak luar.
Hasil yang diharapkan
Kamu memahami izin dan cara melaporkan masalah secara sopan.
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 ingin ikut program nyata nanti, baca aturan terbaru dan pastikan izin sebelum tindakan. Kursus ini tidak memberi izin tersebut.
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
Apakah membaca aturan bug bounty saja mengizinkan target di luar scope?
Buka pembahasan
Tidak. Hanya target, metode dan waktu yang benar-benar diizinkan oleh aturan terbaru yang termasuk scope.
Tantangan mandiri
Tulis pesan laporan profesional tanpa klaim yang tidak dibuktikan.
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
Hormati scope, privasi dan waktu perbaikan yang disepakati.
Referensi
WEB39 / LATIHAN MENYUSUN HASIL
Proyek akhir pentest lokal
30–50 menit · Prasyarat: WEB38
Masih dalam pengembangan. Belajar pelan-pelan. Gunakan komputer sendiri dan data contoh.
Kita belajar apa?
Proyek akhir memakai lima fitur lab yang sudah dipelajari. Tujuannya menunjukkan langkah yang aman dan penjelasan yang jelas. Tidak perlu mencari target lain atau menambahkan serangan baru.
Bayangkan seperti ini
Seperti mempresentasikan hasil praktikum: tunjukkan cara, hasil, dan alasan, bukan hanya mengatakan berhasil.
Arti kata yang mungkin baru
- localhost
- komputer atau perangkat yang sedang kamu pakai sendiri
- fixed
- mode lab yang memperbaiki kesalahan contoh
- vulnerable
- mode lab yang sengaja dibuat memiliki kesalahan untuk latihan
Persiapan
Siapkan catatan dan baca panduan perangkat. Pakai data buatan, bukan data pribadi. Baca satu langkah, kerjakan, lalu periksa hasilnya sebelum melanjutkan.
Pelajaran ini tidak meminta kamu menjalankan server lab. Siapkan aplikasi atau file yang disebut pada langkah latihan di bawah.
Langkah latihan
- Mulai lab dari proses baru dan tulis izin localhost.
- Uji /search, /echo, /note, /login, dan /api/profile pada vulnerable serta fixed.
- Untuk tiap fitur simpan hasil normal dan contoh masalah.
- Tulis perbaikan dan buktikan fungsi normal tetap bekerja.
- Nilai lima kelompok pada rubrik, masing-masing 0–4. Target 16 dari 20.
Hasil yang diharapkan
Ada lima temuan dengan bukti dan pemeriksaan perbaikan. Nilai mandiri ini bukan sertifikat.
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 skrip XSS tidak diverifikasi di browser, tandai observasi browser belum dilakukan; tes string tidak menggantikannya.
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 yang perlu dibuktikan selain lima contoh rentan berhasil?
Buka pembahasan
Mode fixed menolak kasus buruk, fungsi sah tetap bekerja, dan laporan menyebut batas simulasi serta hasil aktual.
Tantangan mandiri
Presentasikan satu temuan kepada pembaca nonteknis dan jelaskan batas kesimpulan.
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
Lakukan review ulang bagian bernilai rendah; simpan portofolio tersensor tanpa menyertakan server rentan pada hosting.
Referensi
WEB40 / BELAJAR DAN MENCOBA
Rencana lanjut dan pemeliharaan pengetahuan
30–50 menit · Prasyarat: WEB39
Masih dalam pengembangan. Belajar pelan-pelan. Gunakan komputer sendiri dan data contoh.
Kita belajar apa?
Belajar tidak berhenti setelah satu buku. Pilih bagian yang masih sulit, ulangi dengan pelan, lalu tulis apa yang sekarang bisa kamu jelaskan sendiri. Kemampuan berkembang melalui latihan dan masukan.
Bayangkan seperti ini
Seperti belajar bersepeda: membaca petunjuk membantu, tetapi keseimbangan tumbuh dari latihan.
Persiapan
Siapkan catatan dan baca panduan perangkat. Pakai data buatan, bukan data pribadi. Baca satu langkah, kerjakan, lalu periksa hasilnya sebelum melanjutkan.
Pelajaran ini tidak meminta kamu menjalankan server lab. Siapkan aplikasi atau file yang disebut pada langkah latihan di bawah.
Langkah latihan
- Baca laporan proyekmu.
- Pilih tiga bagian yang masih membuatmu ragu.
- Cari kembali pelajaran dan sumber resminya.
- Buat jadwal kecil untuk mengulang satu bagian setiap kali belajar.
- Tulis mana yang sudah dicoba dan mana yang baru dipelajari lewat gambar.
Hasil yang diharapkan
Kamu mempunyai rencana belajar berikutnya dan bisa menjelaskan batas kemampuan sendiri.
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 sumber berubah, perbarui catatan dan verifikasi contoh lagi. Jangan menganggap screenshot lama bukti versi sekarang.
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 arti menyelesaikan semua pelajaran untuk kemampuan profesional?
Buka pembahasan
Kurikulum tertulis selesai dibaca/dilatih; kemampuan perlu bukti independen, pengulangan, review dan pembaruan. Itu bukan sertifikasi.
Tantangan mandiri
Jelaskan satu hal yang belum mampu Anda buktikan tanpa bantuan.
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
Pertahankan lab lokal, batasi data, dan perbarui materi berdasarkan sumber primer serta hasil aktual.
Referensi