Menembus Password Login Menembus Password Login Happy Chandraleka hchandraleka@gmail.com http://thecakrabirawa.wordpress.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+ mem- bypass pass-ord+ mendapatkan nama tabel+ menyisipkan anggota baru+ dll+ bahkan sampai menghapus tabel pada suatu database% Komunitas eLearning IlmuKomputer.Com Copyright !""#$!""% IlmuKomputer.Com 2 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. 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 B