Cara Meretas Aplikasi Web Dengan Otentikasi Berbasis Web

Untuk dapat memecahkan otentikasi aplikasi web pertama-tama kita perlu memahami sedikit tentang bagaimana aplikasi web mengelola otentikasi. Untuk melakukan ini kita akan menggunakan Aplikasi Web Damn Vulnerable dan Burp Suite untuk berlatih metode serangan kita.

Saya harap tidak usah dikatakan bahwa Anda harus selalu melakukan pengintaian terlebih dahulu sebelum mencoba serangan otentikasi. Tahu musuhmu!

Langkah 1Instal Aplikasi Web Sialan Rentan

Untuk sisa seri ini, kami akan bekerja dengan Aplikasi Web Damn Vulnerable (DVWA). Meskipun sebagian besar kerentanan dalam aplikasi ini agak lama dan ditambal dalam aplikasi modern kita perlu mulai dengan aplikasi ini untuk melakukan hal berikut.

  1. Tunjukkan prinsip peretasan aplikasi web
  2. Memiliki lingkungan yang aman untuk berlatih

Setelah kami mendemonstrasikan prinsip-prinsip peretasan aplikasi web di sini di DVWA, kami akan terus menunjukkan bagaimana prinsip-prinsip itu dapat diterapkan pada aplikasi web yang lebih modern dan kurang rentan dalam tutorial selanjutnya.

Anda dapat menginstal DVWA di sistem operasi Linux atau mungkin lebih sederhana, menginstal sistem operasi Metasploitable yang telah menginstal DVWA secara default.

Jika kami menggunakan Metasploitable cukup telusuri ke alamat IP OS Metasploitable Anda dengan browser web Iceweasel di KaliDi sini milik saya adalah 192.168.181.128 di jaringan internal saya tetapi jika Anda memiliki Metasplotable pada IP publik maka itu akan berfungsi juga. Anda akan melihat halaman web seperti ini di bawah ini. Klik pada tautan DVWA.

Langkah 2Buka DVWA

Setelah kami mengklik tautan DVWA itu akan membuka layar masuk seperti itu di bawah ini. Jangan mencoba masuk dulu. Sabar.

Langkah 3Buka Burp Suite

Kami akan menggunakan Burp Suite dalam banyak serangan berbasis web ini. Itu dibangun ke Kali jadi tidak perlu menginstal apa pun. Cukup buka Burp Suite dengan membuka Aplikasi -> Kali Linux -> Aplikasi Web -> Proxy Aplikasi Web -> burpsuite.

Ketika Anda melakukannya Anda harus disambut dengan Burp Suite yang membuka GUI seperti yang terlihat di bawah ini.

Anda harus mengonfigurasi Burp Suite sebagai proxy Anda. Jika Anda memerlukan informasi lebih lanjut tentang pengaturan proxy lihat artikel ini di THC-Hydra di mana kami juga menggunakan Burp Suite sebagai proxy.

Langkah 4Jenis Otentikasi

Sebelum kita mulai menyerang otentikasi mari kita berhenti sebentar untuk memeriksa jenis otentikasi berbasis web.

Otentikasi Akses Dasar

Otentikasi dasar seperti namanya adalah bentuk otentikasi paling sederhana dan paling dasar untuk aplikasi web. Ini menggunakan pengkodean Base64 yang merupakan skema pengkodean yang lemah dan mudah rusak. Skema pengkodean Base64 bukan enkripsi menerjemahkan data biner menjadi data tekstual. Meskipun plaintext yang mendasarinya dikaburkan, itu mudah diterjemahkan.

Otentikasi dasar sering digunakan untuk mengotentikasi terhadap router, webcam, dll. Jika kita dapat mencegat kredensial dengan mengendus atau menggunakan proxy seperti Burp Suite, ada sejumlah alat yang tersedia yang dapat mendekode pengkodean Base64 sederhana ini.

Otentikasi Akses Intisari

