Jumat, 26 November 2010

SQL INJECTION




PENGERTIAN

SQL injection adalah suatu teknik yang dapat dilakukan oleh cracker untuk dapat masuk kedalam system administrator tanpa mengetahui username dan password administrator terlebih dahulu dengan memanfaatkan perintah-perintah SQL yang dimasukkan kedalam database mesin server.

Akan menurut para ahli pengertian dari SQL injection adalah sebagai berikut :

- 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.

- Menurut Slamet Risnanto

SQL injection merupakan suatu teknik dengan menggunakan perintah SQL yang memungkinkan cracker dapat masuk ke dalam suatu system yang terproteksi tanpa mengetahui username dan password administrator terlebih dahulu.

- Menurut Deris Stiawan

SQL injection adalah suatu metode yang digunakan untuk memanfaatkan kelemahan pada mesin server SQL, misalnya server menjalankan layanan SQL (MySQL, PostgraseSQL, SQL server dan lain-lain). Kemudian Craker mencoba memasukkan sesuatu script untuk mencoba menampilkan halaman error di browser dan biasanya halaman error akan menampilkan paling tidak struktur dari hierarki server SQL.

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 :

  1. Tidak adanya penanganan terhadap karakter – karakter tanda petik satu dan juga karakter double minus yang menyebabkan suatu aplikasi dapat disisipi dengan perintah SQL.
  2. 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 :

1. Teknik serangan ini memungkinkan seseorang dapat login kedalam sistem tanpa harus memiliki account.

2. 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 :

1. Internet Exploler / Browser

2. PC yang terhubung internet

3. 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 :

  1. $SQL = “select * from login where username = ’$username’ and password = ‘$password’”; , {dari GET atau POST variable}
  2. Isikan password dengan string ’ or ’’ = ’
  3. Hasilnya maka SQL akan seperti ini = “select * from login where username = ’$username’ and password = ’pass’ or ‘ = ′ ”; , {dengan SQL ini hasil selection akan selalu TRUE }
  4. Dan hasilnya, para hacker bisa inject sintax SQL kedalam SQL

PENANGANAN SQL INJECTION

1. MERUBAH SCRIPT PHP

$query = "select id,name,email,password,type,block from user " .

"where email = '$Email' and password = '$Password'";

$hasil = mySQL_query($query, $id_mySQL);

while($row = mySQL_fetch_row($hasil))

{

$Id = $row[0];

$name = $row[1];

$email = $row[2];

$password = $row[3];

$type = $row[4];

$block = $row[5];

}

if(strcmp($block, 'yes') == 0)

{

echo "\n";

exit ( );

}

else if(!empty($Id) && !empty($name) && !empty($email) &&

!empty($password));

Script diatas memungkinkan seseorang dapat login dengan menyisipkan perintah SQL kedalam form login. Ketika hacker menyisipkan karakter ’ or ’’ = ’ kedala form email dan password maka akan terbentuk query sebagai berikut :

Maka dilakukan perubahan script menjadi

$query = "select id,name,email,password,type,block from user".

"where email = '$Email'";

$hasil = mySQL_query($query, $id_mySQL);

while($row = mySQL_fetch_row($hasil))

{

$Id = $row[0];

$name = $row[1];

$email = $row[2];

$password = $row[3];

$type = $row[4];

$block = $row[5];

}

if(strcmp($block, 'yes') == 0)

{

echo "\n";

exit ( );

}

$pass = md5($Password);

else if((strcmp($Email,$email) == 0) && strcmp($pass,$password) == 0));

MENGGUNAKAN MYSQL_ESCAPE_STRING

Merubah string yang mengandung karakter ‘ menjadi \’ misal SQL injec’tion menjadi SQL injec\’tion

Contoh :

$kar = “SQL injec’tion”;

$filter = mySQL_escape_string($kar);

echo ”Hasil filter : $filter”;


PEMFILTERAN KARAKTER DENGAN MEMODIFIKASI PHP.INI

Modifikasi dilakukan dengan mengenablekan variabel magic_quotes pada php.ini sehingga menyebabkan string maupun karakter ‘ diubah menjadi \’ secara otomatis oleh php.

Contoh :

Contoh script yang membatasi karakter yang bisa masukkan :

function validatepassword( input )

good_password_chars =

