SQL INJECTION
Tehnik hacking sql injection mulai mencuat kepermukaan semenjak dijebolnya situs
KPU pada pemilu putaran pertama kemarin oleh Dani Firmansyah atau Xnuxer , dengan
teknik ini beliau dapat masuk sebagai web administrator tanpa susah payah scan port
port yang terbuka , tanpa terdeteksi oleh firewall dan tanpa tool .ke situs tersebut yang
konon system yang seharga 152 milyar itu keamanannya berlapis lapis.
Apa yang penulis bahas ini adalah basic atau dasar dasar dari teknik hacking yang
dinamakan sql injection , teknik ini memungkinkan kita masuk ke suatu system yang
terproteksi sebagai siapa saja dengan hanya mengetahui username tanpa harus
mengetahui passwordnya bahkan kita juga bisa login tanpa perlu mengetahui
username dan password sama sekali
Diilustrasikan STMIK-IM mempunyai situs dengan nama www.stmik-im.ac.id , untuk
mengelola situs ini administrator membuat halaman web untuk atifitas update semua
halaman web sehingga bisa dikelola darimanapun dan kapanpun , halaman web tersebut
tersimpan di www.stmik-im.ac.id/admin.asp , untuk mengamankan halaman2 yang
dikhususkan untuk web administrator ini , web admin membuat halaman web yang
terproteksi yang berfungsi sebagai pintu masuk ke halama2 berikutnya ,sehingga setiap
user yang akan masuk ke halaman halaman yang terproteksi harus memasukan username
dan password mereka , daftar password dan user tersebut tersimpan dalam sql server
dengan nama table admin dengan field field diantaranya username dan password.
Statement sql bukanlah bahasa pemrograman seperti pascal,Delphi atau visual basic ,
statemen sql biasanya digunakan bersama sama dengan bahasa pemrograman lain pada
saat mengakses database , pada ilustrasi diatas , untuk mencocokan user yang login ,
maka digunakan statemen sql yang kurang lebih sebagai berikut
Select * from admin where username = input_username
And password = input_password
Sebagai contoh apabila penulis sebagai administrator dengan username = administrator
dan password = admin bermaksud login maka sql statemennya sebagai berikut
Select * from admin where username = ‘administrator’ and
Password = ‘admin’
Dapat dipastikan bahwa apabila field username terdapat record administrator dengan filed
password terdapat admin penulis dapat melewati proteksi dan masuk kehalaman
berikutnya ,akan tetapi apabila sebaliknya ,maka akan keluar pesan kesalahan yang
kurang lebih isinya kita tidak bisa masuk ke halaman berikutnya , lalu bagaimana kalau
penulis memasukan input ‘ or ‘’=’ pada username dan password , perhatikan perubahan
statemen sql berikut ini
Select * from admin where username = ‘’ or ‘’ = ‘’ and
Password = ‘’ or ‘’=’’
Logika OR menyebabkan statement membalikan nilai false jadi true sehingga kita bisa
masuk sebagai user yang terdapat pada record pertama dalam table admin ( record
pertama biasanya administrator) , dan bagaimana kalo kita hanya mengetahui username
saja tapi passwordnya tidak , misalkan username = administrator , caranya cukup
sederhana , pada text box tempat menginput username isi dengan “administrator’—“
sedangkan pada textbox password boleh diisi sembarang misalkan ‘ or ‘’=’ maka
statement sql akan berubah menjadi
Select * from admin where username = ‘ administrator ‘—“
And password = ‘’ or ‘’=’’
Tanda “—“ (dua tanda minus) di sql server berarti akhir dari statement sql sehingga
perintah dibelakannya tidak dieksekusi lagi.
Tehnik hacking sql injection mulai mencuat kepermukaan semenjak dijebolnya situs
KPU pada pemilu putaran pertama kemarin oleh Dani Firmansyah atau Xnuxer , dengan
teknik ini beliau dapat masuk sebagai web administrator tanpa susah payah scan port
port yang terbuka , tanpa terdeteksi oleh firewall dan tanpa tool .ke situs tersebut yang
konon system yang seharga 152 milyar itu keamanannya berlapis lapis.
Apa yang penulis bahas ini adalah basic atau dasar dasar dari teknik hacking yang
dinamakan sql injection , teknik ini memungkinkan kita masuk ke suatu system yang
terproteksi sebagai siapa saja dengan hanya mengetahui username tanpa harus
mengetahui passwordnya bahkan kita juga bisa login tanpa perlu mengetahui
username dan password sama sekali
Diilustrasikan STMIK-IM mempunyai situs dengan nama www.stmik-im.ac.id , untuk
mengelola situs ini administrator membuat halaman web untuk atifitas update semua
halaman web sehingga bisa dikelola darimanapun dan kapanpun , halaman web tersebut
tersimpan di www.stmik-im.ac.id/admin.asp , untuk mengamankan halaman2 yang
dikhususkan untuk web administrator ini , web admin membuat halaman web yang
terproteksi yang berfungsi sebagai pintu masuk ke halama2 berikutnya ,sehingga setiap
user yang akan masuk ke halaman halaman yang terproteksi harus memasukan username
dan password mereka , daftar password dan user tersebut tersimpan dalam sql server
dengan nama table admin dengan field field diantaranya username dan password.
Statement sql bukanlah bahasa pemrograman seperti pascal,Delphi atau visual basic ,
statemen sql biasanya digunakan bersama sama dengan bahasa pemrograman lain pada
saat mengakses database , pada ilustrasi diatas , untuk mencocokan user yang login ,
maka digunakan statemen sql yang kurang lebih sebagai berikut
Select * from admin where username = input_username
And password = input_password
Sebagai contoh apabila penulis sebagai administrator dengan username = administrator
dan password = admin bermaksud login maka sql statemennya sebagai berikut
Select * from admin where username = ‘administrator’ and
Password = ‘admin’
Dapat dipastikan bahwa apabila field username terdapat record administrator dengan filed
password terdapat admin penulis dapat melewati proteksi dan masuk kehalaman
berikutnya ,akan tetapi apabila sebaliknya ,maka akan keluar pesan kesalahan yang
kurang lebih isinya kita tidak bisa masuk ke halaman berikutnya , lalu bagaimana kalau
penulis memasukan input ‘ or ‘’=’ pada username dan password , perhatikan perubahan
statemen sql berikut ini
Select * from admin where username = ‘’ or ‘’ = ‘’ and
Password = ‘’ or ‘’=’’
Logika OR menyebabkan statement membalikan nilai false jadi true sehingga kita bisa
masuk sebagai user yang terdapat pada record pertama dalam table admin ( record
pertama biasanya administrator) , dan bagaimana kalo kita hanya mengetahui username
saja tapi passwordnya tidak , misalkan username = administrator , caranya cukup
sederhana , pada text box tempat menginput username isi dengan “administrator’—“
sedangkan pada textbox password boleh diisi sembarang misalkan ‘ or ‘’=’ maka
statement sql akan berubah menjadi
Select * from admin where username = ‘ administrator ‘—“
And password = ‘’ or ‘’=’’
Tanda “—“ (dua tanda minus) di sql server berarti akhir dari statement sql sehingga
perintah dibelakannya tidak dieksekusi lagi.