Konten ini belum dioptimalkan untuk perangkat seluler.
Untuk pengalaman terbaik, kunjungi kami dengan komputer desktop menggunakan link yang dikirim melalui email.
GSP1262
Ringkasan
Web Security Scanner (WSS) adalah salah satu layanan bawaan Security Command Center yang dapat digunakan untuk mengidentifikasi kerentanan keamanan di aplikasi web App Engine, Google Kubernetes Engine (GKE), dan Compute Engine.
Layanan ini meng-crawl
aplikasi Anda, mengikuti semua link dalam cakupan URL awal,
dan mencoba menggunakan input pengguna dan pengendali peristiwa sebanyak mungkin. Web Security Scanner memindai dan mendeteksi empat kerentanan umum secara otomatis, termasuk pembuatan skrip lintas situs (XSS), injeksi Flash, konten campuran (HTTP dalam HTTPS), dan library lama/tidak aman.
Web Security Scanner memungkinkan identifikasi awal kerentanan dan memberikan rasio positif palsu yang sangat rendah. Anda dapat dengan mudah menyiapkan, menjalankan, menjadwalkan, dan mengelola pemindaian keamanan.
Di lab ini, Anda akan menggunakan Web Security Scanner untuk memindai aplikasi Python Flask guna mencari kerentanan.
Tujuan
Di lab ini, Anda akan mempelajari cara melakukan tugas berikut:
Meluncurkan aplikasi Python Flask yang rentan pada instance Compute Engine.
Menggunakan Web Security Scanner untuk memindai aplikasi dan menemukan kerentanan.
Memperbaiki kerentanan aplikasi.
Pindai aplikasi lagi dan verifikasi bahwa kerentanan sudah tidak ada.
Penyiapan dan persyaratan
Untuk setiap lab, Anda akan memperoleh project Google Cloud baru serta serangkaian resource selama jangka waktu tertentu, tanpa biaya.
Login ke Qwiklabs menggunakan jendela samaran.
Perhatikan waktu akses lab (misalnya, 1:15:00), dan pastikan Anda dapat menyelesaikannya dalam waktu tersebut.
Tidak ada fitur jeda. Bila perlu, Anda dapat memulai ulang lab, tetapi Anda harus memulai dari awal.
Jika sudah siap, klik Start lab.
Catat kredensial lab (Nama pengguna dan Sandi) Anda. Anda akan menggunakannya untuk login ke Google Cloud Console.
Klik Open Google Console.
Klik Use another account, lalu salin/tempel kredensial lab ini ke perintah yang muncul.
Jika menggunakan kredensial lain, Anda akan menerima pesan error atau dikenai biaya.
Setujui ketentuan dan lewati halaman resource pemulihan.
Skenario
Cymbal Bank adalah bank retail Amerika yang memiliki lebih dari 2.000 cabang di 50 negara bagian. Bank ini menawarkan layanan debit dan kredit lengkap yang dibangun di atas platform pembayaran yang andal. Cymbal Bank adalah lembaga jasa keuangan lama yang bertransformasi secara digital.
Cymbal Bank didirikan pada tahun 1920 dengan nama Troxler. Cymbal Group mengakuisisi Troxler pada tahun 1975 setelah perusahaan tersebut berinvestasi besar-besaran pada ATM milik Cymbal Group. Seiring perkembangannya menjadi pemimpin di taraf nasional, mereka menjalankan strategi modernisasi pengalaman nasabah, baik secara langsung di cabang-cabangnya maupun secara digital melalui aplikasi yang diluncurkan pada tahun 2014. Cymbal Bank memiliki 42.000 orang karyawan di seluruh negeri dan mencatatkan pendapatan sebesar $24 miliar pada tahun 2019.
Cymbal Bank tertarik untuk mengembangkan aplikasi perbankan baru bagi klien korporat mereka menggunakan teknologi Google Cloud. Keamanan aplikasi sangat penting, dan CTO ingin melihat bagaimana Google Cloud dapat mengidentifikasi dan memitigasi kerentanan keamanan aplikasi. Sebagai Cloud Security Engineer, Anda ditugaskan untuk mendemonstrasikan fitur pemindaian kerentanan aplikasi canggih Security Command Center.
Tugas 1. Meluncurkan virtual machine dan membuat aturan firewall untuk WSS
Dalam tugas ini, Anda akan menyiapkan infrastruktur untuk mendemonstrasikan kerentanan aplikasi kepada CTO Cymbal Bank. Lebih tepatnya, Anda akan men-deploy virtual machine dan membuka aturan firewall agar Web Security Scanner dapat mengakses aplikasi rentan yang ingin Anda deploy.
Di kolom judul Konsol Google Cloud, klik Activate Cloud Shell (). Jika diminta, klik Continue.
Buat alamat IP statis yang dapat digunakan untuk memindai aplikasi web yang rentan dengan menjalankan perintah berikut:
Skrip startup menginstal python-flask, Framework Aplikasi Web, yang digunakan untuk menjalankan aplikasi Python sederhana yang mendemonstrasikan kerentanan pembuatan skrip lintas situs (XSS), yang merupakan kerentanan keamanan aplikasi web umum.
Jalankan perintah berikut untuk membuka aturan firewall agar Web Security Scanner dapat mengakses aplikasi yang rentan. Perhatikan rentang sumber tempat Web Security Scanner memindai aplikasi.
Klik Periksa progres saya untuk memverifikasi tujuan.
Membuat VM dengan konfigurasi yang diinginkan
Tugas 2. Men-deploy aplikasi yang rentan untuk memicu kerentanan XSS
Dalam tugas ini, Anda akan mendapatkan kode aplikasi dan memperkenalkan kerentanan agar dapat dideteksi oleh Web Security Scanner. Aplikasi ini berupa formulir sederhana yang menerima input pengguna dan mengeluarkannya tanpa perubahan apa pun.
Di konsol Cloud, pada Navigation menu (), klik Compute Engine>VM Instances.
Mungkin perlu waktu satu menit untuk melakukan inisialisasi pertama kali.
Kemudian klik tombol SSH di samping instance Anda:
Pop-up mungkin muncul dan meminta Anda mengizinkan SSH di browser untuk terhubung ke VM. Click Authorize.
Tindakan ini akan membuka koneksi SSH ke instance VM Anda di jendela baru.
Di jendela SSH ini (Not in Cloud Shell), jalankan perintah berikut untuk mendownload dan mengekstrak file aplikasi web yang rentan:
gsutil cp gs://cloud-training/GCPSEC-ScannerAppEngine/flask_code.tar . && tar xvf flask_code.tar
Sekarang jalankan perintah berikut untuk men-deploy aplikasi Anda:
python3 app.py
Tak lama kemudian, Anda akan menerima pesan yang menunjukkan bahwa aplikasi Anda sudah berjalan dan beroperasi.
Output:
* Serving Flask app "app" (lazy loading)
* Environment: production
WARNING: This is a development server. Jangan gunakan dalam deployment
produksi.
Gunakan server WSGI produksi sebagai gantinya.
* Debug mode: off
* Running on http://0.0.0.0:8080/ (Press CTRL+C to quit)
Temukan alamat IP statis VM yang Anda salin ke notepad sebelumnya.
Ganti YOUR_EXTERNAL_IP di kolom URL di bawah dengan alamat IP tersebut, lalu buka URL di tab browser baru:
http://<YOUR_EXTERNAL_IP>:8080
Catatan: Anda juga dapat menemukan alamat IP eksternal di Konsol Google Cloud, yang tercantum sebagai kolom yang terkait dengan instance VM Anda.Catatan: Jika Anda melihat pop-up yang menunjukkan bahwa IP eksternal tidak mendukung koneksi aman, klik Continue to site.
Portal perbankan korporat Cymbal Bank dengan formulir web akan muncul.
Di formulir web, masukkan string berikut:
<script>alert('This is an XSS Injection')</script>
Sekarang klik tombol POST.
Anda akan menerima jendela pemberitahuan berikut.
Ini adalah kerentanan umum dalam aplikasi web: kerentanan pembuatan skrip lintas situs. Pembuatan skrip lintas situs (XSS) adalah kerentanan yang memungkinkan penyerang menjalankan skrip berbahaya di browser pengguna dalam konteks aplikasi Anda. Browser Anda menafsirkan string sebagai JavaScript yang sah dan mengeksekusinya.
Penyerang yang menggunakan bug XSS untuk menyuntikkan JavaScript ke halaman HTML akan mendapatkan akses yang hampir tidak terbatas ke sesi login korban yang mengunjungi halaman tersebut: mereka dapat mencuri data pengguna, merusaknya, mengubah setelan privasi atau keamanan, atau bahkan mengubah sepenuhnya tampilan dan pengoperasian produk. Terlebih lagi, kerentanan XSS dalam satu aplikasi, sekecil apa pun, dapat membahayakan konten lain dalam domain yang sama.
Ini adalah salah satu dari banyak kerentanan aplikasi yang dapat diidentifikasi oleh Web Security Scanner.
Klik Periksa progres saya untuk memverifikasi tujuan.
Mendownload file aplikasi web yang rentan di VM
Tugas 3. Mengaktifkan Web Security Scanner API
Setelah aplikasi yang rentan diluncurkan, saatnya mendemonstrasikan kemampuan Web Security Scanner kepada CTO. Namun, pertama-tama, Anda perlu mengonfigurasi API yang digunakan WSS untuk berjalan.
Beralih kembali ke tab browser Konsol Cloud.
Dari Navigation menu (), pilih APIs & Services>Library.
Di kolom Search for APIs and services, ketik Web Security Scanner, lalu tekan Enter.
Pilih Web Security Scanner API.
Klik Enable untuk mengaktifkan Web Security Scanner API.
Klik Periksa progres saya untuk memverifikasi tujuan.
Mengaktifkan Web Security Scanner API
Tugas 4. Memindai aplikasi yang di-deploy dengan WSS
Dalam tugas ini, Anda akan mengonfigurasi dan menyiapkan pemindaian aplikasi untuk memeriksa apakah aplikasi tersebut menemukan kerentanan keamanan.
Buka Navigation menu (), lalu pilih Security>Web Security Scanner.
Klik + New Scan.
Di bagian Starting URLs, kolom Starting URLs 1 akan diisi otomatis dengan alamat IP statis Anda.
Tambahkan nomor port 8080, sehingga Starting URL menyerupai yang berikut ini:
http://<EXTERNAL_IP>:8080
Jika ada, hapus Starting URL 2.
Luangkan waktu sebentar untuk meninjau kolom yang tersisa di layar Create a new scan:
Authentication: properti yang dapat digunakan untuk menyediakan kredensial aplikasi agar pemindai dapat mengautentikasi ke aplikasi saat memindai.
Schedule: properti yang dapat digunakan untuk menjadwalkan pemindaian agar berjalan secara otomatis.
Ekspor ke Security Command Center: properti yang memungkinkan Anda mengekspor konfigurasi pemindaian dan hasil pemindaian secara otomatis ke Cloud Security Command Center setelah pemindaian selesai.
Pastikan Authentication masih disetel ke None dan Schedule disetel ke Never.
Klik Show More untuk menyelidiki setelan yang tersisa.
Klik Save untuk membuat pemindaian.
Catatan: Perintah ini akan membuat pemindaian, tetapi jangan jalankan dulu. Saat ini, pipeline harus dijalankan secara manual karena Anda belum membuat jadwal.
Klik Run untuk memulai pemindaian
Catatan: Mengingat banyaknya kemungkinan pengujian, pemindaian ini dapat memakan waktu lebih dari 10 menit.
Kembali ke sesi SSH Anda di jendela browser terpisah.
Jika sesi habis waktunya, jalankan perintah berikut untuk memulai ulang aplikasi Anda:
python3 app.py
Di Jendela SSH, Anda akan mulai melihat log yang dibuat mirip dengan contoh di bawah—ini adalah Web Security Scanner yang menguji semua URL untuk mencari potensi kerentanan.
Saat pemindaian berjalan, Anda dapat menjelajahi tab Results, URLs Crawled, dan Details. Anda juga dapat menonton video memulai ini, atau video pemindaian kerentanan ini untuk mempelajari lebih lanjut Web Security Scanner.
Setelah pemindaian selesai dijalankan, tab Results akan menunjukkan kerentanan lintas situs.
Web Security Scanner dapat memindai semua URL awal dan mendeteksi kerentanan XSS di aplikasi Cymbal Bank. Kemampuan untuk mengotomatiskan deteksi kerentanan penting ini merupakan manfaat besar bagi organisasi yang berorientasi pada keamanan seperti Cymbal Bank.
Klik Periksa progres saya untuk memverifikasi tujuan.
Menjalankan pemindaian Web Security Scanner dan mendeteksi kerentanan aplikasi
Tugas 5. Perbaiki kerentanan dan pindai lagi
Setelah Anda mendemonstrasikan bahwa Web Security Scanner dapat mendeteksi kerentanan XSS, Anda akan memperbaiki kerentanan tersebut dan menjalankan pemindaian aplikasi lagi.
Kembali ke jendela SSH yang terhubung ke instance VM Anda.
Hentikan aplikasi yang sedang berjalan dengan menekan CTRL + C.
Edit file app.py menggunakan editor nano dengan menjalankan perintah berikut:
nano app.py
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 Anda 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)
Catatan:html_escape_table adalah kamus yang berisi pasangan one-to-one karakter HTML khusus seperti "<" dengan representasi teksnya. Anda menggunakan tabel ini untuk meng-escape karakter HTML khusus agar formulir Anda hanya menyerap dan menafsirkan pengiriman sebagai teks mentah. Anda dapat membaca dokumentasi Apa itu HTML Escape? ini untuk mengetahui informasi selengkapnya.
Sekarang ketik CTRL+X, Y, dan Enter untuk menyimpan perubahan Anda.
Jalankan kembali aplikasi:
python3 app.py
Kembali ke tab browser konsol Google Cloud (Anda seharusnya masih membuka halaman Web Security Scanner):
Klik Run di bagian atas halaman.
Di Jendela SSH, Anda akan mulai melihat log tempat Web Security Scanner menguji URL aplikasi untuk mencari potensi kerentanan.
Sambil menunggu hasil pemindaian, login ke URL http://<EXTERNAL_IP>:8080 menggunakan browser Anda di tab terpisah.
Formulir web akan ditampilkan sekali lagi.
Di formulir web, masukkan string yang sama dengan yang Anda masukkan sebelumnya:
<script>alert('This is an XSS Injection')</script>
Sekarang klik tombol POST.
Pastikan kali ini Anda menerima string berikut di browser:
Catatan: Meskipun teknik ini berfungsi dalam skenario sederhana ini, untuk perlindungan yang tepat terhadap aplikasi web Anda, Anda perlu menggunakan teknik dan framework yang lebih canggih yang berada di luar cakupan lab ini. Jelajahi link di bawah untuk mendapatkan referensi lainnya:
Kembali ke konsol Google Cloud, tempat Anda berhenti di halaman Web Security Scanner.
Klik Run di bagian atas halaman untuk memindai ulang aplikasi Anda.
Tidak lama kemudian, Anda akan melihat bahwa hasilnya tidak lagi menghasilkan kerentanan XSS.
Klik Periksa progres saya untuk memverifikasi tujuan.
Memperbaiki kerentanan dan memindai ulang aplikasi Anda menggunakan Web Security Scanner
Selamat!
Anda telah berhasil mendemonstrasikan kepada CTO Cymbal Bank cara mengidentifikasi dan memperbaiki kerentanan XSS dengan solusi Web Security Scanner Google Cloud yang canggih.
Mengakhiri lab Anda
Setelah Anda menyelesaikan lab, klik Akhiri Lab. Google Cloud Skills Boost menghapus resource yang telah Anda gunakan dan membersihkan akun.
Anda akan diberi kesempatan untuk menilai pengalaman menggunakan lab. Pilih jumlah bintang yang sesuai, ketik komentar, lalu klik Submit.
Makna jumlah bintang:
1 bintang = Sangat tidak puas
2 bintang = Tidak puas
3 bintang = Netral
4 bintang = Puas
5 bintang = Sangat puas
Anda dapat menutup kotak dialog jika tidak ingin memberikan masukan.
Untuk masukan, saran, atau koreksi, gunakan tab Support.
Sertifikasi dan pelatihan Google Cloud
...membantu Anda mendapatkan manfaat optimal dari teknologi Google Cloud. Kelas kami mencakup keterampilan teknis dan praktik terbaik untuk membantu Anda memahami dengan cepat dan melanjutkan proses pembelajaran. Kami menawarkan pelatihan tingkat dasar hingga lanjutan dengan opsi on demand, live, dan virtual agar dapat disesuaikan dengan jadwal Anda yang sibuk. Sertifikasi membantu Anda memvalidasi dan membuktikan keterampilan serta keahlian Anda dalam teknologi Google Cloud.
Manual Terakhir Diperbarui pada 27 Februari 2025
Lab Terakhir Diuji pada 27 Februari 2025
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 masing-masing perusahaan yang bersangkutan.
Lab membuat project dan resource Google Cloud untuk jangka waktu tertentu
Lab memiliki batas waktu dan tidak memiliki fitur jeda. Jika lab diakhiri, Anda harus memulainya lagi dari awal.
Di kiri atas layar, klik Start lab untuk memulai
Gunakan penjelajahan rahasia
Salin Nama Pengguna dan Sandi yang diberikan untuk lab tersebut
Klik Open console dalam mode pribadi
Login ke Konsol
Login menggunakan kredensial lab Anda. Menggunakan kredensial lain mungkin menyebabkan error atau dikenai biaya.
Setujui persyaratan, dan lewati halaman resource pemulihan
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
Gunakan jendela Samaran atau browser pribadi 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.
Di lab ini, Anda akan menggunakan Web Security Scanner—salah satu layanan bawaan Security Command Center—untuk memindai aplikasi Python Flask guna mencari kerentanan.