"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"

validatepassword = true for i = 1 to len( input )

c = mid( input, i, 1 )

if ( InStr( good_password_chars, c ) = 0 ) then

validatepassword = false

exit function

end if

next

end function

MEMINIMALISASIKAN SQL INJECTION

Ada beberapa cara yang dapat digunakan untuk meminimalisasikan terjadinya serangan SQL injection diantaranya adalah sebagai berikut :

1. 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. Kalau Anda pernah / sering hosting di beberapa web hosting, pastinya ada beberapa web hosting yang memberikan penamaan yang sama untuk direktori usernya (shared hosting), misal /sompret/x2324/nama-domain (dimana sompret selalu sama untuk setiap user dalam satu mesin, x2324 adalah username, dan nama-domain adalah nama domain yang digunakan si x2324. Pesan warning dan error query yang terjadi akibat script akan menampilkan path letak file tersebut. Akan lebih parah lagi jika user memberi permission 777 ke dir / file.

2. Developer hendaknya melakukan validasi terhadap URL dan memfilter bentuk request yang menjurus terhadap tindakan injeksi.

3. 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.

4. Lakukaan audit sendiri dengan berbagai macam tools yang ada.

5. Jika dana tidak mencukupi maka tidak ada salahnya konsultasi dengan pihak yang lebih pandai tentang SQL Injection.

LOKASI SQL INJECTION

Untuk dapat melakukan SQL injection pada setiap target situs tidak harus melalui inboxnya saja akan tetapi hacker bisa memasukan string-string SQL di URL situs yang telah menjadi target sebelumnya.

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—

Setelah itu akan keluar sebuah error page dari situs itu yang memberi informasi tentang struktur database situs itu. Dari hasil informasi yang telah didapat ini, hacker dapat melakukan serangan berikutnya. Apabila browser kita adalah Internet Explorer, ada sebagian situs yang tidak menampilkan error-nya, ini dikarenakan opsi Show Friendly HTTP Error Messages diaktifkan.

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].



Tutorial Warnet Gratis

Loe Pada Mao Maen Warnet Gratisan?

Yuk Maen Warnet Gratis , Gratisan Maen Di warnet Yok Boy, Tapi Gimana Caranye? Pusing Gw ni Gak Punya Duit! Warnet Gratis Dimana Ya?

PUSING LOE KAN?? Ni Deh Gw Kasi Caranya, dapet dari nyari nyari juga ni:

Heey semuanyaaa! Berjumpa lagi dengan sayaa di tips dan trik! Hahahaaa… Di trik dan tips kali ini aku mau ngejelasin trik tips mengakali warnet dengan menggunakan ZHider! Di sini kita bakalan mencoba berinternet ria di warnet secara murah meriah!! Caranya gampaang! Kalian cuman perlu download Zhider di sini. Untuk selanjutnyaa, aku bakal ngejelasin dulu tentang sistem billing di warnet.

Kalian pasti pernah khan ke warnet?? Naah, klo pernah pasti kalian bakal muncul halaman login di komputer yg kalian pake di warnet. Itu sebetulnya saat muncul layar login, komputer dah bisa dipake buat browsing. Cuman keganggu ajah sama layar login yg mengharuskan kita untuk mengisi layar login tersebut sehingga kitapun kudu bayar. Nah, dengan menggunakan ZHider, kita bisa menyembunyikan layar login dengan mudaah! Caranya bener2 sederhanaa!

Berikut ini langkahnyaaa:

  1. Pastikan warnet yg kamu pilih masih banyak bilik/kamar yg kosong. Soalnya klo rame ntar operator curiga kenapa masih ada bilik yg kosong?
  2. Baiknya sih kamu pilih bilik yg paling jauh dari operator warnet biar gak ketauan bilik kamu kosong atau ngga.
  3. Nyalakan komputer di depan kamu klo masih dalam keadaan mati.
  4. Klo ada login screen, kamu login ajah kaya biasa.
  5. Jalanin ZHider yg udah kamu download di sini, klo bisa dari rumah dimasukin ajah ke flashdisc atau disket biar gak usah download di warnet.
  6. Klo ZHider dah dibukaa, langsung ajah logout.
  7. Ntar pasti muncul login screen, kamu pencet CTRL+ALT+Z
  8. Dan login screennya menghilaang! Kamu bisa browsing sepuas-puasnya sampai matiiii! MERDEKAAAAA!!!!!!!
  9. Klo dah puas, kamu pencet CTRL+ALT+X untuk menampilkan kembali login screen yg udah kita sembunyikan tadi.
  10. Login seperti biasaa, kamu browsing2 dulu beberapa menit sampai penunjuk waktunya di atas 5 menit. Tujuannya biar operator warnet gak curiga.
  11. Logout, pasang muka babyface seolah-olah tanpa dosa, dan bayar tarif!
  12. DONNNNEEEEEEEEE!!!!! OYEAAAAAHH!!

