Injeksi SQL

Pengarang: Peter Berry
Tanggal Pembuatan: 13 Agustus 2021
Tanggal Pembaruan: 22 Juni 2024
Anonim
SQL INJECTION dasar untuk BYPASS LOGIN bahasa indonesia + Cara mengatasinya
Video: SQL INJECTION dasar untuk BYPASS LOGIN bahasa indonesia + Cara mengatasinya

Isi

Definisi - Apa artinya SQL Injection?

Injeksi SQL adalah serangan komputer di mana kode berbahaya tertanam dalam aplikasi yang dirancang dengan buruk dan kemudian diteruskan ke database backend. Data berbahaya kemudian menghasilkan hasil query database atau tindakan yang seharusnya tidak pernah dieksekusi.


Pengantar Microsoft Azure dan Microsoft Cloud | Sepanjang panduan ini, Anda akan mempelajari tentang apa itu cloud computing dan bagaimana Microsoft Azure dapat membantu Anda untuk bermigrasi dan menjalankan bisnis Anda dari cloud.

Techopedia menjelaskan SQL Injection

Mari kita lihat contoh serangan injeksi SQL:

Aplikasi yang menjalankan operasi bank berisi menu yang dapat digunakan untuk mencari detail pelanggan menggunakan titik data seperti nomor Jaminan Sosial pelanggan. Di latar belakang aplikasi memanggil kueri SQL yang berjalan di database dengan meneruskan nilai pencarian yang dimasukkan sebagai berikut:

SELECT client_name, telepon, alamat, date_of_birth WHERE social_sec_no = 23425

Dalam skrip sampel ini, pengguna memasukkan nilai 23425 di jendela menu aplikasi, meminta pengguna untuk memasukkan nomor Jaminan Sosial. Kemudian, menggunakan nilai yang diberikan oleh pengguna, kueri SQL berjalan di database.

Pengguna dengan pengetahuan SQL dapat memahami aplikasi dan, alih-alih memasukkan nilai tunggal ketika diminta untuk nomor Jaminan Sosial, masukkan string "23425 atau 1 = 1," yang diteruskan ke database sebagai berikut:

SELECT client_name, telepon, alamat, date_of_birth WHERE social_sec_no = 23425 atau 1 = 1

Klausa WHERE penting karena memperkenalkan kerentanan. Dalam database, kondisi 1 = 1 selalu benar, dan karena kueri telah ditentukan untuk mengembalikan detail nomor Jaminan Sosial klien (23425) atau WHERE 1 = 1, kueri akan mengembalikan semua baris dalam tabel, yang bukan niat asli.

Contoh serangan injeksi SQL di atas sederhana, tetapi menunjukkan bagaimana mengeksploitasi kerentanan untuk mengelabui aplikasi agar menjalankan permintaan atau perintah database backend.

Serangan injeksi SQL dapat dikurangi dengan memastikan desain aplikasi yang tepat, terutama dalam modul yang membutuhkan input pengguna untuk menjalankan permintaan atau perintah basis data. Dalam contoh di atas, aplikasi dapat diubah sehingga hanya menerima satu nilai numerik.