Secara singkat sql injection adalah menambahkan perintah sql query melalui input box (textbox, combobox, dll) dengan tujuan untuk memodifikasi sql query yang sudah ada atau menciptakan sql query baru. Biasanya orang yang baru belajar programming sering mengabaikan masalah security ini, contoh kasus:
Sintak/sql quer untuk Login biasanya seperti ini :"SELECT USER_ID, PASSWORD FROM MS_USER WHERE USER_ID='" + Txt_User.Text + "' AND PASSWORD='" + Txt_Pass.Text + "'"
Nah jika user/operator menginputkan pada Txt_User dan Txt_Pass seperti ini : ' OR '1'='1
Maka setelah aplikasi/program Run, sintak/sql query tersebut akan berubah menjadi seperti ini :
"SELECT
USER_ID, PASSWORD FROM MS_USER WHERE USER_ID='' OR '1'='1' AND PASSWORD='' OR
'1'='1'"
Dan ini akan menghasilkan nilai TRUE, sehingga user (anonymous) akan dapat masuk sesuka hati tanpa harus tahu user id dan password-nya.
- Menghilangkan (Replace) karakter kutip satu (') dengan karakter kosong, contoh :
Txt_User.Text.Replace("'", "")
- Memendekan MaxLength TextBox sesuai dengan field database, contoh jika di table field User_Id = Varchar(10), maka Txt_User pun harus MaxLenght=10 juga agar user tidak bebas/kepanjangan menginput sesuatu/apapun pada textbox tersebut.
- Mengubah sintak/sqlquery menjadi seperti ini :
"SELECT
USER_ID, PASSWORD FROM MS_USER WHERE USER_ID='" +
Txt_User.Text.Replace("'", "") + "'"
'...sintak anda
untuk mengecek keberadaan user, Jika User Ada Maka Cek Password, Contoh :
IF
reader.Item("PASSWORD") =
Txt_Pass.Text.Replace("'", "") Then
'...sintak anda jika login SUKSES
Else
'...sintak anda
jika login GAGAL
End IF
3 cara diatas adalah sebagian dari banyak cara yang dapat anda lakukan untuk mencegah terjadinya sql injection dari tangan tangan yang jahil dan tidak bertanggung jawab. Semoga artikel saya ini bermanfat ntuk anda. Terimakasih.
Tags:
sql injection example, cara membobol form login vb, cara membuat form login yang aman, security pada form login visual basic, Coding techniques for protecting against Sql injection, Preventing SQL Injection in vbnet, Validating User Input - SQL Injection Attacks in VB.NET, mengurangi kelemahan dari form login (swl injection), cara memjebol baypass user id dan password pada form login logon vb, masuk ke aplikasi tanpa login database, cara membuat login user yang aman, user trustee pada form login,Proteksi awal terhadap SQL injection, How To Sql Injection Visual Basic, Anti SQL Injection, Teknik coding untuk perlindungan terhadap SQL Injection
sql injection example, cara membobol form login vb, cara membuat form login yang aman, security pada form login visual basic, Coding techniques for protecting against Sql injection, Preventing SQL Injection in vbnet, Validating User Input - SQL Injection Attacks in VB.NET, mengurangi kelemahan dari form login (swl injection), cara memjebol baypass user id dan password pada form login logon vb, masuk ke aplikasi tanpa login database, cara membuat login user yang aman, user trustee pada form login,Proteksi awal terhadap SQL injection, How To Sql Injection Visual Basic, Anti SQL Injection, Teknik coding untuk perlindungan terhadap SQL Injection


wah keren nih tips membuat menu loginnya sobat...
BalasHapusiya mas asis,, sama sama
Hapusijin seruput ya mas, masihperlu banyak belajar nih mas.,
Hapussaya sedang membuat skripsi nih mas, membuat aplikasi program administrasi dan inventory peralatan shoting menggunakan VB, sekiranya dapat membantu, email : tinoaryanto@yahoo.co.id
sebelumnya terimakasih
silahan,,, semoga skripsinya LANCAR dan BERHASIL ya,,
Hapusboleh, silahkan tanyakan apasaja, klo sekiranya saya tahu, tentu saya akan jawab.
Keren sob infonya,saya sudah hampir 1th tidak pernah lagi buka vb,jadi aga males sekarang dengan tips ini jadi lumayan nambah semangat buat buka vb lagi :)
BalasHapusiya mas fajar... wah klo udah 1 tahun mah biasanya banyak yg lupa nya (kaku lagi) hehee... bercanda.com
Hapuswell , tips lumayan nih , hehe .
BalasHapusTapi sayang coding vb.net sama vb 6 jauh berbeda mas , hehe .
oh ya , thx before mas file vb.net nya , skrng udh bisa di install dan di pakai , cuma skrng yg jdi masalah , jdi lemot pake vb6 & vb.net , wkwk .
Kunjungan baliknya di tunggu mas .
http://cheatrakasaga.blogspot.com
iya mas raka,, selamat menikmati..hehehe,, contoh diatas kan yg penting logikanya bukan sintaknya. vb6 or .net serupa tp tak sama..
BalasHapussiap saya kunjungi balik !
hehe , iya mas :D
HapusMas , kita kerja sama yuk mas .
Kita bikin kumpulan source code kyak vbego , gmna mas mw kgk ? Dri dulu itu pesan fb aku blum di bales juga . Aku nanyain no hp mas itu bkan bwt macem" loh -.-
ok mas raka,,, maaf ya,,, aduh saya jadi malu nih udah di tagih bra kali... hehe
Hapusudah ane follow gan. no 70 eca-ace .follow me too at http://eca-ace.blogspot.com
BalasHapussiap gan.,. segera,,, thanks
Hapuswahh , nice blog kk
BalasHapusblog nya udah ta' follow
ditunggu ya follbacknya
n-gagexs.blogspot.com
ok,, segera meluncur !!!
Hapusmas ada gak query yg dinamis....?
BalasHapusuntuk query insert, update, delete...
jd bisa d pkek d smua tabel....
ada,, saya sudah buat functionnya,, tp blm saya posting.. tunggu aja ya,,
Hapuswah pas nih.....
Hapusditunggu postingannya mas....
sdah gak sabar saya....
hehehe
ok.. makasih.. segera saya follback!
BalasHapushohoho jujur saya tidak mengerti XD tapi meski begitu saya ingin belajar dan tahu :P saya sudah follow blog Anda :) kunjungi balik dan follow back-nya ^_^
BalasHapusiya,,tak ada kata terlambat untuk belajar, makasih, segera saya follback,,,
Hapusdah tuh gan follback yak http://ngakak-beloger.blogspot.com/
BalasHapusOK,, I'LL FOLLBACK TOO
Hapusmantap gan.. baru liat trik kaya gini di vb.net...btw ijin sedot ebooknya gan...
BalasHapusKeep blogging....
ok, makasih,, silahkan
Hapusmas kpan nih di posting yg materi tentang query insert, update, delete dinamis.....
BalasHapuslgi butuh bgt....
buat tugas kuliah...
maaf bos,, lagi sibuk di kantor nih.. secepatnya.. makasih,
Hapusklo kirim email bisa gak mas.....?
Hapusbutuh sangat nih....
mas tolong kasih tutorial tentang validasi hanya angka/huruf yang bisa diinputkan pada textbox,dan apabila nilai yang diinputkan tidak sesuai maka pada textbox tidak akan menampilkan nilai tersebut, trims
BalasHapussebenarnya sintak paling mudah untuk validasi seperti ini:
HapusIf IsNumeric(Text1.Text) = False Then
MessageBox.Show("Input dengan data Numeric !", "Warning")
Text1.Text = 0
Text1.Focus()
End If
jika ingin saat user ketik salah (misal ketik huruf) langsung muncul pesan,, simpan sintak ditas di event :
Private Sub TextBox1_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox1.TextChanged
If IsNumeric(sender.Text) = False Then
MessageBox.Show("Input dengan data Numeric !", "Warning")
sender.Text = 0
sender.Focus()
End If
End Sub
jika ingin validasi saat user pindah ke textbox, simpan di event :
TextBox1_LostFocus
jika ingin saat user menekan "enter" simpan di event:
Private Sub TextBox1_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles TextBox1.KeyDown
If e.KeyCode = Keys.Return Then
'simpan sintak disini
End If
End Sub
makasih sobat infonya berguna banget... saya baru tau ternyata bisa dijebol ya.. makasih ya bro...
BalasHapusok,,, sama sama SIP !!!
Hapusapakah kalo username dan password yg tersimpan di database di encryp pake md5 hal ini akan terjadi juga?
BalasHapussaya belum coba, tp sepertinya akan sama saja bisa dijebol klo sintak query nya tetap seperti itu, karena disini bukan nilainya yg lihat, tp sintak query-nya yg di ubah,
Hapusmaka dari itu harus diubah seperti yg saya tilis diatas