Sebuah langkah dalam keamanan adalah intisari digest yang dijelaskan oleh RFC 2617. Otentikasi Digest bergantung pada model otentikasi challenge-response. Pengguna biasanya diharapkan untuk membuktikan bahwa mereka memiliki beberapa rahasia tanpa membagikannya di saluran komunikasi yang tidak aman.

Otentikasi Digest sedikit lebih aman tetapi rentan terhadap serangan replay. Ini menciptakan hash satu arah (MD5) yang dikirim ke server untuk otentikasi. Untuk mencegah penggunaan tabel pelangi untuk memecah bentuk otentikasi ini, server mengirim nonce yang bertindak seperti garam. Hash MD5 ini tidak dapat didekripsi, tetapi dapat ditangkap dan diputar ulang oleh penyerang.

Otentikasi Digest lebih kuat daripada otentikasi dasar karena kredensial tidak dikirim melalui saluran tidak aman, hanya hash MD5 dari kredensial. Meskipun sulit untuk memecahkan hash MD5 ini, hash dapat ditangkap dalam perjalanan ke server. Setelah ditangkap, itu akan memberikan siapa pun akses ke akun ketika itu diputar ulang.

Otentikasi Berbasis Formulir

Otentikasi berbasis formulir adalah bentuk otentikasi yang lebih umum di HTTP. Tidak seperti otentikasi dasar dan intisari, otentikasi berbasis formulir tidak bergantung pada protokol web dasar. Ini adalah format yang sangat dapat disesuaikan yang biasanya memiliki tag FORMULIR HTML dan INPUT.

Secara umum, formulir memiliki bidang nama pengguna dan kata sandi tempat pengguna memasukkan informasi ini yang termasuk dalam permintaan GET atau POST melalui HTTP atau HTTPS. Ini adalah bentuk yang sering kita lihat pada aplikasi web modern. Ketika server menerima nama pengguna dan kata sandi dan itu benar, pengguna diizinkan masuk ke aplikasi.

Otentikasi berbasis formulir menggunakan berbagai skema enkripsi dan pengkodean. Akibatnya, tidak ada satu jenis serangan yang akan berfungsi dalam semua kasus. Kita perlu menguraikan jenis pengkodean atau enkripsi sebelum kita memilih metode serangan. Jika TLS atau SSL tidak diaktifkan, kredensial akan dikirim dalam bentuk teks biasa.

Langkah 5Otentikasi Web Berbasis Formulir di DVWA

Mari kita mulai dengan masuk ke DVWA dengan kombinasi nama pengguna dan kata sandi admin / kata sandi. Sekarang di dekat bagian bawah tombol sebelah kiri Anda akan melihat opsi "Keamanan DVWA".

Mari kita membuatnya sedikit lebih menantang dengan mengatur Keamanan ke "tinggi."

Selanjutnya, Ayo kembali ke layar login dan lihat kode sumbernya.

Seperti yang Anda lihat dalam kode sumber di bawah ini, PHP mendapatkan nama pengguna dan kemudian memvalidasi input dengan menghapus karakter khusus yang mungkin digunakan dalam injeksi SQL ('-;). Selanjutnya, mendapatkan kata sandi dan melakukan validasi yang sama untuk menghapus kemungkinan injeksi SQL yang mudah. Kemudian, dibutuhkan 2 string dan menempatkan mereka ke dalam string kueri SQL untuk menjalankan terhadap database otentikasi. Untuk lebih lanjut tentang dasar-dasar SQL.

$ qry = "SELECT * FROM 'users' WHERE user = '$ user' AND password = '$ pass';"

Jika kedua kondisi dalam klausa WHERE mengevaluasi true maka pengguna diautentikasi ke aplikasi web.

Sekarang kita sudah memiliki dasar-dasar aplikasi web, dalam tutorial saya berikutnya dalam seri ini kita akan memeriksa cara untuk memecahkan proses otentikasi ini. Jadi teruslah kembali, hacker pemula saya!

Comments

Popular Posts