Lompat ke konten Lompat ke sidebar Lompat ke footer

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