Kata hacker pada jaman sekarang ini sudah tidak asing lagi di telinga kita khususnya dunia information technology (IT) dan hacker yang dulu dipandang sebagai penjahat, pencuri atau pembobol suatu system komputer sekarang sudah berubah, keberadaan hacker yang identik dengan aktifitas underground kini sudah mulai menampakan diri ,sebagai contoh dinegara negara maju , perusahaan perusahaan besar yang mempunyai system komputer yang besar sudah mulai menyewa hacker untuk mencari kelemahan kelemahan system mereka. Penyusun artikel ini bukan bermaksud untuk mengajari para pembaca untuk menjadi perusak, pencuri atau penjarah suatu system komputer akan tetapi bertujuan untuk mahasiswa yang akan turun di dunia IT khususnya calon system administrtrator atau web administrator untuk keamanan system yang dipegangnya sehingga selalu waspada terhadap aktifitas pancurian/penjarahan data dan lain lain, penyusun admin berpendapat bahwa untuk mengamankan rumah kita dari penjarahan dan pencurian belajar dan mempelajari pola pikir pencuri dan penjarah adalah hal yang sangat tepat, begitupun dalam keamanan system komputer.
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 portport yang terbuka , tanpa terdeteksi oleh firewall dan tanpa tool .ke situs tersebut yang konon system yang seharga 152 milyar itu keamanannya berlapis lapis. Andmin penyusun mau membahas bahasa pemrograman 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
- Di ilustrasikan STMIK-IM mempunyai situs dengan nama www.stmik-im.ac.id , untuk mengelola situs ini administrator membuat halaman web untuk aktifitas update semua halaman web sehingga bisa dikelola darimana pun dan kapan pun, halaman web tersebut tersimpan di www.stmik-im.ac.id/admin.asp, untuk mengamankan halaman halaman yang dikhususkan untuk web administrator ini, web admin membuat halaman web yang terproteksi yang berfungsi sebagai pintu masuk ke halaman 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 serverdengan 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_usernameAnd password = input_password
Sebagai contoh apabila penulis sebagai administrator dengan username = administratordan password = admin bermaksud login maka sql statemennya sebagai berikut :
Select * from admin where username = ‘administrator’ andPassword = ‘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 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 ‘’ = ‘’ andPassword = ‘’ 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 dibelakangnya tidak dieksekusi lagi.
Untuk web admin, bagaimana cara mencegahnya, jangan izinkan user menginput selain karakter a - z atau A - Z atau 0 – 9, selain dari pada itu ditolak pada saat pengecekan.
PENUTUP
Sebenarnya dari teknik dasar sql injection ini , pembaca bisa mengembangkan teknik ini sehingga akses yang ditimbulkan akan lebih dasyat dari cuman sekedar bisa masuk sebagai web administrator. Penulis yakin bahwa sampai saat ini masih banyak situs situs yang bisa diekplor memakai teknik sql injection dikarenakan kebodohan para adminnya, apabila para pembaca hendak mencobanya bisa mencari situs situs dengan menggunakan web searching misalkan yahoo atau google, masukan keynya login.asp/php atau admin.asp/php, tapi jangan merusaknya dan ingat aktifitas kita akan dicatat di log file yang akan mencatat IP kita dan aktifitas kita, penulis sarankan menggunakan anonymousproxy