PENTING:
Pastikan untuk menyelesaikan lab praktik ini hanya di desktop/laptop.
Hanya ada 5 percobaan yang diizinkan per lab.
Sebagai pengingat – wajar jika Anda tidak dapat menjawab semua pertanyaan dengan benar pada percobaan pertama, dan bahkan perlu mengulang suatu tugas. Hal ini merupakan bagian dari proses pembelajaran.
Setelah lab dimulai, timer tidak dapat dijeda. Setelah 1 jam 30 menit, lab akan berakhir dan Anda harus memulainya lagi.
Untuk informasi selengkapnya, tinjau bacaan Tips teknis lab.
Ringkasan aktivitas
Mengidentifikasi kerentanan dan menerapkan teknik perbaikan sangat penting untuk membantu memastikan keamanan dan stabilitas berbagai sistem dan aplikasi. Banyak aplikasi dan sistem menangani informasi sensitif, seperti informasi identitas pribadi, catatan keuangan, atau kekayaan intelektual. Mengidentifikasi kerentanan membantu melindungi data sensitif ini dari akses tidak sah dan potensi pelanggaran. Mengatasi kerentanan di awal proses pengembangan umumnya lebih hemat biaya daripada menangani pelanggaran keamanan di kemudian hari. Biaya untuk memperbaiki kerentanan sering kali jauh lebih tinggi daripada biaya untuk mencegahnya sejak awal.
Sebagai analis keamanan, pemindaian kerentanan secara rutin dapat membantu mengidentifikasi dan mengatasi kelemahan sebelum serangan berbahaya, sehingga memitigasi potensi ancaman secara proaktif. SAST memberikan insight tentang permukaan serangan aplikasi, sehingga membantu Anda memahami potensi jalur eksploitasi dan memprioritaskan area penting untuk ditingkatkan.
Di lab ini, Anda tidak hanya akan mempelajari cara menyiapkan dan menjalankan aplikasi yang rentan, tetapi juga memindainya untuk mencari kerentanan.
Skenario
Cymbal Bank telah mengembangkan aplikasi perbankan baru untuk klien korporatnya yang akan dihosting dan di-deploy di infrastruktur cloud baru. Chief Information Security Officer (CISO), Javier, ingin memprioritaskan keamanan aplikasi ini sebelum diluncurkan dan digunakan oleh pelanggan. Pemimpin tim Anda, Chloe, telah menugaskan Anda untuk mengidentifikasi dan memitigasi kerentanan aplikasi apa pun untuk aplikasi baru ini. Anda akan menggunakan Web Security Scanner di Google Cloud untuk memindai aplikasi terkait kerentanan yang berkaitan dengan kerentanan aplikasi web OWASP® teratas yang dikenal sebagai Pembuatan Skrip Lintas Situs (XSS).
Berikut cara melakukan tugas ini: Pertama, Anda akan membuat alamat IP statis dan meluncurkan virtual machine. Kemudian, Anda akan men-deploy aplikasi yang rentan. Selanjutnya, Anda akan menyiapkan dan menjalankan aplikasi. Kemudian, Anda akan mengakses dan memindai aplikasi. Terakhir, Anda akan memperbaiki kerentanan dan memindai ulang aplikasi.
Penyiapan
Sebelum Anda mengklik Start Lab
Baca petunjuk ini. Lab memiliki timer yang tidak dapat dijeda. Timer, yang dimulai saat Anda mengklik Start Lab, akan menampilkan durasi ketersediaan resource Google Cloud untuk Anda.
Lab praktis ini dapat Anda gunakan untuk melakukan sendiri aktivitas di lingkungan cloud sungguhan, bukan di lingkungan demo atau simulasi. Untuk mengakses lab ini, Anda akan diberi kredensial baru yang bersifat sementara dan dapat digunakan untuk login serta mengakses Google Cloud selama durasi lab.
Untuk menyelesaikan lab ini, Anda memerlukan:
- Akses ke browser internet standar (disarankan browser Chrome).
Catatan: Gunakan jendela Samaran atau browser pribadi untuk menjalankan lab ini. Hal ini akan mencegah konflik antara akun pribadi Anda dan akun siswa yang dapat menyebabkan tagihan ekstra pada akun pribadi Anda.
- Waktu untuk menyelesaikan lab. Ingat, setelah dimulai, lab tidak dapat dijeda.
Catatan: Jika Anda sudah memiliki project atau akun pribadi Google Cloud, jangan menggunakannya untuk lab ini agar terhindar dari tagihan ekstra pada akun Anda.
Cara memulai lab dan login ke Konsol Google Cloud
-
Klik tombol Start Lab. Di sebelah kiri adalah panel Lab Details dengan informasi berikut ini:
- Waktu tersisa
- Tombol Open Google Cloud console
- Kredensial sementara yang harus Anda gunakan untuk lab ini
- Informasi lain, jika diperlukan, untuk menyelesaikan lab ini
Catatan: Jika Anda perlu membayar lab, jendela pop-up akan terbuka untuk memilih metode pembayaran.
-
Klik Open Google Cloud console (atau klik kanan dan pilih Open Link in Incognito Window) jika Anda menjalankan browser Chrome. Halaman Sign in akan terbuka di tab browser baru.
Tips: Anda dapat mengatur tab di jendela terpisah secara berdampingan untuk memudahkan Anda berpindah-pindah tab.
Catatan: Jika dialog Choose an account ditampilkan, klik Use Another Account.
-
Jika perlu, salin Username Google Cloud di bawah dan tempel ke dialog Sign in. Klik Next.
{{{user_0.username | "Google Cloud username"}}}
Anda juga dapat menemukan nama pengguna Google Cloud di panel Lab Details.
- Salin Google Cloud password di bawah dan tempel ke dialog Welcome. Klik Next.
{{{user_0.password | "Google Cloud password"}}}
Anda juga dapat menemukan password Google Cloud di panel Lab Details.
Penting: Anda harus menggunakan kredensial yang diberikan lab. Jangan menggunakan kredensial akun Google Cloud Anda.
Catatan: Menggunakan akun Google Cloud sendiri untuk lab ini dapat dikenai biaya tambahan.
- Klik halaman berikutnya:
- Setujui persyaratan dan ketentuan.
- Jangan tambahkan opsi pemulihan atau autentikasi 2 langkah (karena ini akun sementara).
- Jangan daftar uji coba gratis.
Setelah beberapa saat, konsol akan terbuka di tab ini.
Catatan: Anda dapat melihat menu berisi daftar Produk dan Layanan Google Cloud dengan mengklik Navigation menu di kiri atas.
Tugas 1. Meluncurkan virtual machine
Dalam tugas ini, Anda akan membuat alamat IP statis dan meluncurkan virtual machine untuk menjalankan aplikasi yang rentan.
- Di kolom judul Konsol Google Cloud, klik ikon Activate Cloud Shell (
). Jika diminta, klik Continue.
- Salin perintah berikut ke terminal Cloud Shell:
gcloud compute addresses create xss-test-ip-address --region={{{project_0.default_region | "REGION"}}}
Perintah ini membuat alamat IP statis bernama xss-test-ip-address di region . IP statis ini akan digunakan untuk memindai aplikasi web yang rentan.
- Tekan ENTER.
Jika diminta, klik Authorize
- Salin perintah berikut ke terminal Cloud Shell:
gcloud compute addresses describe xss-test-ip-address \
--region={{{project_0.default_region | "REGION"}}} --format="value(address)"
Perintah ini akan menampilkan alamat IP statis yang Anda buat.
- Tekan ENTER.
- Salin alamat IP dari output dan simpan di notepad. Anda akan menggunakannya di tugas selanjutnya.
- Salin perintah berikut ke terminal Cloud Shell:
gcloud compute instances create xss-test-vm-instance --address=xss-test-ip-address --no-service-account \
--no-scopes --machine-type=e2-micro --zone={{{project_0.default_zone | "ZONE"}}} \
--metadata=startup-script='apt-get update; apt-get install -y python3-flask'
Perintah ini membuat instance VM untuk menjalankan aplikasi yang rentan.
- Tekan ENTER.
Catatan: Skrip startup akan menginstal python-flask, Framework Aplikasi Web, yang digunakan untuk menjalankan aplikasi Python sederhana. Aplikasi ini mendemonstrasikan kerentanan pembuatan skrip lintas situs (XSS), yang merupakan kerentanan keamanan aplikasi web umum.
Klik Periksa progres saya untuk memverifikasi penyelesaian tugas ini dengan benar.
Meluncurkan virtual machine
Tugas 2. Menyiapkan dan menjalankan aplikasi yang rentan
Dalam tugas ini, Anda akan mendownload dan mengekstrak file aplikasi web untuk aplikasi yang rentan, lalu men-deploy aplikasi di SSH-in-browser.
Pertama, Anda akan membuat aturan firewall yang akan mengizinkan Web Security Scanner mengakses aplikasi yang rentan.
- Salin perintah berikut ke terminal Cloud Shell:
gcloud compute firewall-rules create enable-wss-scan \
--direction=INGRESS --priority=1000 \
--network=default --action=ALLOW \
--rules=tcp:8080 --source-ranges=0.0.0.0/0
Perintah ini membuat aturan firewall yang mengizinkan akses ke aplikasi web dari alamat IP sumber mana pun. Hal ini memungkinkan Web Security Scanner mengakses aplikasi yang rentan dan melakukan pemindaian.
- Tekan ENTER.
Selanjutnya, gunakan koneksi SSH untuk terhubung ke instance VM.
- Di Konsol Google Cloud, klik Navigation Menu (
).
- Pilih Compute Engine > VM instances.
- Di halaman VM instances, di kolom Connect, klik tombol SSH di samping instance pengujian Anda.
Tindakan ini akan membuka koneksi SSH ke instance VM Anda di jendela browser baru.
- Pop-up mungkin muncul dan meminta Anda mengizinkan SSH di browser untuk terhubung ke VM. Klik Authorize.
Sekarang, ekstrak file aplikasi web.
- Salin perintah berikut ke halaman SSH-in-browser (bukan di Cloud Shell):
gsutil cp gs://cloud-training/GCPSEC-ScannerAppEngine/flask_code.tar . && tar xvf flask_code.tar
Perintah ini akan mendownload dan mengekstrak file aplikasi web yang rentan.
-
Tekan Enter.
-
Terakhir, salin perintah berikut ke halaman SSH-in-browser:
python3 app.py
Perintah ini memulai aplikasi.
- Tekan ENTER.
Pesan akan menunjukkan bahwa aplikasi sudah berjalan dan beroperasi.
Catatan: Karena ini adalah aplikasi web yang diinstal untuk digunakan dalam pengembangan, mungkin ada kerentanan yang terkait dengan file konfigurasi. Penting untuk menguji aplikasi apa pun sebelum digunakan di jaringan yang menghadap publik.
Catatan: Jangan tutup halaman SSH-in-browser saat melakukan tugas berikutnya, karena aplikasi harus terus berjalan.
Klik Periksa progres saya untuk memverifikasi penyelesaian tugas ini dengan benar.
Menyiapkan dan menjalankan aplikasi yang rentan
Tugas 3. Mengakses aplikasi yang rentan
Dalam tugas ini, Anda akan menguji aplikasi Anda untuk kerentanan yang dikenal sebagai pembuatan skrip lintas situs (XSS). Kerentanan XSS dapat dieksploitasi oleh skrip berbahaya, seperti kode HTML, dalam konten yang kemudian disajikan ke browser web.
- Saat aplikasi berjalan, buka jendela browser baru.
- Salin URL di bawah ke tab browser, dan ganti
<YOUR_EXTERNAL_IP> dengan alamat IP statis VM yang Anda simpan di notepad pada Tugas 1:
http://<YOUR_EXTERNAL_IP>:8080
Portal perbankan korporat Cymbal Bank dengan formulir web akan muncul.
- Salin kode HTML berikut, termasuk tag skrip, ke dalam formulir web:
<script>alert('This is an XSS Injection to demonstrate one of OWASP vulnerabilities')</script>
Kode ini menyuntikkan kerentanan OWASP®.

