Petunjuk dan persyaratan penyiapan lab
Lindungi akun dan progres Anda. Selalu gunakan jendela browser pribadi dan kredensial lab untuk menjalankan lab ini.

Mengidentifikasi kerentanan dan teknik perbaikan

Lab 1 jam 30 menit universal_currency_alt 5 Kredit show_chart Pengantar
info Lab ini mungkin menggabungkan alat AI untuk mendukung pembelajaran Anda.
Konten ini belum dioptimalkan untuk perangkat seluler.
Untuk pengalaman terbaik, kunjungi kami dengan komputer desktop menggunakan link yang dikirim melalui email.
ikon penting PENTING:

ikon desktop/laptop Pastikan untuk menyelesaikan lab praktik ini hanya di desktop/laptop.

Ikon centang Hanya ada 5 percobaan yang diizinkan per lab.

ikon target kuis 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.

ikon timer Setelah lab dimulai, timer tidak dapat dijeda. Setelah 1 jam 30 menit, lab akan berakhir dan Anda harus memulainya lagi.

ikon tip 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

  1. 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.
  2. 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.
  3. 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.

  1. 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.
  1. 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. Menu konsol Google Cloud dengan ikon Navigation menu yang ditandai

Tugas 1. Meluncurkan virtual machine

Dalam tugas ini, Anda akan membuat alamat IP statis dan meluncurkan virtual machine untuk menjalankan aplikasi yang rentan.

  1. Di kolom judul Konsol Google Cloud, klik ikon Activate Cloud Shell (Ikon Activate Cloud Shell). Jika diminta, klik Continue.
  2. 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.

  1. Tekan ENTER.

Jika diminta, klik Authorize

  1. 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.

  1. Tekan ENTER.
  2. Salin alamat IP dari output dan simpan di notepad. Anda akan menggunakannya di tugas selanjutnya.
  3. 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.

  1. 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.

  1. 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.

  1. Tekan ENTER.

Selanjutnya, gunakan koneksi SSH untuk terhubung ke instance VM.

  1. Di Konsol Google Cloud, klik Navigation Menu (Navigation Menu).
  2. Pilih Compute Engine > VM instances.
  3. 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.

  1. Pop-up mungkin muncul dan meminta Anda mengizinkan SSH di browser untuk terhubung ke VM. Klik Authorize.

Sekarang, ekstrak file aplikasi web.

  1. 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.

  1. Tekan Enter.

  2. Terakhir, salin perintah berikut ke halaman SSH-in-browser:

python3 app.py

Perintah ini memulai aplikasi.

  1. 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.

  1. Saat aplikasi berjalan, buka jendela browser baru.
  2. 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.

  1. 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®.

Halaman web untuk aplikasi demo Cymbal Bank menampilkan formulir web yang berisi skrip pembuatan skrip lintas situs

  1. 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.

  1. Di Konsol Google Cloud, klik Navigation menu (Navigation Menu).
  2. Pilih APIs & Services > Enabled APIs and services. Halaman APIs & Services akan ditampilkan.
  3. Klik + Enable APIs and services.
  4. Di kolom penelusuran, ketik Web Security Scanner, lalu tekan ENTER.
  5. Pilih Web Security Scanner API.
  6. Klik Enable.

Sekarang, pindai aplikasi untuk mencari kerentanan.

  1. Di Konsol Google Cloud, klik Navigation menu > View All Products (Navigation Menu).
  2. Pilih Security > Web Security Scanner.

Jika Web Security Scanner API diaktifkan, halaman Cloud Web Security Scanner akan menampilkan detail Scan configs.

  1. Di toolbar Cloud Web Security Scanner, klik + New scan.

  2. 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.

  1. Tambahkan titik dua dan nomor port 8080 di akhir alamat IP. Starting URL 1 harus menyerupai yang berikut ini:
http://<YOUR_EXTERNAL_IP>:8080
  1. Jika ada, hapus Starting URL 2.
  2. Di bagian Excluded URLs, pastikan Authentication disetel ke None, dan Schedule disetel ke Never. Biarkan semua kolom lainnya tidak berubah.
  3. Klik Save untuk membuat pemindaian.
  4. Klik Run Scan untuk memulai pemindaian.
  5. 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.

  1. 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.

  1. Kembali ke halaman SSH-in-browser yang terhubung ke instance VM Anda.
  2. 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.

  1. Salin perintah berikut ke halaman SSH-in-browser:
nano app.py

Perintah ini akan membuka editor kode nano.

  1. Tekan ENTER.

  2. 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
  1. 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)
  1. Tekan CTRL + X untuk keluar dari nano, lalu Y untuk menyimpan perubahan, dan kemudian ENTER untuk menyimpan perubahan.
  2. Salin perintah berikut ke terminal SSH-in-browser:
python3 app.py

Perintah ini akan menjalankan ulang aplikasi.

  1. 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.

  1. Kembali ke halaman Cloud Web Security Scanner di Konsol Google Cloud.
  2. 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.

Sebelum memulai

  1. Lab membuat project dan resource Google Cloud untuk jangka waktu tertentu
  2. Lab memiliki batas waktu dan tidak memiliki fitur jeda. Jika lab diakhiri, Anda harus memulainya lagi dari awal.
  3. Di kiri atas layar, klik Start lab untuk memulai

Gunakan penjelajahan rahasia

  1. Salin Nama Pengguna dan Sandi yang diberikan untuk lab tersebut
  2. Klik Open console dalam mode pribadi

Login ke Konsol

  1. Login menggunakan kredensial lab Anda. Menggunakan kredensial lain mungkin menyebabkan error atau dikenai biaya.
  2. Setujui persyaratan, dan lewati halaman resource pemulihan
  3. Jangan klik End lab kecuali jika Anda sudah menyelesaikan lab atau ingin mengulanginya, karena tindakan ini akan menghapus pekerjaan Anda dan menghapus project

Konten ini tidak tersedia untuk saat ini

Kami akan memberi tahu Anda melalui email saat konten tersedia

Bagus!

Kami akan menghubungi Anda melalui email saat konten tersedia

Satu lab dalam satu waktu

Konfirmasi untuk mengakhiri semua lab yang ada dan memulai lab ini

Gunakan penjelajahan rahasia untuk menjalankan lab

Menggunakan jendela Samaran atau browser pribadi adalah cara terbaik untuk menjalankan lab ini. Langkah ini akan mencegah konflik antara akun pribadi Anda dan akun Siswa, yang dapat menyebabkan tagihan ekstra pada akun pribadi Anda.