Anda di halaman 1dari 4

Konsep SQL Injection untuk Menembus Password Login

Happy Chandraleka
hchandraleka@gmail.com http://thecakrabirawa.wordpress.com

Lisensi Dokumen:
Copyright !""#$!""% IlmuKomputer.Com &eluruh dokumen di IlmuKomputer.Com dapat digunakan' dimodi(ikasi dan disebarkan secara bebas untuk tujuan bukan komersial )nonpro(it*' dengan syarat tidak menghapus atau merubah atribut penulis dan pernyataan copyright yang disertakan dalam setiap dokumen. +idak diperbolehkan melakukan penulisan ulang' kecuali mendapatkan ijin terlebih dahulu dari IlmuKomputer.Com.

Pengantar
Tulisan ini merupakan salah satu tulisan yang ada di buku Siapa Bilang Nge-Hack Itu Susah karya penulis sendiri dan diterbitkan oleh Elex edia !omputindo pada tahun "##$% &engan pertimbangan keman'aatan tulisan tersebut dan dipandang perlu untuk men(elaskan tentang logika S)* in(ection+ maka penulis menempatkannya di sini%

SQL Injection
Bila seseorang ingin mengakses suatu sistem komputer+ biasanya diperlukan login% ,enerapannya pada -ebsite ditampilkan dengan dua kotak isian+ yaitu kotak ser !ame+ ser Id+ atau ser "ccount dan kotak Password% *ogin ini berguna untuk mem'ilter dan mengetahui identitas seseorang yang ingin mengakses suatu sistem% Sistem login merupakan suatu cara dalam dunia sekuriti komputer untuk mem'ilter orang yang masuk ke sistem sehingga orang . orang yang tidak terda'tar tidak dapat masuk ke sistem tersebut% Tetapi teknologi yang ada selalu sa(a tidak sempurna% /da banyak cara untuk menembus 'ilter pada sistem login tersebut% Sehingga seseorang yang tidak mengetahui pass-ord dapat (uga ikut menikmati dan masuk ke sistem tersebut% Salah satunya adalah dengan S)* in(ection% ,ada tulisan ini saya akan (elaskan tentang cara menembus password login dengan S)* in(ection secara teoritis dengan melihat pada sisi kelemahan query bahasa S)* itu sendiri% S)* in(ection itu sendiri adalah suatu cara untuk mengeksploitasi kelemahan bahasa S)* dengan cara memasukkan 0mengin(eksikan1 beberapa karakter tertentu% &eretan karakter tersebut biasa dikenal dengan nama injection string% /da banyak hal yang dapat dilakukan dengan injection string% &iantaranya+ membypass pass-ord+ mendapatkan nama tabel+ menyisipkan anggota baru+ dll+ bahkan sampai menghapus tabel pada suatu database%

Komunitas eLearning IlmuKomputer.Com Copyright !""#$!""% IlmuKomputer.Com

Memahami Cara Kerja SQL Injection


Semisal ada seorang user yang bernama 3oko yang ingin mengakses suatu sistem yang menggunakan sistem login% aka 3oko akan memasukkan isian pada kotak ser Id dengan 43oko5 0tanpa kutip1 dan pada kotak Password dengan 4rahasia5 0tanpa kutip1% Bila kemudian ditekan tombol #K atau tombol *ogin . nama tombolnya bisa berbeda . maka sistem tersebut akan men(alankan perintah query dalam bahasa S)* seperti berikut ini%

Gambar Login dengan User Id dan Password

Select * from TUser where UserId = joko AND Password = rahasia /rti dari perintah tersebut adalah menampilkan data dari seluruh record 0perhatikan tanda 6 di perintah tersebut1 di database sistem tersebut% Tetapi tidak semua record akan ditampilkan+ karena pada perintah di atas ada 'ilter atau pemilihan+ yaitu hanya data yang record serId-nya berisi 4(oko5 dan Password-nya berisi 4rahasia5% ,erhatikan penggalan perintah setelah klausa where% &an harus dipahami (uga bah-a isian serId dan Password yang diinputkan oleh user+ keduanya harus bersesuaian dengan yang tersimpan di database sistem% !arena digunakan logika "!$ pada perintah tersebut% &engan demikian+ bila isian serId dan Password sesuai dengan yang tersimpan di database+ barulah user tersebut dapat masuk ke sistem%

