Cara Melakukan Serangan SQL Injection
www.mediatronika.com - Cara Melakukan Serangan SQL Injection
"SQL injection" (SQLI) adalah serangan engeksploitasi dengan memanfaatkan kelemahan dari teknik pengembangan web yang buruk dan, biasanya dikombinasikan dengan, keamanan database yang kurang. Hasil dari serangan dapat meniru akun sehingga dapat mengakses dengan lengkap dari database atau server. Tidak seperti serangan DDoS, serangan SQLI mudah dicegah jika aplikasi web di program dengan tepat.Cara Melakukan Serangan SQL Injection |
Cara/Teknik Serangan SQL Injection
Setiap kali Anda
login ke situs web Anda diminta untuk memasukkan nama pengguna dan password.
Untuk mengecek nama pengguna dan password Anda
aplikasi web menjalankan query seperti berikut:
UserID SELECT
FROM Users WHERE username = 'myuser' AND Password = 'mypass';
Catatan: nilai
string dalam query SQL harus diapit tanda kutip tunggal merupakan nilai yang dimasukkan pengguna.
Jadi kombinasi dari nama yang dimasukkan pengguna (myuser) dan password (mypass) harus sesuai entri dalam table. Untuk dibandingkan dengan database, jika nama pengguna tidak ada, login tidak valid. Sementara dalam impelementasi kasus tertentu hasilnya dapat berbeda.
Jadi sekarang
mari kita lihat permintaan otentikasi Template pada formulir web:
UserID SELECT
FROM Users WHERE username = '[user]' AND Password = '[pass]'
Sepintas ini
mungkin tampak seperti langkah sederhana dan logis untuk pengguna dengan mudah
memvalidasi, namun jika substitusi sederhana dari nilai-nilai yang dimasukkan
pengguna dilakukan pada template ini, itu adalah rentan terhadap serangan SQLI.
Misalnya,
"myuser'--" yang dimasukkan dalam kolom nama pengguna dan "wrongpass" yang
dimasukkan dalam password. Menggunakan substitusi sederhana dalam permintaan
template kita, kita akan mendapatkan ini:
UserID SELECT
FROM Users WHERE username = 'myuser' -- ' AND Password =' wrongpass '
Kunci untuk
pernyataan ini adalah dimasukkannya dua strip (--). Ini adalah tanda mulai komentar untuk statement SQL, sehingga apa pun yang muncul setelah
dua strip (inklusif) akan diabaikan. Sehingga perinta di atas dijalankan oleh database
sebagai:
UserID SELECT
FROM Users WHERE username = 'myuser'
Sehingga perintah di atas tidak melakukan cek
password. Dengan termasuk dua strip sebagai bagian dari sisi pengguna, sehingga sistem tidak mengecek password dan kita dapat login sebagai "myuser" tanpa mengetahui password
masing-masing. Tindakan memanipulasi query untuk menghasilkan hasil yang tidak
diinginkan adalah serangan injeksi SQL.
No comments:
Post a Comment
Silakan Berikan Saran dan Komentar Terbaik Anda. Terima kasih