Cara Melakukan Serangan SQL Injection

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 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