Aplikasi web adalah program yang memungkinkan pengguna berinteraksi dengan server web. Mereka dijalankan di browser web dengan bantuan skrip sisi klien dan server.
Arsitektur aplikasi web terdiri dari:
Lapisan klien / presentasi terdiri dari perangkat tempat aplikasi berjalan. Perangkat tersebut termasuk laptop, tablet, smartphone, dll.
Lapisan logika bisnis memiliki dua lapisan:
Lapisan logika server web yang terdiri dari komponen yang menangani permintaan dan tanggapan, dan pengkodean yang membaca dan mengembalikan data ke browser
Lapisan logika bisnis yang berisi data aplikasi
Lapisan database terdiri dari lapisan B2B dan server database tempat data organisasi disimpan.
OWASP adalah komunitas terbuka yang didedikasikan untuk memungkinkan organisasi memahami, mengembangkan, memperoleh, mengoperasikan, dan memelihara aplikasi yang dapat dipercaya.
Proyek 10 teratas OWASP menghasilkan dokumen yang menjelaskan 10 ancaman keamanan aplikasi teratas.
Dokumen terbaru mencantumkan 10 ancaman keamanan teratas berikut ini:
Serangan injeksi adalah serangan di mana penyerang menyuntikkan data berbahaya ke dalam perintah dan kueri yang kemudian dieksekusi dalam aplikasi.
Serangan ini menargetkan bidang masukan atau titik masuk aplikasi dan memungkinkan penyerang mengekstrak informasi sensitif.
Serangan injeksi yang paling umum digunakan adalah:
Otentikasi rusak mengacu pada ancaman dan kerentanan dalam otentikasi dan manajemen sesi.
Penyerang memanfaatkan kerentanan ini untuk meniru identitas target mereka.
Beberapa kerentanan yang ada meliputi:
Ancaman pemaparan data sensitif terjadi dalam aplikasi yang menggunakan kode enkripsi lemah untuk enkripsi dan penyimpanan data.
Kerentanan ini memungkinkan penyerang dengan mudah memecahkan enkripsi dan mencuri data.
Serangan Entitas Eksternal XML adalah serangan di mana penyerang memanfaatkan parser XML yang dikonfigurasi dengan buruk yang menyebabkan aplikasi mengurai masukan XML yang berasal dari sumber yang tidak tepercaya.
Kontrol akses yang rusak mengacu pada ancaman dan kerentanan dalam kontrol akses. Penyerang memanfaatkan kerentanan ini untuk menghindari otentikasi dan mendapatkan hak istimewa admin.
Kesalahan konfigurasi keamanan mengacu pada kerentanan yang ada di aplikasi dengan tumpukan aplikasi yang dikonfigurasi dengan buruk.
Beberapa masalah yang menyebabkan kerentanan kesalahan konfigurasi keamanan meliputi:
Serangan Cross-Site Scripting adalah serangan di mana penyerang memasukkan skrip ke halaman web yang dijalankan pada sistem target.
Deserialization tidak aman mengacu pada kerentanan yang dieksploitasi oleh penyerang dengan memasukkan kode berbahaya ke dalam data serial yang kemudian dikirim ke target.
Karena kerentanan deserialisasi yang tidak aman, data serial yang berbahaya dinonaktifkan tanpa kode berbahaya terdeteksi, yang memungkinkan penyerang mendapatkan akses tidak sah ke sistem.
Menggunakan komponen dengan kerentanan yang diketahui memungkinkan penyerang untuk mengeksploitasinya dan melakukan serangan.
Pencatatan dan pemantauan yang tidak memadai terjadi saat aplikasi gagal mencatat peristiwa dan aktivitas berbahaya. Hal ini menyebabkan kesulitan dalam mendeteksi serangan pada sistem.
Metodologi Peretasan Aplikasi Web memberi penyerang langkah-langkah yang harus diikuti untuk melakukan serangan yang berhasil.
Langkah-langkah tersebut adalah:
Infrastruktur web footprinting membantu penyerang mengumpulkan informasi tentang infrastruktur web target dan mengidentifikasi kerentanan yang dapat dieksploitasi.
Dalam proses ini, penyerang melakukan:
Informasi yang dikumpulkan pada langkah footprinting memungkinkan peretas untuk menganalisisnya, menemukan kerentanan untuk dieksploitasi, dan menggunakan berbagai teknik untuk meluncurkan serangan di server.
Penyerang menganalisis aplikasi web target untuk mengidentifikasi kerentanannya dan mengeksploitasinya.
Untuk meretas aplikasi, penyerang perlu:
Penyerang mencoba untuk melewati kontrol sisi klien dari input dan interaksi pengguna.
Untuk melewati kontrol sisi klien, penyerang mencoba untuk:
Penyerang mencoba mengeksploitasi kerentanan yang ada di mekanisme otentikasi.
Dengan mengeksploitasi kerentanan tersebut, penyerang dapat melakukan:
Serangan otorisasi adalah serangan di mana penyerang mengakses aplikasi melalui akun sah yang memiliki hak istimewa terbatas dan kemudian menggunakan akun tersebut untuk meningkatkan hak istimewa.
Untuk melakukan serangan otorisasi, penyerang menggunakan sumber berikut:
Penyerang menganalisis situs web target dalam upaya mempelajari detail tentang kontrol akses yang diterapkan.
Selama proses ini, penyerang mencoba mempelajari tentang siapa yang memiliki akses ke kumpulan data mana, siapa yang memiliki tingkat akses mana, dan bagaimana cara meningkatkan hak istimewa.
Penyerang mengeksploitasi kerentanan dalam otentikasi dan manajemen sesi untuk meniru target mereka.
Proses menghasilkan token sesi yang valid terdiri dari dua langkah:
Dengan token yang valid, penyerang dapat melakukan serangan seperti MITM, pembajakan sesi, dan pemutaran ulang sesi.
Penyerang memanfaatkan masukan formulir yang tidak divalidasi untuk memasukkan kueri dan perintah berbahaya.
Keterampilan pengkodean yang buruk dapat membuat aplikasi rentan karena kekurangan logikanya. Jika penyerang berhasil mengidentifikasi kekurangan tersebut, maka mereka dapat mengeksploitasinya dan meluncurkan serangan.
Penyerang melakukan serangan pada koneksi database untuk mendapatkan kendali atas database dan dengan demikian mendapatkan akses ke informasi sensitif.
Penyerang menargetkan layanan web yang terintegrasi dalam aplikasi web untuk menemukan dan memanfaatkan kerentanan logika bisnis aplikasi.
Mereka kemudian menggunakan berbagai teknik untuk melakukan serangan terhadap aplikasi tersebut.