Ini khusus untuk warnet yg punya operator yg gak kenal kamu, atau operatornya sering tidur, atau operator yg bisanya cuman nerima pembayaran ajaa (baca: TOLOL).

Dan berikut ini beberapa hotkeys yg ada di ZHider. Untuk lebih lengkapnya baca ajah readmenya:
CTRL+ALT+Z Menyembunyikan jendela aktif
CTRL+ALT+X Menampilkan kembali semua jendela yang disembunyikan
CTRL+ALT+L Menampilkan dialog zhider
CTRL+ALT+M Menampilkan kembali semua jendela yang disembunyikan, dan juga menutup zhider.

Aku kasih tips dan trik bukan berarti aku mau kalian internetan gratis di warnet sembarangan. Ini cuman buat kalian yg depresi, stres, sampai2 pengen bunuh diri karena saking pengennya online tapi dompet tipis. Lagian aku juga cuman pengen share ajah kok! Gak ada maksud apa2! Hehehehe…

Nah, Okeh! Selamat Mencobaaa…! Saya gak nanggung klo kalian ketauan!

~ G O O D L U C K !~

20 Cara Mengatasi Patah Hati

Kamu putus sama pacar kamu and badan rasanya lunglai

Seperti juga hati kamu yang hancur berkeping-keping.

Sambil berusaha meyakinkan diri kamu bahwa masih banyak

"someone" else yang lebih keren di dunia ini,

percepatlah proses penyembuhan dengan saran-saran membangun ini.

MENANGISLAH! !!!
Angkat tinju tinggi-tinggi dan sesali diri: "Kok saya?". Jatuhkan diri ke lantai dan pukullah lantai dengan penuh perasaan: "Masa sih akhirnya hanya begini saja?" Kalau perlu, kamu mengamuk dan sambunglah dengan cucuran air mata sambil menangisi kejamnya perbuatan umat manusia. Kalau kamu nggak bisa nangis, sewa film English Patient biar air mata mengalir deras.

BIARKAN KESEDIHAN MELANDA
Kamu boleh berduka cita. Ini lebih baik daripada memendam perasaan. Hanya saja, cobalah untuk tetap bersikap anggun. Jangan keliatan murung di hadapannya. Berakting sedih seperti pemain sinetron tidak ada pengaruhnya bagi orang lain.

CERITAKAN KESEDIHAN KAMU
pada teman dekat atau keluarga. Kalau kamu bilang nggak ada seorang pun yang memahami situasinya, kamu salah besar. Kita semua pernah mengalami trauma putus cinta, jadi kita semua mengerti dan ingin melupakannya. Tapi jangan muntahkan perasaanmu pada semua orang yang kamu temui. Asal tahu saja, banyak orang sering tidak peduli dengan perasaan orang lain.

JANGAN KHAWATIR
jika dia bertingkah seolah-olah berhasil mengangkat 10 ton beban dari pundaknya. Pria membutuhkan waktu lebih lama untuk mengakui dengan terus terang mengenai perasaannya. Cepat atau lambat dia akan memperlihatkannya juga. Untuk sementara, kamu boleh ngerasa senang.

JAUHKAN DIRI KAMU DARINYA
kalau itu membuatmu merasa lega. Asal aja kamu ingat-ingat lagi sulitnya untuk berlagak cuek pada saat kamu lagi butuh.

IKUTLAH LATIHAN KEBUGARAN
Aliran endorfin akan menaikkan semangat kamu dan siapa tahu kecengan cakep yang tersenyum lagi aerobik itu akan melambungkan hati kamu.

