Web Anda Rentan Sql Injection
Bagaimana situs web Anda menjadi rentan terhadap SQL Injection?
Pengembang ialah satu-satunya alasan untuk SQL Injection Vulnerability. Saat membuatkan Aplikasi Web, ia gagal menangani beberapa kerentanan (karena beliau tidak tahu perihal itu. Jangan menjadi salah satu dari mereka. Jika Anda pengembang Aplikasi Web, maka Anda harus membaca teknik keamanan ini untuk mengatasi SQL Kerentanan Injeksi.
Alasan 1: Karakter pelepasan yang salah difilter
Dalam hal ini, pengembang gagal menyaring masukan untuk aksara pelolosan dan Dia eksklusif meneruskan masukan ke pernyataan SQL. Ini menghasilkan kerentanan.
Pertimbangkan instruksi ini:
statement = "SELECT * FROM` users` WHERE `name` = '" + userName + "';"
Kode ini akan menyelidiki nama pengguna di basis data. Seorang penyerang sanggup memakai instruksi berbahaya untuk menyuntikkan pertanyaannya sendiri. untuk misalnya:
'atau 1 = 1
beliau sanggup memasukkan instruksi di atas sebagai ganti nama pengguna. Makara pernyataan SQL akan menjadi ibarat ini:
SELECT*FROM`users`WHERE`name`=''OR1=1;
Dia sanggup memakai komentar untuk memblokir sisa kueri.
untuk misalnya:
'or1=1-
sehingga kueri akan menjadi ibarat ini:
SELECT * FROM `users` WHERE `name` = '' OR 1=1 -- ;
Di sini nama = '' salah. Tapi '1' = '1' benar. Di sini kami memakai operator OR. Makara itu cukup untuk satu syarat ialah benar. Makara ini akan meminta melewati login.
Alasan 2: Penanganan Jenis yang Salah
Ketika pengembang gagal untuk menyelidiki jenis data input, itu akan meningkatkan Kerentanan Database.
Mari kita pertimbangkan pertanyaan ini.
Statement=”Select * from `userid` where `id`=”+inputId+”;” ;
Id di sini merujuk data angka. Tetapi inputId diberikan secara eksklusif tanpa menyelidiki jenisnya. Makara penyerang sanggup memasukkan semua jenis data, beliau sanggup memasukkan string.
Misalnya jikalau beliau memasukkan sebagai
1; drop table `userid`;
Kueri akan menjadi seperti
Select * from `userid` where `id`=1; drop table `userid`;
Alasan 3: Blind SQL Injection(Condtion Response)
Blind SQL Injection dipakai dikala aplikasi web rentan terhadap injeksi SQL tetapi hasil injeksi tidak terlihat oleh penyerang.
Halaman dengan kerentanan mungkin bukan salah satu yang menampilkan data tetapi akan ditampilkan berbeda tergantung pada hasil dari pernyataan logis yang disuntikkan ke dalam pernyataan SQL yang dipanggil untuk halaman itu.
Jenis serangan ini sanggup menjadi waktu intensif alasannya ialah pernyataan gres harus dibentuk untuk setiap bit yang dipulihkan. Ada beberapa alat yang sanggup mengotomatisasi serangan ini begitu lokasi kerentanan dan informasi sasaran telah ditetapkan
Tanggapan bersyarat
SELECT `booktitle` FROM `booklist` WHERE `bookId` = 'OOk14cd' AND '1'='1';
akan menghasilkan halaman normal sementara
SELECT `booktitle` FROM `booklist` WHERE `bookId` = 'OOk14cd' AND '1'='2';
kemungkinan akan memperlihatkan hasil yang berbeda jikalau halaman rentan terhadap injeksi SQL
Menggunakan ini, penyerang sanggup menemukan kolom dan rincian basis data lengkap.
Sampai di sini dulu penjelasanya geass hehe byee