$ua Cara Menembus Password


7ntuk menembus . atau mem- bypass . pass-ord pada sistem login+ bisa ditempuh dengan dua cara% &ari kedua cara tersebut seseorang bisa masuk ke suatu sistem tanpa perlu mengetahui pass-ord-nya% Cara pertama adalah dengan menambahkan karakter 48 setelah serId% Sehingga bila /nda menginputkan pada kotak ser Id dengan 4%oko&'5 0tanpa kutip1 dan pada kotak Password /nda inputkan sembarang karakter+ seperti pada gambar ini%

Komunitas eLearning IlmuKomputer.Com Copyright !""#$!""% IlmuKomputer.Com

"

Gambar Injection string dengan # pada kotak User Id

aka ketika /nda menekan tombol *ogin+ sistem -ebsite tersebut akan men(alankan perintah query sebagai berikut%

Tanda 8 merupakan cara untuk membuat komentar 0remark1 dalam bahasa S)*% Sebagaimana tanda 99 dalam bahasa ,ascal% ,emark atau komentar akan menyebabkan karakter sesudah tanda komentar akan diabaikan oleh program dan tidak akan dianggap sebagai kode program% :ang menariknya disini+ dengan injection string 48 akan menyebabkan kode program setelah tanda 8 akan diabaikan% ,erhatikan perintah di atas% :ang imbasnya adalah /nda bisa menginputkan sembarang karakter pada kotak Password dan /nda tetap bisa login dengan 7ser Id 4(oko5;; Cara kedua adalah dengan menambahkan injection string sembarang OR x=x pada kotak ,ass-ord%

Gambar Injection string pada kotak Password

Sehingga bila /nda tekan tombol *ogin+ maka sistem -ebsite akan men(alankan perintah sebagai berikut

/kibatnya pada bagian Password akan terisi dengan nilai sembarang% Tentu sa(a inputan tersebut akan bernilai (alse dan akan menyebabkan /nda tidak bisa login ke sistem tersebut%

Komunitas eLearning IlmuKomputer.Com Copyright !""#$!""% IlmuKomputer.Com

<

Sederhana sa(a alasannya+ isian pass-ord tidak sama dengan yang tersimpan di sistem% Tetapi ada query lan(utannya+ yaitu OR x=x % :ang artinya sistem diberikan pilihan% Bila sebelumnya+ inputan pass-ord bernilai salah+ maka di(alankan pilihan berikutnya yang sudah pasti benar+ karena x=x% /kibatnya /nda bisa masuk ke dalam sistem tanpa mengetahui pass-ord yang sesungguhnya dengan ser Id 4(oko5;;

(agaimana Penerapannya)
&emikian teori &-L injection untuk menembus pass-ord login% Saya katakan teori karena memang begitulah secara teoritis kelemahan bahasa S)*% Tentu sa(a dalam penerapannya pada keadaan sesungguhnya akan sedikit berbeda% Sehingga bila /nda mencoba bermain . main dengan kiat ini+ /nda tidak bisa begitu sa(a masuk menembus pass-ord pada login -ebsite% !arena para -eb de=eloper akan mengantisipasi adanya serangan &-L injection ini% &iantaranya dengan mendeteksi inputan karakter yang tergolong aneh% !ecuali pada beberapa -ebsite yang mereka belum memperbaiki diri%

(iogra*i Penulis
Happy Chandraleka% Seorang penulis TI independen% enyelesaikan S2 di Teknik Elektro 7ni=ersitas &iponegoro% Saat ini mengelola >pen 3ournal System Badan ,enelitian dan ,engembangan !esehatan+ !ementerian !esehatan ?epublik Indonesia% In'ormasi tentang penulis dapat dilihat di http@99thecakrabira-a%-ordpress%com dan dapat dihubungi =ia email hchandralekaAgmail%com%
(ditulis di Ruang 7 Depok, 5 November 2013, pukul 12.45 siang

Komunitas eLearning IlmuKomputer.Com Copyright !""#$!""% IlmuKomputer.Com