Rendio Simamora
Penetration testing, juga dikenal sebagai ethical hacking, adalah proses menguji keamanan sistem komputer, jaringan, atau aplikasi web untuk mengidentifikasi kerentanan yang dapat dieksploitasi oleh penyerang. Tujuan dari penetrasi testing adalah untuk menemukan celah keamanan sebelum penyerang yang tidak sah dapat mengeksploitasi mereka. Penetrasi testing penting untuk memastikan bahwa sistem memiliki pertahanan yang kuat terhadap ancaman keamanan dan bahwa informasi sensitif terlindungi dari akses yang tidak sah.
Portofolio ini mendokumentasikan proses penetration testing (pentest) yang dilakukan pada situs web me********anan.com. Portofolio ini dimulai dari tahap pengumpulan informasi (information gathering) hingga identifikasi dan eksploitasi kerentanan SQL Injection. Tujuan dari portofolio ini adalah untuk mengidentifikasi kerentanan yang ada, mengeksploitasi kerentanan tersebut untuk menunjukkan dampaknya, dan memberikan rekomendasi perbaikan guna meningkatkan keamanan situs web tersebut. Hasil penelitian menunjukkan adanya kerentanan SQL Injection pada parameter 'id' yang memungkinkan penyerang untuk mengakses dan memodifikasi data sensitif.
Situs web me********anan.com adalah platform online yang menyediakan layanan sistem informasi gereja untuk HKBP K***** Kota. Situs ini digunakan oleh jemaat gereja untuk mengelola data laporan iuran gereja. Mengingat situs ini berisi informasi sensitif seperti data pribadi jemaat, keamanan data dan layanan yang disediakan sangat penting untuk menjaga kepercayaan pengguna.
Penelitian ini bertujuan untuk:
Pengujian dilakukan pada situs web me********anan.com, mencakup tahap-tahap berikut:
Keamanan Web
Keamanan web mencakup berbagai teknik dan metode untuk melindungi aplikasi web dari berbagai ancaman. Proses pentest terdiri dari beberapa tahap, termasuk pengumpulan informasi, identifikasi kerentanan, eksploitasi, dan verifikasi.
Information Gathering
Tahap ini bertujuan untuk mengumpulkan informasi sebanyak mungkin tentang target. Informasi ini digunakan untuk mengidentifikasi titik lemah dan merencanakan serangan. Teknik yang digunakan termasuk pemindaian DNS, IP address, lokasi server, subdomain, versi PHP, dan jenis database yang digunakan.
SQL Injection
SQL Injection adalah teknik injeksi kode yang mengeksploitasi kerentanan dalam aplikasi yang berkomunikasi dengan database. Serangan ini memungkinkan penyerang untuk menjalankan perintah SQL yang tidak sah, sehingga dapat mengakses, memodifikasi, atau menghapus data dalam database.
Metode Pentest
Pentest atau pengujian penetrasi adalah proses menguji sistem untuk menemukan kerentanan. Metode yang digunakan dalam pengujian ini melibatkan alat otomatis seperti SQLMap untuk mendeteksi dan mengeksploitasi SQL Injection.
Prosedur Pengujian
Alat yang Digunakan
Information Gathering
Beberapa teknik yang digunakan dalam tahap pengumpulan informasi termasuk:
Kerentanan ditemukan pada parameter 'id' di halaman laporan iuran, yang mengakibatkan website mengembalikan error 500 Internal Server Error jika input user tidak disanitize sebelum dikirim ke database. Contoh URL dan parameter rentan yang diuji:
Payload ' (single quote) berhasil digunakan untuk membuat Error 500 (Internal Server Error). Berikut adalah detail request dan response yang menunjukkan eksploitasi kerentanan:
Eksploitasi kerentanan ini dapat mengakibatkan:
Risiko yang ditimbulkan cukup besar, mengingat dampak yang dapat mempengaruhi kerahasiaan, integritas, dan ketersediaan data. Eksploitasi kerentanan ini dapat mengakibatkan akses tidak sah ke data sensitif dan potensi modifikasi data oleh penyerang.