Nusacodes
Kembali ke Showcase
27 September 2026 Krish Pranata

Final Project Bootcamp Cybersecurity for Web: Pengujian Keamanan Web pada DVWA

Bootcamp Cybersecurity for Web Application Security

Final Project Bootcamp Cybersecurity for Web: Pengujian Keamanan Web pada DVWA
Kunjungi

Pada Final Project Bootcamp Cybersecurity for Web, peserta mengerjakan studi kasus penetration testing terhadap DVWA atau Damn Vulnerable Web Application pada environment localhost dengan security level Low. Project difokuskan pada identifikasi, validasi, dokumentasi dampak, serta penyusunan rekomendasi terhadap beberapa kerentanan web yang umum ditemukan pada aplikasi. Pasted text

Melalui project ini, peserta tidak hanya mencari celah keamanan, tetapi juga menyusun laporan pengujian yang menjelaskan kondisi kerentanan, bukti bahwa masalah dapat direproduksi, dampak terhadap sistem, serta pendekatan perbaikan yang dapat diterapkan.

Studi Kasus Pengujian DVWA

DVWA digunakan sebagai target latihan karena menyediakan berbagai skenario web vulnerability yang dapat diuji pada lingkungan lokal. Pada project ini, pengujian dilakukan pada security level Low sehingga peserta dapat memahami bagaimana implementasi yang tidak aman dapat memunculkan risiko terhadap aplikasi.

Dari proses assessment, peserta mendokumentasikan enam jenis kerentanan utama, yaitu SQL Injection, Command Injection, Unrestricted File Upload, Reflected Cross Site Scripting, Stored Cross Site Scripting, dan Cross Site Request Forgery.

Setiap temuan dilengkapi dengan tingkat severity, deskripsi masalah, hasil Proof of Concept, dampak, serta rekomendasi mitigasi.

SQL Injection dan Kebocoran Data

Temuan pertama adalah SQL Injection pada fitur pencarian berdasarkan User ID.

Permasalahan muncul karena input pengguna digunakan langsung pada query database tanpa prepared statement atau parameterized query. Kondisi tersebut memungkinkan struktur query berubah berdasarkan input yang diberikan.

Dalam pengujian, peserta berhasil membuktikan bahwa kerentanan dapat menyebabkan data user pada database ikut terekspos, termasuk password hash. Hash tersebut menggunakan MD5 tanpa salt sehingga dapat lebih mudah dipulihkan menjadi password asli.

Temuan ini dikategorikan Critical karena dapat menyebabkan kebocoran data, authentication bypass, dan account takeover apabila terjadi pada aplikasi produksi. Pasted text

Dari studi kasus ini, peserta memahami pentingnya prepared statement, validasi input, prinsip least privilege pada database, serta penggunaan algoritma password hashing yang lebih kuat.

Command Injection pada Fitur Ping

Peserta juga menguji fitur yang menerima alamat IP dan menjalankan perintah ping.

Karena input dimasukkan langsung ke proses eksekusi shell tanpa pembatasan yang memadai, input tambahan dapat ikut dieksekusi sebagai perintah sistem operasi.

Hasil pengujian menunjukkan bahwa perintah berjalan menggunakan akun web server dan memiliki kemampuan membaca informasi sistem tertentu. Temuan ini dikategorikan Critical karena dapat berkembang menjadi Remote Code Execution. Pasted text

Insight utama dari pengujian ini adalah bahwa data input pengguna tidak seharusnya langsung digabungkan ke shell command. Validasi ketat dan penggunaan fungsi yang tidak bergantung pada shell lebih aman dibandingkan sekadar melakukan blacklist karakter tertentu.

Unrestricted File Upload

Temuan berikutnya berada pada fitur upload file.

Pada konfigurasi yang diuji, aplikasi tidak melakukan validasi ekstensi, MIME type, maupun isi file secara memadai. File yang diunggah juga ditempatkan pada direktori yang dapat diakses oleh web server.

Peserta memvalidasi bahwa kondisi tersebut memungkinkan file berisi kode server side dijalankan setelah berhasil diunggah. Kerentanan ini dikategorikan High karena dapat memberikan akses eksekusi kode pada server. Pasted text

Rekomendasi yang dipelajari mencakup penggunaan whitelist tipe file, validasi MIME type, pembatasan ukuran, random file naming, penyimpanan di luar webroot, serta menonaktifkan eksekusi script pada direktori upload.

Reflected dan Stored Cross Site Scripting

Project juga mencakup dua bentuk Cross Site Scripting.

Pada Reflected XSS, input pengguna dipantulkan langsung ke halaman tanpa output encoding. Kondisi ini memungkinkan script dijalankan pada browser ketika parameter tertentu diproses.

Pada Stored XSS, input disimpan ke database dan kemudian ditampilkan kembali ke pengguna lain tanpa sanitasi atau encoding yang memadai. Karena payload tersimpan, dampaknya dapat terjadi berulang kali ketika halaman terkait dibuka. Pasted text

Melalui bagian ini, peserta mempelajari pentingnya output encoding, sanitasi input, Content Security Policy, serta penggunaan atribut HttpOnly pada session cookie.

Cross Site Request Forgery

Temuan terakhir adalah CSRF pada fitur perubahan password.

Form yang diuji tidak menggunakan anti CSRF token dan tidak meminta password lama sebelum melakukan perubahan password. Selain itu, perubahan state dilakukan menggunakan parameter yang dapat dipicu melalui request dari halaman lain.

Peserta memvalidasi bahwa perubahan password dapat terjadi menggunakan session pengguna yang masih aktif pada kondisi tertentu. Kerentanan ini dikategorikan Medium. Pasted text

Dari pengujian ini, peserta memahami pentingnya anti CSRF token, verifikasi password lama untuk aksi sensitif, penggunaan metode POST untuk perubahan state, serta atribut SameSite dan HttpOnly pada cookie.

Teknologi dan Tools yang Digunakan

Final project menggunakan DVWA sebagai target web application security testing pada lingkungan localhost.

Pengujian dilakukan dengan dukungan Kali Linux, browser, inspection tools, terminal, Python HTTP server untuk simulasi tertentu, serta CrackStation untuk memeriksa kelemahan password hash MD5.

Selain tools, peserta juga berhadapan langsung dengan konsep teknis seperti SQL query, shell command execution, PHP upload handling, session cookie, HTTP request, server side validation, dan browser security behavior.

Insight dan Benefit Final Project

Melalui final project ini, peserta mendapatkan pengalaman memahami hubungan antara kelemahan implementasi aplikasi dan dampak keamanannya.

Peserta tidak hanya mengenali nama kerentanan, tetapi juga melihat bagaimana SQL Injection dapat menyebabkan kebocoran database, Command Injection dan File Upload dapat berkembang menjadi Remote Code Execution, XSS dapat memengaruhi session pengguna, serta CSRF dapat memicu aksi tanpa persetujuan korban.

Project juga melatih peserta menyusun dokumentasi security finding secara lebih terstruktur melalui severity, deskripsi, Proof of Concept, impact, dan remediation recommendation.

Hasil akhirnya dapat digunakan sebagai bagian dari portfolio untuk menunjukkan pengalaman dasar dalam web application security assessment, vulnerability validation, risk analysis, dan penyusunan laporan penetration testing pada lingkungan latihan yang memang dirancang untuk pembelajaran.