
Cara Mengatasi Keamanan di dalam SQL Injection
Teknologi | 2021-11-22 17:20:13
Cara Mengatasi Keamanan di dalam SQL Injection - SQL Injection (SQLi) adalah jenis serangan injeksi yang memungkinkan untuk mengeksekusi pernyataan SQL berbahaya. Pernyataan ini mengontrol server database di belakang aplikasi web. Penyerang dapat menggunakan kerentanan SQL Injection untuk mem-bypass langkah-langkah keamanan aplikasi.
Mereka dapat mengotentikasi dan mengotorisasi halaman web atau aplikasi web dan mengambil konten dari seluruh database SQL. Mereka juga dapat menggunakan Keamanan SQL Injection untuk menambah, mengubah, dan menghapus catatan dalam database.
Saat menghitung biaya potensial SQLi, penting untuk mempertimbangkan hilangnya kepercayaan pelanggan jika informasi pribadi seperti nomor telepon, alamat, dan detail kartu kredit dicuri. Meskipun vektor ini dapat digunakan untuk menyerang basis data SQL apa pun, situs web adalah target yang paling sering.
Kerentanan SQL Injection dapat memengaruhi situs web atau aplikasi web apa pun yang menggunakan database SQL seperti MySQL, Oracle, SQL Server, atau lainnya. Penjahat dapat menggunakannya untuk mendapatkan akses tidak sah ke data sensitif Anda: informasi pelanggan, data pribadi, rahasia dagang, kekayaan intelektual, dan banyak lagi. Serangan SQL Injection adalah salah satu kerentanan aplikasi web tertua, paling umum, dan paling berbahaya.
Tujuan Injeksi SQL:
Lewati Otentikasi
Jika berhasil masuk ke sistem, peretas akan dengan mudah melewatinya tanpa perlu menggunakan nama pengguna dan kata sandi yang benar untuk mendapatkan akses. Cukup dengan memasukkan script SQL Injection pada form yang masih terbuka, teknik ini disebut juga dengan bypass sql log.
Pencurian Informasi
Hacker memungkinkan untuk mengambil semua informasi di website, terutama informasi sensitif seperti username, password, email, dan lain-lain.
Hapus Data
SQL Injection memungkinkan hacker untuk menghapus semua data yang tersimpan di database, jika hal ini terjadi dan tidak ada backup database maka akan sangat berbahaya. Jadi Anda perlu membuat cadangan data Anda secara teratur untuk tujuan keamanan data.
Alat Injeksi SQL
Apapun kalau mau berusaha dan bertanggung jawab pada diri sendiri karena tujuan blog ini hanya untuk edukasi saja, banyak sekali tools yang digunakan, nah untuk mempermudah dalam mempraktekan SQL Injection maka kalian bisa menggunakan tools berikut ini :
- BSQL Hacker, Dikembangkan oleh Portcullis Labs, BSQL Hacker adalah injeksi SQL yang dirancang untuk menjelajahi hampir semua jenis database.
- The Mole, Mole adalah alat open source, Mole dapat melewati beberapa sistem IPS/IDS menggunakan filter generik, mol dapat menjelajahi hanya menggunakan URL yang rentan dan string yang valid.
- Trenggiling, Diproduksi oleh perusahaan yang sama yang membuat JSky, NOSEC, Trenggiling adalah alat injeksi SQL komprehensif di web dengan GUI yang mudah digunakan dan dukungan untuk hampir semua basis data.
- SQLMap, SQLMap adalah alat open source yang berjalan menggunakan perintah dan dukungan untuk database MySQL, Oracle, PostgreSQL, Microsoft SQL Server, Microsoft Access, IBM DB2, SQLite, Firebird, Sybase, dan SAP MaxDB.
- Havij, alat ini sangat terkenal digunakan oleh hacker di seluruh dunia, Havij dikembangkan oleh programmer Iran dengan GUI sederhana menyuntikkan SQL menggunakan harvij probabilitas keberhasilan adalah 95 persen dan masih banyak lagi keuntungan dari havij.
- SQL Ninja, Sql Ninja dikembangkan oleh alat icesurfer yang dirancang untuk menargetkan server SQL, sidik jari basis data, dan kemampuan semu untuk mengontrol basis data yang rentan terhadap injeksi.
Cara Kerja Injeksi SQL
Cara kerja SQL Injection sederhana namun efektif dalam meretas sebuah situs. Seperti disebutkan di atas, peretas dapat memasukkan berbagai jenis karakter kontrol SQL dan kata kunci perintah.
Misalnya, tanda kutip ('), komentar (- -), sama dengan (=), tanda kutip ganda (") dan seterusnya. Untuk dapat mengubah struktur kueri, gunakan karakter kontrol dengan perintah SQL umum seperti Hapus, Dari , Pilih, dan seterusnya. Hal ini memungkinkan peretas mengakses atau mengambil elemen data dari server basis data backend.
Serangan yang berhasil, biasanya memerlukan aplikasi web untuk menyematkan kode serangan berbahaya dalam pernyataan SQL. Biasanya kode berbahaya ini berasal dari sumber yang tidak dipercaya. Dalam beberapa kasus, database sistem internal juga dapat menjadi sumber daya yang berbahaya. Penyerang dapat mengakses atau memodifikasi database. Tetapi ini tergantung pada bagaimana peretas membuat data berbahaya.
Cara Mengatasi Injeksi SQL
Untuk mengurangi atau mengatasi SQL Injection ada beberapa tindakan yang dapat Anda gunakan. Penasaran seperti apa aksinya? Berikut pembahasan selengkapnya:
Sesuaikan kotak input
Jika tujuan kotak input adalah untuk mengetik nama, harap berikan karakter khusus. Jika untuk menempatkan nomor telepon harus diisi dengan menggunakan penomoran saja. Sehingga serangan SQL Injection dapat dihindari.
Batasi Kotak Masukan
Jika ingin lebih aman di setiap kotak harus dibatasi jumlah karakternya. Misal untuk sebuah nama diberikan minimal 30 karakter atau bisa diatur sesuai kebutuhan. Sehingga jika ada percobaan SQL Injection yang masuk akan terkendala dengan jumlah karakter yang sudah anda sediakan.
Filter Pengguna
Cara untuk mengatasi serangan SQL Injection adalah dengan memfilter setiap input pengguna. Terutama yang menggunakan karakter kutipan tunggal atau Validasi Input. Pasalnya, ini akan menjadi salah satu trik yang digunakan para hacker untuk melakukan serangan SQL Injection.
Matikan Penanganan Kesalahan
Jika terjadi kesalahan maka Anda perlu menonaktifkan fitur notifikasi pesan kesalahan yang keluar dari SQL server. Pasalnya, jika ada, ini akan menjadi celah bagi para hacker untuk mengeksploitasi lebih dalam untuk eksperimen SQL Injection.
Enkripsi Basis Data
Anda dapat menyimpan data kredensial secara terpisah. Sehingga dapat memberikan kesulitan dalam melakukan serangan SQL Injection. Anda bahkan dapat mengenkripsi sehingga data jauh lebih aman.
Kunci Basis Data
SQL Injection adalah teknik peretasan untuk situs web media. Jadi untuk mengatasinya, Anda bisa melakukan penguncian database. Lebih baik jika kueri SQL tidak dapat diakses melalui situs web atau halaman pengguna. Anda dapat memberikan batasan jika tidak semua orang dapat mengakses tabel tertentu dengan mengunci tabel yang sangat penting atau vital.
Sembunyikan Pesan Kesalahan
Biasanya ada pesan kesalahan yang muncul dari database ketika pengguna melakukan input yang salah. Untuk menghindari SQL Injection, Anda akan diminta untuk menyembunyikan atau menonaktifkan pesan kesalahan agar pengguna tidak terus mengeksploitasi arsitektur database yang digunakan.
Karena bisa jadi pengguna tersebut adalah penyerang pada sistem Anda. Jika Anda ingin menampilkan pesan, sebaiknya tampilkan pesan yang menyatakan jika tidak, pengguna harus menghubungi dukungan teknis untuk mengatasi masalah tersebut.
Pengaturan Hak Istimewa
Anda dapat mengubah Startup dan menjalankan SQL Server dengan mengatur pengguna dengan hak istimewa rendah pada menu tab Keamanan SQL Injection.
Demikian pembahasan mengenai cara mengatasi Keamanan SQL Injection, semoga artikel ini bermanfaat.
Referensi : teknokrad.com
Disclaimer
Retizen adalah Blog Republika Netizen untuk menyampaikan gagasan, informasi, dan pemikiran terkait berbagai hal. Semua pengisi Blog Retizen atau Retizener bertanggung jawab penuh atas isi, foto, gambar, video, dan grafik yang dibuat dan dipublished di Blog Retizen. Retizener dalam menulis konten harus memenuhi kaidah dan hukum yang berlaku (UU Pers, UU ITE, dan KUHP). Konten yang ditulis juga harus memenuhi prinsip Jurnalistik meliputi faktual, valid, verifikasi, cek dan ricek serta kredibel.
Komentar
Gunakan Google Gunakan Facebook