Apa Itu Sql Injection Dan Mengenalnya Lebih Dalam
Pengertian SQL Injection - Salah satu tindakan cyber crime yang biasa dilakukan ialah melaksanakan injection memakai bahasa SQL dengan menyerang kolom kolom login yang belum difilter untuk script sql injection, cara ini sangat berbahaya alasannya ialah bisa menghacurkan database dan mengetahui semua data login dari website yang ditargetkan.
Jika teman seorang programer berbasis web maka mempelajari apa itu sql injection merupakan ilmu wajib yang harus dipelajri, alasannya ialah tidak hanya inter dalam mendasain dan membangun situs web saja, tapi juga tentunya harus bisa mengamankan website tersebut.
Dibawah ini saya akan menulis artikel sederhana perihal pengenalan perihal Sql Injection dan mengenal model model script injection.
Pengertian SQL Injection
Dibawah ini coba dulu teman baca pengertian secara lengkap perihal sql injection yang saya kutip dari wikipedia.
Injeksi SQL (Bahaasa Inggris: SQL Injection) ialah sebuah teknik yang menyalah gunakan sebuah celah keamanan yang terjadi dalam lapisan database sebuah aplikasi.
Celah ini terjadi saat masukan pengguna tidak disaring secara benar dari karakter-karakter SQL bentukan string yang diimbuhkan dalam pernyataan SQL atau masukan pengguna tidak bertipe kuat dan kesannya dijalankan tidak sesuai harapan. Ini sebetulnya ialah sebuah referensi dari sebuah kategori celah keamanan yang lebih umum yang sanggup terjadi setiap kali sebuah bahasa pemrograman atau skrip diimbuhkan di dalam bahasa yang lain. Dan biasanya Sql Injection akan digunakan di halaman login website yang proses pengecekan loginnya tidak kondusif atau tidak memiliki saringan.
Karakter-Karakter Yang Tidak Disaring Secara Benar
Bentuk injeksi SQL ini terjadi saat masukan pengguna tidak disaring dari karakter-karakter dan kemudian diteruskan ke dalam sebuah pernyataan SQL. Ini menjadikan potensi untuk memanipulasi pernyataan-pernyataan yang dilakukan pada basis data oleh pengguna simpulan aplikasi.
Baris isyarat berikut menggambarkan celah keamanan ini:
pernyataan := "SELECT * FROM pengguna WHERE nama = '" + namaPengguna + "';"
Jika variabel "namaPengguna" dirangkai sedemikian rupa oleh pengguna yang bermaksud buruk, pernyataan SQL tersebut bisa melaksanakan lebih daripada yang pengarangnya maksudkan. Sebagai contoh, mengeset variabel "namaPengguna" sebagai
a' or 't'='t
pernyataan SQL keseluruhan
SELECT * FROM pengguna WHERE nama = 'a' or 't'='t';
Jika isyarat ini akan digunakan dalam sebuah mekanisme untuk melaksanakan otentikasi, maka referensi ini sanggup digunakan untuk memaksakan pemilihan sebuah nama pengguna yang sah alasannya ialah penilaian
't'='t'
akan selalu bernilai benar. Secara teori, perintah SQL sah apapun bisa diinjeksi melalui metode ini, termasuk menjalankan banyak pernyataan. Nilai "namaPengguna" berikut ini pada pernyataan di atas akan mengakibatkan dihapusnya tabel "pengguna" dan juga pengambilan semua data dari tabel "data":
a';DROP TABLE pengguna; SELECT * FROM data WHERE nama LIKE '%
Masukan ini menjadikan pernyataan simpulan SQL sebagai berikut:
SELECT * FROM pengguna WHERE nama = 'a';DROP TABLE pengguna; SELECT * FROM data WHERE nama LIKE '%';
ok
Penanganan Tipe Yang Tidak Benar
Bentuk injeksi SQL ini terjadi saat sebuah unsur masukan pengguna tidak bertipe kuat atau tidak diperiksa batasan-batasan tipenya. Ini sanggup terjadi saat sebuah unsur numerik akan digunakan dalam sebuah pernyataan SQL, tetapi pemrogram tidak melaksanakan investigasi untuk memastikan bahwa masukan pengguna ialah numerik. Sebagai contoh:
pernyataan := "SELECT * FROM data WHERE id = " + variabel_a + ";"
Terlihat terang dari pernyataan ini pengarang memaksudkan variabel_a menjadi sebuah nomor yang bekerjasama dengan unsur "id". Namun begitu, jikalau pada kenyataannya itu ialah sebuah string, maka pengguna simpulan sanggup memanipulasi pernyataan tersebut sesukanya, dan alasannya ialah itu mengabaikan kebutuhan akan karakter-karakter. Sebagai contoh, mengeset variabel_a sebagai
1;DROP TABLE pengguna
akan menghapus tabel "pengguna" dari basis data alasannya ialah hasil simpulan SQL-nya akan menjadi sebagai berikut:
SELECT * FROM data WHERE id = 1;DROP TABLE pengguna;
Dan jikalau website anda berhasil dlakuka SQL Injection, bisa dikatan website anda akan hancur dan di acak acak oleh sang Injection. Maka dari itu sesudah agan mengetahui apa itu SQ Injection maka wajib sifatnya untuk mempelajari cara mencegah SQL Injection pada website.
Okeeeh sekian dulu untuk hari ini, biar apa yang saya tulis ini bermamfaat.
0 Response to "Apa Itu Sql Injection Dan Mengenalnya Lebih Dalam"
Posting Komentar