Metodologi Peretasan Aplikasi Web

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
  • Lapisan logika bisnis
  • Lapisan database

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.



Ancaman dan Serangan Aplikasi Web

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:

Injeksi

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:


  • Injeksi SQL adalah serangan di mana penyerang memasukkan kueri SQL yang berbahaya ke dalam aplikasi
  • Injeksi Perintah adalah serangan di mana penyerang memasukkan perintah jahat ke dalam aplikasi
  • Injeksi LDAP adalah serangan di mana penyerang memasukkan pernyataan LDAP berbahaya ke dalam aplikasi

Otentikasi rusak

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:

  • ID Sesi di URL
  • Kata sandi tidak terenkripsi
  • Waktu tunggu yang tidak disetel dengan benar

Eksposur data sensitif

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.

Entitas Eksternal XML

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 Rusak

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

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:

  • Bidang masukan tidak divalidasi
  • Manipulasi bentuk dan parameter
  • Penanganan kesalahan yang buruk

Cross-Site Scripting (XSS)

Serangan Cross-Site Scripting adalah serangan di mana penyerang memasukkan skrip ke halaman web yang dijalankan pada sistem target.

Deserialisasi Tidak Aman

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

Menggunakan komponen dengan kerentanan yang diketahui memungkinkan penyerang untuk mengeksploitasinya dan melakukan serangan.

Pencatatan dan Pemantauan Tidak Memadai

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

Metodologi Peretasan Aplikasi Web memberi penyerang langkah-langkah yang harus diikuti untuk melakukan serangan yang berhasil.

Langkah-langkah tersebut adalah:

Jejak Infrastruktur Web

Infrastruktur web footprinting membantu penyerang mengumpulkan informasi tentang infrastruktur web target dan mengidentifikasi kerentanan yang dapat dieksploitasi.

Dalam proses ini, penyerang melakukan:

  • Penemuan server untuk mempelajari tentang server yang menghosting aplikasi
  • Penemuan layanan untuk menentukan layanan mana yang dapat diserang
  • Identifikasi server untuk mempelajari informasi tentang server seperti versi dan pembuatan
  • Penemuan konten tersembunyi untuk menemukan konten tersembunyi

Serangan server web

Informasi yang dikumpulkan pada langkah footprinting memungkinkan peretas untuk menganalisisnya, menemukan kerentanan untuk dieksploitasi, dan menggunakan berbagai teknik untuk meluncurkan serangan di server.

Analisis aplikasi web

Penyerang menganalisis aplikasi web target untuk mengidentifikasi kerentanannya dan mengeksploitasinya.

Untuk meretas aplikasi, penyerang perlu:

  • Identifikasi titik masuk untuk input pengguna
  • Identifikasi teknologi sisi server yang digunakan untuk membuat halaman web dinamis
  • Identifikasi fungsionalitas sisi server
  • Identifikasi area serangan dan kerentanan terkait

Pengelakan Kontrol sisi Klien

Penyerang mencoba untuk melewati kontrol sisi klien dari input dan interaksi pengguna.

Untuk melewati kontrol sisi klien, penyerang mencoba untuk:

  • Serang bidang formulir tersembunyi
  • Serang ekstensi browser
  • Tinjau kode sumbernya

Serangan Otentikasi

Penyerang mencoba mengeksploitasi kerentanan yang ada di mekanisme otentikasi.

Dengan mengeksploitasi kerentanan tersebut, penyerang dapat melakukan:

  • Pencacahan nama pengguna
  • Serangan kata sandi
  • Serangan sesi
  • Cookie operasi

Serangan Otorisasi

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:

  • BENCI
  • Perusakan parameter
  • Data POST
  • Header HTTP
  • Kue
  • Tag tersembunyi

Serangan Kontrol Akses

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.

Serangan Manajemen Sesi

Penyerang mengeksploitasi kerentanan dalam otentikasi dan manajemen sesi untuk meniru target mereka.

Proses menghasilkan token sesi yang valid terdiri dari dua langkah:

  • Prediksi token sesi
  • Perusakan token sesi

Dengan token yang valid, penyerang dapat melakukan serangan seperti MITM, pembajakan sesi, dan pemutaran ulang sesi.

Serangan Injeksi

Penyerang memanfaatkan masukan formulir yang tidak divalidasi untuk memasukkan kueri dan perintah berbahaya.

Eksploitasi Kerentanan Logika Aplikasi

Keterampilan pengkodean yang buruk dapat membuat aplikasi rentan karena kekurangan logikanya. Jika penyerang berhasil mengidentifikasi kekurangan tersebut, maka mereka dapat mengeksploitasinya dan meluncurkan serangan.

Serangan Koneksi Database

Penyerang melakukan serangan pada koneksi database untuk mendapatkan kendali atas database dan dengan demikian mendapatkan akses ke informasi sensitif.

Serangan Layanan Web

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.