Saudara Frangky .. coba anda masukkan pada username or ''=' dan pada password juga masukkan or ''=' mungkin bisa login karena ini salah satu cara yang biasa saya gunakan untuk sql injection dan biasanya berhasil
--- In [email protected], "Frangky Bunga" <franklin...@...> wrote: > > rs.Open "SELECT * FROM tbUser where Nama = '" & txtNama.Text & "' and > Pass='" & Encrypt(txtPass) & "'", cnn, adOpenForwardOnly, adLockOptimistic > > -----Original Message----- > From: [email protected] [mailto:[email protected]] > On Behalf Of Anez Story > Sent: 18 Juli 2010 0:38 > To: [email protected] > Subject: RE: [programmer-vb] Membuat Form Password > > Boleh dikirim form login+database nya pak franky.. > kl dibuat sesuai coding pak gotman,saya coba bisa login.. > > On Sat Jul 17th, 2010 10:44 AM EDT Frangky Bunga wrote: > > >Pak Gotman, saya coba masukkan ' or 1=1 or ' pada textbox, ga bisa login > tuh. > > > > > > > >From: [email protected] [mailto:[email protected]] > On Behalf Of Gotman Panggabean > >Sent: 14 Juli 2010 16:27 > >To: [email protected] > >Subject: Re: [programmer-vb] Membuat Form Password > > > > > > > > > > > > > > > > > > > >hehehe... maaf saya lupa kalau code dibawah, saya sudah menggunakan fungsi > "replace" untuk menghindari sql injection, kemungkinan kecil untuk diinject > walau masih bisa sepertinya. > >pada code : > > > > strLogin = Replace(txtUsername .Text, "'", "''") > > strPaswd = Replace(txtPassword .Text, "'", "''") > > > >nah jika code diatas diganti menjadi > > > > strLogin = txtUsername.Text > > strPaswd = txtPassword.Text > > > >tanpa ada nya fungsi "replace" > >nah hal ini akan sangat mudah untuk diinject. > > > >yang saya maksud pada : > > > >'Mudah untuk di inject maka hindari langkah ini > >'Set rst = cnn.Execute( "Select * from tblUser where username='" & strLogin > & "' and password='" & strPaswd & "'") > > > >pada kondisi dimana tidak menggunakan fungsi "Replace" > > > >jika masih tidak percaya silakan rancang form-nya dan dicoba. > >pada saat dirun.kemudian masukkan/ketik pada textbox txtusername : > > > >' or 1=1 or ' > > > >Nah apa yang terjadi : langsung masuk ke dalam frmMain..! > > > >masuk yah..? > >masuk kan..? > >iya kan .? > >iya donk...! > > > >hehe... canda... > > > >tetapi kalau menggunakan Object command semua sql syntaxnya dianggab > sebagai string sehingga tanpa perintah "Replace" akan tetep aman. (AMAN dari > Sql Injection) > > > >Semoga Membantu. > > > >Regards, > >Cotman > >I'm not good enough, Tell me if there're many mistake of the code above. > > > > > >--- Pada Sel, 13/7/10, Anez Story <anez_st...@...> menulis: > > > > > >Dari: Anez Story <anez_st...@...> > >Judul: Re: [programmer-vb] Membuat Form Password > >Kepada: [email protected] > >Tanggal: Selasa, 13 Juli, 2010, 10:10 PM > > > > > > > >dear gotman panggabean, > > > >'Mudah untuk di inject maka hindari langkah ini > >'Set rst = cnn.Execute( "Select * from tblUser where username='" & strLogin > & "' and password='" & strPaswd & "'") > > > >hmm..saya biasa pakai coding diatas untuk membuat form login.. > >kalau boleh tau cara user untuk membobol nya bagaimana ya? > > > >best regrads, > > > > > >story > > > > > > > > _____ > > > >From: Gotman Panggabean <cotman_2005@ yahoo.com> > >To: programmer-vb@ yahoogroups. com > >Sent: Tue, July 13, 2010 7:14:39 PM > >Subject: Re: [programmer- vb] Membuat Form Password > > > > > > > > > >materinya lumayan menarik... > >mencoba ikut membahas... > > > >nah untuk menghindari Sql Injection di VB gunakan object command untuk > membungkus syntax sql ini biasa saya gunakan. Perhatikan code dibawah ini. > > > >Asumsi : > >Database : Ms. Access (Apa saja databasenya. .. hanya melakukan perubahan > pada connection string nya saja) > >Table : tblUser(Field : Username dan Password) > >Code nya adalah : > > > >Private Sub Command1_Click( ) > > Dim cnn As New ADODB.Connection > > Dim strLogin As String, strPaswd As String > > cnn.CursorLocation = adUseClient > > cnn.Open "Provider=Microsoft .Jet.OLEDB. 4.0;Data Source=C:\DB. > mdb;Persist Security Info=False" > > > > strLogin = Replace(txtUsername .Text, "'", "''") > > strPaswd = Replace(txtPassword .Text, "'", "''") > > > > Dim rst As New ADODB.Recordset > > > >'Mudah untuk di inject maka hindari langkah ini > >'Set rst = cnn.Execute( "Select * from tblUser where username='" & strLogin > & "' and password='" & strPaswd & "'") > > > > > > 'Solusinya gunakan object command > > Dim ocmd As New ADODB.Command > > ocmd.ActiveConnecti on = cnn > > ocmd.CommandType = adCmdText > > 'Gunakan parameter disini : > > ocmd.CommandText = "Select * from tblUser where username=? and > password=?" > > > > 'Isi nilai parameternya > > ocmd.Parameters( 0).Value = strLogin > > ocmd.Parameters( 1).Value = strPaswd > > 'ocmd.Execute > > > > 'set recordsetnya dari object command > > Set rst = ocmd.Execute( ) > > > > If rst.RecordCount > 0 Then > > frmMain.Show > > frmMain.Caption = "Welcome - " & txtUsername. Text > > frmLogin.Hide > > Else > > MsgBox "Invalid Username or password !", vbCritical, "Warn" > > txtPassword. Text = "" > > txtPassword. SetFocus > > End If > > > >End Sub > > > > > > > >Hasilnya bebas dari Sql injection. > >Semoga Membantu. > > > > > >Regards. > >Cotman. > > > > > > > > > >--- Pada Sel, 13/7/10, Anez Story <anez_st...@yahoo. com> menulis: > > > > > >Dari: Anez Story <anez_st...@yahoo. com> > >Judul: Re: [programmer- vb] Membuat Form Password > >Kepada: programmer-vb@ yahoogroups. com > >Tanggal: Selasa, 13 Juli, 2010, 5:58 PM > > > > > > > >dear johan max, > > > >weleh2..bahasanya tinggi sekali..hehe > >oo..pake stored procedure ya.. > >ntu stored procedure bawaan sql server ato kt buat lagi? > >kalau bawaan sql server, stored procedure yang mana? > >maklum saya belum pernah pakai stored procedure sebelumnya.. . > > > >best regrads, > > > > > >story > > > > > > > > _____ > > > >From: johan max <johans...@yahoo. com> > >To: programmer-vb@ yahoogroups. com > >Sent: Tue, July 13, 2010 3:12:46 AM > >Subject: Re: [programmer- vb] Membuat Form Password > > > > > > > >Cara yang bener seharusnya > >a. memanggil stored procedure > > > >b. menggunakan parameter > >jadi dihindari proses akses ke table langsung. > > > >TDD = test driven development. > >Layering= pemisahan tanggung jawab yang jelas antara tiap komponen. > >Ada komponen ui, bisnis, data, data akses. > >Dengan dibagi-bagi seperti ini maka : > >1. pengetesannya mudah > >2. akan mengikuti perinsip solid > >3. mengurangi dependency > >4. team work akan sangat berjalan > >5. memudahkan code review dan inspection karena menurunkan derajat > >cylocmatic complecity, loc dan maintenance complecity. > > > > > > > > _____ > > > >From: Anez Story <anez_st...@yahoo. com> > >To: programmer-vb@ yahoogroups. com > >Sent: Tue, July 13, 2010 4:29:41 PM > >Subject: Re: [programmer- vb] Membuat Form Password > > > > > > > >dear johan max, > > > >oow..bahaya jg ya.. > >jd user lain bisa langsung akses database kt.. > >jd cara yang benar bagaimana pak johan? > >btw ttd dan layering tuh apa ya? > > > >best regrads, > > > >story > > > > > > > > _____ > > > >From: johan max <johans...@yahoo. com> > >To: programmer-vb@ yahoogroups. com > >Sent: Tue, July 13, 2010 1:51:05 AM > >Subject: Re: [programmer- vb] Membuat Form Password > > > > > > > >SQL injection itu adalah sebuah teknik untuk menginjeksi sebuah string > query ke sebuah perintah query. Biasanya digunakan hacker untuk mendapatkan > hak akses. > > > >Contoh > > > >ini query yang berbahaya : > >select *from <nama_tabel> where username=" & username_txt. text > > jika username_txt. txt memuat isi 1 or 1=1 maka perintah querynya akan > >menjadi select * from <namatable> where username =1 or 1=1 > >yang hasilnya akan selalu benar sehingga hacker dapat memperoleh hak akses > kesana. > > > >Alternatif lain adalah menggunakan tanda ; > >jika username_txt. text berisi 1;select * from user; > >ada kemungkinan sqlnya error karena tidak ada tabel user. > >Dari situ dapat diketahui ada tabel apa yang ada di database. > > > >bagaimana kalo username_txt. textnya berisi 1;delete * from penjualan > >Maut kan. > >Terakhir cara di atas tidak mendukung tdd dan layering. > > > >Kelemahan lain adalah sangat bergantung pada settingan collation database. > >Ini membuat untuk validasi user bermasalah. > > > > _____ > > > >From: Anez Story <anez_st...@yahoo. com> > >To: programmer-vb@ yahoogroups. com > >Sent: Tue, July 13, 2010 7:53:26 AM > >Subject: Re: [programmer- vb] Membuat Form Password > > > > > > > >dear johan, > > > >sql injection tuh apa ya? > >bahaya nya gimana? > > > >best regrads, > > > >story > > > > > > > > > > > > _____ > > > >From: johan max <johans...@yahoo. com> > >To: programmer-vb@ yahoogroups. com > >Sent: Mon, July 12, 2010 1:29:05 AM > >Subject: Re: [programmer- vb] Membuat Form Password > > > > > > > >Wah kalian ini tidak tahu sql injection ya. Kode di bawah gampang banget > diinject dengan sql injection. Bahaya tuch. > >Nggak boleh ada concatenasi string di query harus pake parameter.. > > > > > > > > > > > > _____ > > > >From: Frangky id <franklin.id@ gmail.com> > >To: programmer-vb@ yahoogroups. com > >Sent: Mon, July 12, 2010 3:10:01 PM > >Subject: Re: [programmer- vb] Membuat Form Password > > > > > > > >Kalau metode searching WHere-nya hanya username, kemungkinan kalau Password > yang diinput salahpun, pasti diterima. > > > >Pada 12 Juli 2010 12:23, Yusuf Afandi <cr_4...@yahoo. com> menulis: > > > > > > > >coba masukkan ke database. buat database yang isinya username dan password. > kalo mau diganti tinggal di searching username nya trus password nya diganti > . bener kata mas ado. > >kalo pake mysql searching bisa pake listing ini : > > > >"select *from <nama_tabel> where username=" & username_txt. text > > > >mas ado mas bahar salam kenal.... > >best regrads..... ......... > >ucup a. > > > > > > > > _____ > > > >From: Edwar Rinaldo <a...@gramediapublish ers.com> > >To: programmer-vb@ yahoogroups. com > >Sent: Wed, May 11, 2011 10:28:55 AM > >Subject: Re: [programmer- vb] Membuat Form Password > > > > > > > >coba jawab yah mas, > > > > > > > >mungkin bisa docoba cara berikut mas, ketika user login, simpan username > dan password di global variabel mas, jadi jika user ingin mengganti password > nya mas bisa gunakan where nya username, tapi username nya kudu unique yah > mas. > > > > > > > > > > > >Regards Ado > > > > > > > > > > > >----- Original Message ----- > > > >From: Aceng Baharudin > > > >To: programmer-vb@ yahoogroups. com > > > >Sent: Wednesday, June 16, 2010 9:18 AM > > > >Subject: [programmer- vb] Membuat Form Password > > > > > > > > > > > >Dear All, > > > > > > > >Maaf mau minta bantuan kepada semua Senior yang ada di Millis ini. > > > >Saya mohon bantuannya untuk memberikan solusi dalam membuat Form Login yang > isinya Username dan Password. akan tetapi Passwordnya bisa diganti apabila > di kemudian hari User ingin mengganti Passwordnya. > > > > > > > >Mohon pencerahan untuk code-code nya! > > > >sebab saya hanya baru tahu password yang sifatnya statis, hanya satu kali > saja dan tidak bisa diganti-ganti. > > > > > > > >Terima kasih atas perhatian dan bantuannya. > > > > > > > >Salam, > > > >Bahar > > > > > > > > > >.:: Group of Book Publishing - Kompas Gramedia > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > ------------------------------------ > > Wahana Programmer Groups Links >