- Klik POST.
Kode yang disisipkan menampilkan pesan kembali ke browser. Tindakan ini sendiri tidak berbahaya, tetapi penyerang dapat memasukkan kode berbahaya ke dalam aplikasi yang dapat dieksploitasi untuk mencuri data atau menanamkan malware ke perangkat pengguna.
Jendela pemberitahuan terbuka dengan pesan berikut: “This is an XSS Injection to demonstrate one of OWASP vulnerabilities”.
Tugas 4. Memindai aplikasi
Dalam tugas ini, Anda akan memindai aplikasi untuk mencari kerentanan menggunakan Web Security Scanner.
Pertama, aktifkan Web Security Scanner API.
- Di Konsol Google Cloud, klik Navigation menu (
).
- Pilih APIs & Services > Enabled APIs and services. Halaman APIs & Services akan ditampilkan.
- Klik + Enable APIs and services.
- Di kolom penelusuran, ketik Web Security Scanner, lalu tekan ENTER.
- Pilih Web Security Scanner API.
- Klik Enable.
Sekarang, pindai aplikasi untuk mencari kerentanan.
- Di Konsol Google Cloud, klik Navigation menu > View All Products (
).
- Pilih Security > Web Security Scanner.
Jika Web Security Scanner API diaktifkan, halaman Cloud Web Security Scanner akan menampilkan detail Scan configs.
-
Di toolbar Cloud Web Security Scanner, klik + New scan.
-
Di bagian Name, beri nama pemindaian ini Cross-Site Scripting scan.
Di bagian Starting URLs, kolom Starting URLs 1 akan diisi otomatis dengan alamat IP statis Anda.
- Tambahkan titik dua dan nomor port 8080 di akhir alamat IP. Starting URL 1 harus menyerupai yang berikut ini:
http://<YOUR_EXTERNAL_IP>:8080
- Jika ada, hapus Starting URL 2.
- Di bagian Excluded URLs, pastikan Authentication disetel ke None, dan Schedule disetel ke Never. Biarkan semua kolom lainnya tidak berubah.
- Klik Save untuk membuat pemindaian.
- Klik Run Scan untuk memulai pemindaian.
- Kembali ke jendela SSH-in-browser.
Di jendela SSH-in-browser, Anda akan melihat log yang dibuat saat Web Security Scanner menguji semua URL yang mungkin untuk kerentanan potensial.
- Setelah pemindaian selesai, kembali ke konsol Google Cloud.
Catatan: Pemindaian mungkin memerlukan waktu 5-10 menit untuk diselesaikan.
Tab Results akan menunjukkan kerentanan lintas situs, yang mendemonstrasikan cara Web Security Scanner mendeteksi kerentanan XSS.
Kerentanan juga dapat ditemukan di tab Vulnerabilities di bagian Security Command Centre.
Klik Periksa progres saya untuk memverifikasi penyelesaian tugas ini dengan benar.
Memindai aplikasi
Tugas 5. Memperbaiki kerentanan
Dalam tugas ini, Anda akan memperbaiki kerentanan XSS aplikasi dan menjalankan kembali aplikasi dengan perbaikan baru.
Rekomendasi untuk memperbaiki kerentanan saat ini adalah dengan memvalidasi dan menghindari data tidak tepercaya yang disediakan pengguna, yang juga mengarah ke aturan OWASP® yang sesuai.
Anda akan melakukannya dengan mengedit kode aplikasi yang rentan untuk menyertakan baris kode yang memvalidasi dan meng-escape data yang disediakan pengguna.
- Kembali ke halaman SSH-in-browser yang terhubung ke instance VM Anda.
- Tekan CTRL + C untuk menghentikan aplikasi yang sedang berjalan. Atau, Anda dapat mengklik ikon Send key combination di sudut kanan atas jendela SSH-in-browser untuk memasukkan kombinasi tombol CTRL + C.
Sekarang, edit file app.py menggunakan editor nano.
- Salin perintah berikut ke halaman SSH-in-browser:
nano app.py
Perintah ini akan membuka editor kode nano.
-
Tekan ENTER.
-
Untuk memperbaiki kerentanan XSS, Anda memvalidasi variabel string output. String output adalah output yang diproses dari input formulir web yang disediakan pengguna.
Pastikan aplikasi tidak menerima input pengguna sebagai kode HTML. Sebagai gantinya, aplikasi akan mengescape karakter khusus yang diberikan oleh input pengguna. Untuk melakukannya, temukan dua baris yang menetapkan string output:
# output_string = "".join([html_escape_table.get(c, c) for c in input_string])
output_string = input_string
- Hapus simbol # dari baris pertama, dan tambahkan ke awal baris berikutnya (pastikan Anda mengindentasi kode dengan benar). Baris terakhir harus menyerupai yang berikut ini:
@app.route('/output')
def output():
output_string = "".join([html_escape_table.get(c, c) for c in input_string])
# output_string = input_string
return flask.render_template("output.html", output=output_string)
- Tekan CTRL + X untuk keluar dari nano, lalu Y untuk menyimpan perubahan, dan kemudian ENTER untuk menyimpan perubahan.
- Salin perintah berikut ke terminal SSH-in-browser:
python3 app.py
Perintah ini akan menjalankan ulang aplikasi.
- Tekan ENTER.
Klik Periksa progres saya untuk memverifikasi penyelesaian tugas ini dengan benar.
Memperbaiki kerentanan
Tugas 6. Memindai ulang aplikasi web
Dalam tugas ini, Anda akan memindai ulang aplikasi untuk memastikan tidak ada kerentanan.
- Kembali ke halaman Cloud Web Security Scanner di Konsol Google Cloud.
- Klik Run untuk menjalankan kembali pemindaian.
Catatan: Pemindaian mungkin memerlukan waktu 5-10 menit untuk diselesaikan.
Tab Results sekarang akan menunjukkan bahwa tidak ada kerentanan yang ditemukan.
Klik Periksa progres saya untuk memverifikasi penyelesaian tugas ini dengan benar. Pastikan Anda menunggu hingga pemindaian selesai untuk mendapatkan kredit penyelesaian tugas ini.
Memindai ulang aplikasi web
Kesimpulan
Kerja bagus!
Melalui lab ini, Anda mendapatkan pengalaman praktis dalam memindai kerentanan aplikasi. Anda telah mempelajari pentingnya kemampuan analis keamanan untuk memindai kerentanan aplikasi, yang penting untuk membantu mengidentifikasi dan mengatasi potensi kelemahan, mengelola risiko, memenuhi persyaratan kepatuhan, dan terakhir, mempertahankan postur keamanan yang kuat untuk melindungi aset dan reputasi organisasi.
Dengan menutup celah keamanan dan mengatasi kelemahan, Anda dapat membantu mencegah potensi eksploitasi, meminimalkan dampak insiden keamanan, dan mempertahankan kepatuhan terhadap peraturan industri.
Di lab ini, Anda telah menyelesaikan salah satu aspek fundamental dari strategi pengamanan cyber proaktif.
Mengakhiri lab Anda
Sebelum mengakhiri lab, pastikan Anda puas telah menyelesaikan semua tugas. Jika sudah siap, klik Akhiri Lab, lalu klik Kirim.
Dengan mengakhiri lab, Anda akan menghapus akses ke lingkungan lab, dan Anda tidak akan dapat mengakses kembali pekerjaan yang telah Anda selesaikan di dalamnya.
Hak cipta 2026 Google LLC. Semua hak dilindungi undang-undang. Google dan logo Google adalah merek dagang dari Google LLC. Semua nama perusahaan dan produk lain mungkin adalah merek dagang dari tiap-tiap perusahaan yang bersangkutan.