Lebih banyak orang memiliki akses ke internet daripada sebelumnya. Ini telah mendorong banyak organisasi untuk mengembangkan aplikasi berbasis web yang dapat digunakan pengguna secara online untuk berinteraksi dengan organisasi. Kode yang ditulis dengan buruk untuk aplikasi web dapat dimanfaatkan untuk mendapatkan akses tidak sah ke data sensitif dan server web.
Dalam tutorial ini Anda akan belajar cara meretas situs web, dan kami akan memperkenalkan Anda pada teknik peretasan aplikasi web dan tindakan balasan yang dapat Anda lakukan untuk melindungi dari serangan semacam itu .
Topik dibahas dalam tutorial ini
- Apa itu aplikasi web? Apa itu Ancaman Web?
- Bagaimana cara melindungi Situs Anda dari peretasan?
- Trik peretasan situs web: Meretas Situs Web secara online!
Apa itu aplikasi web? Apa itu Ancaman Web?
Aplikasi web (alias situs web) adalah aplikasi yang didasarkan pada model klien-server. Server menyediakan akses database dan logika bisnis. Itu di-host di server web. Aplikasi klien berjalan di browser web klien. Aplikasi web biasanya ditulis dalam bahasa seperti Java, C #, dan VB.Net, PHP, ColdFusion Markup Language, dll. Mesin database yang digunakan dalam aplikasi web termasuk MySQL, MS SQL Server, PostgreSQL, SQLite, dll.
Sebagian besar aplikasi web dihosting di server publik yang dapat diakses melalui Internet. Ini membuat mereka rentan terhadap serangan karena aksesibilitas yang mudah. Berikut ini adalah ancaman aplikasi web yang umum.
- SQL Injection - tujuan dari ancaman ini mungkin untuk melewati algoritma login, menyabotase data, dll.
- Denial of Service Attacks - tujuan dari ancaman ini adalah untuk menolak akses pengguna yang sah ke sumber daya
- Cross Site Scripting XSS - tujuan dari ancaman ini adalah untuk memasukkan kode yang dapat dijalankan di browser sisi klien.
- Keracunan Cookie / Sesi - tujuan dari ancaman ini adalah untuk mengubah cookie / data sesi oleh penyerang untuk mendapatkan akses yang tidak sah.
- Formulir Perusakan - tujuan dari ancaman ini adalah untuk mengubah data formulir seperti harga dalam aplikasi e-commerce sehingga penyerang bisa mendapatkan item dengan harga lebih murah.
- Injeksi Kode - tujuan dari ancaman ini adalah untuk memasukkan kode seperti PHP, Python, dll. Yang dapat dijalankan di server. Kode dapat memasang pintu belakang, mengungkapkan informasi sensitif, dll.
- Perusakan - tujuan dari ancaman ini adalah untuk mengubah halaman yang telah ditampilkan di situs web dan mengarahkan semua permintaan halaman ke satu halaman yang berisi pesan penyerang.
Bagaimana cara melindungi Situs Anda dari peretasan?
Sebuah organisasi dapat mengadopsi kebijakan berikut untuk melindungi dirinya dari serangan server web.
- SQL Injection - membersihkan dan memvalidasi parameter pengguna sebelum mengirimkannya ke database untuk diproses dapat membantu mengurangi kemungkinan diserang melalui SQL Injection. Mesin database seperti MS SQL Server, MySQL, dll. Mendukung parameter, dan pernyataan yang disiapkan. Mereka jauh lebih aman daripada pernyataan SQL tradisional
- Denial of Service Attacks - firewall dapat digunakan untuk menghentikan lalu lintas dari alamat IP yang mencurigakan jika serangannya adalah DoS sederhana. Konfigurasi jaringan yang tepat dan Sistem Deteksi Intrusi juga dapat membantu mengurangi kemungkinan serangan DoS berhasil.
- Cross Site Scripting - memvalidasi dan membersihkan header, parameter yang diteruskan melalui URL, parameter formulir, dan nilai tersembunyi dapat membantu mengurangi serangan XSS.
- Keracunan Cookie / Sesi - ini dapat dicegah dengan mengenkripsi konten cookie, mengatur waktu cookie habis setelah beberapa waktu, mengaitkan cookie dengan alamat IP klien yang digunakan untuk membuatnya.
- Tempering formulir - ini dapat dicegah dengan memvalidasi dan memverifikasi input pengguna sebelum memprosesnya.
- Injeksi Kode - ini dapat dicegah dengan memperlakukan semua parameter sebagai data daripada kode yang dapat dieksekusi. Sanitasi dan Validasi dapat digunakan untuk mengimplementasikan ini.
- Perusakan - kebijakan keamanan pengembangan aplikasi web yang baik harus memastikan bahwa ia menutup kerentanan yang umum digunakan untuk mengakses server web. Ini dapat berupa konfigurasi yang tepat dari sistem operasi, perangkat lunak server web, dan praktik keamanan terbaik saat mengembangkan aplikasi web.
Trik peretasan situs web: Meretas Situs Web online
Dalam skenario praktis peretasan situs web ini, kita akan membajak sesi pengguna aplikasi web yang berlokasi di www.techpanda.org. Kami akan menggunakan skrip lintas situs untuk membaca id sesi cookie, lalu menggunakannya untuk meniru sesi pengguna yang sah.
Asumsi yang dibuat adalah bahwa penyerang memiliki akses ke aplikasi web dan dia ingin membajak sesi pengguna lain yang menggunakan aplikasi yang sama. Tujuan dari serangan ini adalah untuk mendapatkan akses admin ke aplikasi web dengan asumsi akun akses penyerang adalah terbatas.
Mulai
- Buka http://www.techpanda.org/
- Untuk tujuan latihan, sangat disarankan untuk mendapatkan akses menggunakan SQL Injection. Lihat artikel ini untuk informasi lebih lanjut tentang cara melakukannya.
- Email login adalah Alamat email ini dilindungi dari robot spam. Anda perlu mengaktifkan JavaScript untuk melihatnya., Kata sandinya adalah Password2010
- Jika Anda telah berhasil masuk, maka Anda akan mendapatkan dasbor berikut
- Klik Tambah Kontak Baru
- Masukkan berikut ini sebagai nama depan
SINI,
Kode di atas menggunakan JavaScript . Ini menambahkan hyperlink dengan acara onclick . Ketika pengguna yang tidak curiga mengklik tautan tersebut, acara mengambil ID sesi cookie PHP dan mengirimkannya ke halaman snatch_sess_id.php bersama dengan id sesi di URL
- Masukkan detail yang tersisa seperti yang ditunjukkan di bawah ini
- Klik Simpan Perubahan
- Dasbor Anda sekarang akan terlihat seperti layar berikut
- Karena kode skrip lintas situs disimpan dalam database, itu akan dimuat setiap kali pengguna dengan hak akses login
- Misalkan administrator login dan mengklik hyperlink yang bertuliskan Dark
- Dia akan mendapatkan jendela dengan id sesi yang ditampilkan di URL
Catatan : skrip dapat mengirimkan nilai ke beberapa server jarak jauh di mana PHPSESSID disimpan kemudian pengguna dialihkan kembali ke situs web seolah-olah tidak ada yang terjadi.
Catatan : nilai yang Anda dapatkan mungkin berbeda dari yang ada di tutorial peretasan halaman web ini, tetapi konsepnya sama
Sesi Peniruan Identitas menggunakan add-on Firefox dan Tamper Data
Diagram alir di bawah ini menunjukkan langkah-langkah yang harus Anda lakukan untuk menyelesaikan latihan ini.
- Anda memerlukan browser web Firefox untuk bagian ini dan add-on Tamper Data
- Buka Firefox dan instal add seperti yang ditunjukkan pada diagram di bawah ini
- Cari data tamper lalu klik install seperti gambar di atas
- Klik Terima dan Instal ...
- Klik Restart sekarang ketika penginstalan selesai
- Aktifkan bilah menu di Firefox jika tidak ditampilkan
- Klik menu tools lalu pilih Tamper Data seperti gambar di bawah ini
- Anda akan mendapatkan Jendela berikut. Catatan: Jika Windows tidak kosong, tekan tombol hapus
- Klik pada menu Start Tamper
- Beralih kembali ke browser web Firefox, ketik http://www.techpanda.org/dashboard.php lalu tekan tombol enter untuk memuat halaman
- Anda akan mendapatkan pop up berikut dari Tamper Data
- Jendela pop-up memiliki tiga (3) opsi. Opsi Tamper memungkinkan Anda untuk mengubah informasi header HTTP sebelum dikirim ke server .
- Klik di atasnya
- Anda akan mendapatkan jendela berikut
- Salin ID sesi PHP yang Anda salin dari URL serangan dan tempelkan setelah tanda sama dengan. Nilai Anda sekarang akan terlihat seperti ini
PHPSESSID = 2DVLTIPP2N8LDBN11B2RA76LM2
- Klik tombol OK
- Anda akan mendapatkan jendela popup data Tamper lagi
- Hapus centang pada kotak centang yang menanyakan Continue Merusak?
- Klik tombol kirim setelah selesai
- Anda seharusnya dapat melihat dasbor seperti yang ditunjukkan di bawah ini
Catatan : kami tidak masuk, kami meniru sesi masuk menggunakan nilai PHPSESSID yang kami ambil menggunakan skrip lintas situs
Ringkasan
- Aplikasi web didasarkan pada model klien-server. Sisi klien menggunakan browser web untuk mengakses sumber daya di server.
- Aplikasi web biasanya dapat diakses melalui internet. Ini membuat mereka rentan terhadap serangan.
- Ancaman aplikasi web termasuk SQL Injection, Code Injection, XSS, Defacement, Cookie poisoning, dll.
- Kebijakan keamanan yang baik saat mengembangkan aplikasi web dapat membantu membuatnya aman.