Apa itu SQL Injection dan Mengenalnya Lebih Dalam untuk Pemula 2017


Haloo..!!!
Terima kasih sudah mampir di ijo-gading.com tempat dimana anak loloan berkarya..sebelum membaca tulisan ini ada baiknya agan agan semua sudah mengenal seputar bahasa Sql biar tidak terlalu asing nantinya yaa. Dan jangan lupa siapkan kopi dulu biar ga tegang dan sambil merokok bagi yang perokok. Kalo ga merokok jangan coba-coba ya…..
Oke disi saya sedikit akan menjelaskan tentan apa itu Sql Injection yaa..apa sih Sql Injection itu?? Oke sekarang simak nih
Injeksi SQL (Bahaasa Inggris: SQL Injection) adalah sebuah teknik yang menyalah gunakan sebuah celah keamanan yang terjadi dalam lapisan database sebuah aplikasi. Celah ini terjadi ketika masukan pengguna tidak disaring secara benar dari karakter-karakter SQL bentukan string yang diimbuhkan dalam pernyataan SQL atau masukan pengguna tidak bertipe kuat dan karenanya dijalankan tidak sesuai harapan. Ini sebenarnya adalah sebuah contoh dari sebuah kategori celah keamanan yang lebih umum yang dapat 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 aman atau tidak mempunyai saringan.
Karakter-karakter yang tidak disaring secara benar
Bentuk injeksi SQL ini terjadi ketika masukan pengguna tidak disaring dari karakter-karakter dan kemudian diteruskan ke dalam sebuah pernyataan SQL. Ini menimbulkan potensi untuk memanipulasi pernyataan-pernyataan yang dilakukan pada basis data oleh pengguna akhir aplikasi.
Baris kode 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 melakukan 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 kode ini akan digunakan dalam sebuah prosedur untuk melakukan otentikasi, maka contoh ini dapat dipakai untuk memaksakan pemilihan sebuah nama pengguna yang sah karena evaluasi '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 menyebabkan 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 akhir 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 ketika sebuah unsur masukan pengguna tidak bertipe kuat atau tidak diperiksa batasan-batasan tipenya. Ini dapat terjadi ketika sebuah unsur numerik akan digunakan dalam sebuah pernyataan SQL, tetapi pemrogram tidak melakukan pemeriksaan untuk memastikan bahwa masukan pengguna adalah numerik. Sebagai contoh:
pernyataan := "SELECT * FROM data WHERE id = " + variabel_a + ";"
Terlihat jelas dari pernyataan ini pengarang memaksudkan variabel_a menjadi sebuah nomor yang berhubungan dengan unsur "id". Namun begitu, jika pada kenyataannya itu adalah sebuah string, maka pengguna akhir dapat memanipulasi pernyataan tersebut sesukanya, dan karena itu mengabaikan kebutuhan akan karakter-karakter. Sebagai contoh, mengeset variabel_a sebagai
1;DROP TABLE pengguna
akan menghapus tabel "pengguna" dari basis data karena hasil akhir SQL-nya akan menjadi sebagai berikut:
SELECT * FROM data WHERE id = 1;DROP TABLE pengguna;
Dan jika website anda berhasil dlakuka SQL Injection, bisa dikatan website anda akan hancur dan di acak acak oleh sang Injection. Maka dari itu setelah agan mengetahui apa itu SQ Injection maka wajib sifatnya untuk mempelajari bagaimanakah cara memblock SQLInjection atau cara mencegah SQL Injection pada website.
Okeeeh sekian dulu untuk hari ini, semoga apa yang saya tulis ini bermamfaat.

Sumber Wikipedia


Share this

Subscribe to receive free email updates:

0 Response to "Apa itu SQL Injection dan Mengenalnya Lebih Dalam untuk Pemula 2017"

Posting Komentar