TUGAS KELOMPOK SECURITY COMPUTER
“TOOL HACKING SQL INJECTION” FILIAN FALANDA
(2012110015)
SUWANDY
(2012110020)
FERDY ARTHA OKTARANDA
(2012110022)
TRI BUANA
(2012110025)
DOSEN PEMBIMBING : Ade Sarah Huzaifah, M.Kom.
KEJAHATAN DUNIA MAYA
Perkembangan internet yang semakin hari semakin meningkat baik teknologi dan penggunaannya, membawa banyak dampak baik positif maupun negatif. Tentunya untuk yang bersifat positif kita semua harus mensyukurinya karena banyak manfaat dan kemudahan yang didapat dari teknologi internet ini
Kemudian tentunya tidak dapat dipungkiri bahwa teknologi internet membawa dampak negatif yang tidak kalah banyak dengan manfaat yang ada. Internet membuat kejahatan yang semula bersifat konvensional seperti pengancaman, pencurian dan penipuan kini dapat dilakukan dengan menggunakan media komputer secara online dengan risiko tertangkap yang sangat kecil oleh individu maupun kelompok dengan akibat kerugian yang lebih besar baik untuk masyarakat maupun negara disamping menimbulkan kejahatan-kejahatan baru.
Seiring dengan berjalannya waktu, akibat banyaknya para hacker muda yang lahir untuk melakukan kejahatan di dunia maya, maka banyak metode yang mereka gunakan untuk melakukan teknik serangan seperti Cross Site Scripting, Directory Traversal Attack, Parameter Manipulation dan lain sebagainya. Adapun salah satu contoh teknik serangan yang sering mereka gunakan adalah teknik serangan melalui SQL injection.
KEJAHATAN DUNIA MAYA
SQL singkatan dari Structured Query Language yg merupakan bahasa komputer standar yang ditetapkan oleh ANSI (American National Standard Institute) untuk mengakses dan memanupulasi sistem database. SQL bekerja dengan program database seperti MS Access, DB 2, Informix, MS SQL Server, Oracle, Sybase dan lain sebagainya.
SQL injection attack merupakan salah satu teknik dalam melakukan web hacking utk menggapai akses pada sistem database yg berbasis SQL. Teknik ini memanfaatkan kelemahan dalam bahasa pemprograman scripting pada SQL dalam mengolah suatu sistem database. Hasil yg ditimbulkan dari teknik ini membawa masalah yg sangat serius.
Maka setelah mengetahui bahwa SQL injection merupakan suatu teknik serangan hacker yang dapat mereka lakukan dari jarak jauh, maka penulis memutuskan untuk mengambil tema ini dengan menggunakan judul ”Metode Serangan SQL Injection”.
MENURUT PARA AHLI PENGERTIAN DARI SQL INJECTION :
Menurut Rosihan Ari Yuana SQL injection merupakan perbuatan orang yang memberikan perintah SQL untuk dijalankan di mesin server SQL tanpa sepengetahuan Anda sebagai administrator. Proses injection biasanya dilakukan orang ketika memasukkan input melalui form dengan perintah atau kode tertentu.
Menurut Muhammad Ilhamdi Rusydi
SQL injection adalah teknik memanipulasi perintah SQL dengan memasukkan ke database server sehingga dapat dimanfaatkan untuk mendapatkan informasi dan merubah database yang telah ada.
SEBAB TERJADINYA !!!! SQL injection yang dapat diartikan sebagai suatu aksi hacking yang dilakukan di aplikasi client dengan cara memodifikasi perintah SQL yang ada di memori aplikasi client dapat terjadinya karena disebabkan oleh beberapa penyebab yatu :
Tidak adanya penanganan terhadap karakter – karakter tanda petik satu dan juga karakter double minus yang menyebabkan suatu aplikasi dapat disisipi dengan perintah SQL.
Sehingga seorang Hacker menyisipkan perintah SQL kedalam suatu parameter maupun suatu form.
KARAKTERISTIK ........ ??? SQL injection yang merupakan jenis serangan dari para hacker mempunyai beberapa karakteristik yaitu :
Teknik serangan ini memungkinkan seseorang dapat login kedalam sistem tanpa harus memiliki account.
Selain itu SQL injection juga memungkinkan seseorang merubah, menghapus, maupun menambahkan data–data yang berada didalam database. Bahkan yang lebih berbahaya lagi yaitu mematikan database itu sendiri, sehingga tidak bisa memberi layanan kepada web server.
TOOLS PENDUKUNG ........ Untuk dapat melakukan aksi SQL injection, para hacker membutuhkan beberapa tools yang akan mereka gunakan sebagai pendukung untuk melakukan teknik penyerangan diantaranya adalah sebagai berikut :
Internet Exploler / Browser
PC yang terhubung internet
Program atau software seperti softice
CONTOH SINTAKS DALAM PHP Adapun beberapa contoh sintaks agar para hacker dapat melakukan penyerangan dengan menggunakan metode SQL injection adalah sebagai berikut :
$SQL = “select * from login where username = ’$username’ and password = ‘$password’”; , {dari GET atau POST variable}
Isikan password dengan string ’ or ’’ = ’
Hasilnya maka SQL akan seperti ini = “select * from login where username = ’$username’ and password = ’pass’ or ‘ = ′ ”; , {dengan SQL ini hasil selection akan selalu TRUE }
Dan hasilnya, para hacker bisa inject sintax SQL kedalam SQL
Contoh Gambar SQL Injection :
CONTOH SINTAKS DALAM PHP
PENANGANAN SQL INJECTION MERUBAH
SCRIPT PHP
MENGGUNAKAN PEMFILTERAN
MYSQL_ESCAPE_STRING
KARAKTER DENGAN MEMODIFIKASI PHP.INI
MEMINIMALISASIKAN SQL INJECTION
Warning atau Error pada query tidak perlu ditampilkan. Lebih baik dibuat script yang akan langsung memfeedback log error/warning ke developer/adminnya jika terjadi kesalahan query, sementara di end-user bisa ditampilkan, misal error 404. Developer hendaknya melakukan validasi terhadap URL dan memfilter bentuk request yang menjurus terhadap tindakan injeksi.
Jangan pernah dumping database ke direktori yang tidak restrict permissionnya / publik. Dan lagi penamaan terhadap file hasil dumping database diusahakan tidak umum seperti pemberian tanggal-bulan-tahun (misal : 13071984.sql). Beberapa third party atau extension / module suatu CMS yang menggunakan konfigurasi default bisa ditebak direktori dan nama filenya.
Lakukaan audit sendiri dengan berbagai macam tools yang ada.
Jika dana tidak mencukupi maka tidak ada salahnya konsultasi dengan pihak yang lebih pandai tentang SQL Injection.
LOKASI SQL INJECTION
Misalnya ada sebuah situs www.target.com/moreinfo.cfm dengan ProductID = 245 lalu hacker mengetikkan string injeksi debuging SQL tadi ke address bar yang dituju dibelakang url target itu, contohnya: www.target.com/moreinfo.cfm dengan ProductID = 245' having 1 = 1 dan juga hacker dapat menghapus nilai produk dari URL tersebut dan menggantinya dengan debugging code, sebagai contoh: www.target.com/moreinfo ProductID = 'having 1=1—
Untuk itu hacker perlu menonaktifkannya dengan cara menghilangkan tanda centang di kotaknya. Opsi ini dapat anda temukan di Tools > Internet Option > Advanced cari opsinya di bagian Browsing lalu hilangkan tanda centangnya dan klik tombol Apply. Sesudah itu apabila anda menemui error page yang berisi HTTP 500 error - internal server error- sebelum men-set opsi tadi, anda cukup menekan tombol Refresh, lalu terlihatlah sudah error-nya. Setelah kita tahu struktur database-nya, dengan pengetahuan dasar dari belajar SQL kita dapat menghancurkan database itu dengan perintah ' drop database [nama_database] atau drop table [nama_table].
CARA PENCEGAHAN
Membatasi panjang dari suatu input box (jika memungkinkan), dengan cara membatasinya di kode program, jadi si hacker pemula akan bingung sejenak melihat input box nya gak bisa diinject dengan perintah yang panjang.
Memfilterisasi input yang dimasukkan oleh user, terutama penggunaan tanda kutip tunggal (Input Validation).
Mematikan atau sembunyikan pesan-pesan error yang keluar dari SQL Server yang berjalan.
Mematikan fasilitas-fasilitas standar seperti Stored Procedures, Extended Stored Procedures jika memungkinkan.
Mengubah "Startup and run SQL Server" menggunakan low privilege user di SQL Server Security tab.