MULAILAH UNTUK MEMBACA BUKU
Susahnya kalau kehilangan kekasih adalah hilangnya seseorang untuk dirangkul. Membaca buku bermutu sebelum tidur, ternyata merupakan cara lebih ampuh.

NIKMATI BENDA-BENDA
yang dibenci dia semasa kamu masih bersamanya. Bakarlah minyak aromaterapi dengan bau yang keras, konsultasilah dengan psikolog, masaklah makanan vegetarian atau pakai pakaian yang kamu suka tanpa takut dikritik.

POTONGLAH RAMBUT KAMU
Secara simbolis memotang rambut berarti mengangkat beban dari pundak atau memulai sesuatu yang baru.

GANTI PARFUM KAMU
Kamu nggak memerlukan lagi bau-bauan yang biasanya mengingatkan kembali pada hari-hari yang indah bersamanya.

HABISKAN WAKTU BERSAMA TEMAN-TAMAN
Nikmatilah bergaul seperti masa-masa ABG dulu. Belief it, kamu bakal ngerasa lebih tenang setelah mendengat cerita sedih yang juga dialami teman-teman.

BERSIKAPLAH ASEKSUAL
dan hindari lawan jenis untuk sementara waktu. Cara ini akan melancarkan jalan kamu menuju ketenangan emosi. Tapi kalau kamu nggak bisa melupakan keinginan untuk bermesraan dengan sang mantan, anggap saja itu hal yang biasa. Putus cinta sudah pasti membuat orang lebih rindu. Kalau akhirnya kamu bisa bertemu lagi, bukan pertanda anda kembali menjalin hubungan yang sudah gagal itu.

BERPIKIRLAH SECARA MATANG
Yakinkan diri kamu kalau kejadian itu memang harus terjadi. Percaya pada kemampuan diri sendiri, itulah cara untuk menyembuhkan perasaan. Luapan kegembiraan tidak harus selalu berakhir di pelaminan. Putus cinta memang menyakitkan, tetapi tidak separah perceraian.

BUATLAH DUA DAFTAR BERBEDA
Pada satu daftar, catatlah apa yang bikin kamu nggak bahagia dalam hubungan kalian. Kemudian, pada daftar satunya lagi, tuliskan apa yang kamu harapkan dari sebuah hubungan. Pakailah kedua daftar itu untuk membantu menghilangkan pola pikir negatif anda, yaitu adanya perasaan di tolak oleh si dia.

DENGARKAN
jika teman-teman baik membeberkan kekurangan-kekurang an mantan kamu dan membantu kamu untuk memandang dia lebih realistis. Tetapi jangan teruskan pembicaraan yang bersifat ‘penuh kebencian’.

GANTILAH
barang-barang di tempat tinggal kamu yang mengingatkan kamu padanya. Kalau tinggal berdekatan pindahlah sementara waktu kalau perlu. Singkirkan foto-fotonya. Berhenti mendengarkan lagu-lagu yang pernah kalian senangi. Ciptakan suasana baru dengan membeli CD baru yang nggak ada hubungannya dengan kenangan masa lalu.

GUNAKAN SEMUA KEKUATAN KAMU
untuk mempertahankan keputusanmu. Hati kamu mungkin hancur lebur, tapi akhirnya apa yang tampak seperti kekuatan dari luar akan menjadi jalan keluar untuk penyembuhan di dalam diri kamu.

MANJAKAN DIRI KAMU
Kamu dipaksa berhenti untuk mikirin orang lain. So, kumpulin aja seluruh tenaga itu untuk diri sendiri.

LAWAN RASA TAKUT
Putus secara mendadak seperti dipaksa mengubah kebiasaan dengan tiba-tiba. Biar nggak takut menghadapinya sadari aja kamu mendapat pengalaman baru akibat perubahan itu, yaitu pematangan emosi yang ternyata bisa menguatkan watak.

CARILAH BANTUAN
Meskipun kamu udah berusaha sekuat tenaga dan segala upaya untuk menyembuhkan diri and tetep gagal, cobalah untuk berkonsultasi dengan ahlinya (Psikolog juga boleh!). Beberapa hal yang dapat membantu kamu untuk bangkit lagi, adalah menerima saran obyektif dari seorang teman yang pendengar setia, ngobrol dengan teman-teman dan memusatkan perhatian agar sembuh dari sakit hati & kehilangan.