RealisticBMissionB6B–BMencuriBData PenyusunanBMisiBTipeBRealisticBMission

310 Tampilan halaman Iklan Saya kmtika misi bmrhasil ditunjukkan olmh gambar 4.62. Gambar 4.73 Tampilan halaman “Iklan Saya” pada Rmalistic Mission 5 kmtika misi bmrhasil

F. RealisticBMissionB6B–BMencuriBData

F.1. Misi Pada misi ini pmmain diharuskan untuk mmncuri data-data pmngguna pada aplikasi toko komputmr yang ada pada Rmalistic Mission 6 RM. Pmmain harus mmnggali informasi dari databasm yang mmnjalankan aplikasi RM6. Dalam hal ini databasm smrvmr yang harus digali informasinya adalah MySQL vmrsi 5. Format data yang harus dikirimkan olmh pmmain adalah smbagai bmrikut. Nama Customer1, Email, No HP Nama Customer2, Email, No HP Nama Customer2, Email, No HP Nama Customer-n, Email-n, No HP-n Jawaban alamat mmail dari masing-masing pmmain nantinya tidak akan sama, karmna akan ditambahkan karaktmr acak yang unik pmr pmmain. Tampilan dari Rmalistic Mission 6 ditunjukkan olmh gambar 4.74. 311 Gambar 4.74 Tampilan Rmalistic Mission 6 Kmlamahan aplikasi toko komputmr pada RM6 tmrlmtak pada halaman mmlihat produk bmrdasarkan katmgori. Dimana nilai dari parammtmr “cat” yang mmrupakan input untuk ID katmgori tidak dilakukan santitasi. Hal tmrsmbut mmmungkinkan timbulnya SQL Injmction. Tampilan halaman mmlihat produk bmrdasarkan katmgori pada aplikasi toko komputmr yang ada di RM6 ditunjukkan olmh gambar 4.75. Mmngunjungi halaman tmrsmbut dmngan qumrystring “?cat=4” akan mmnjalankan qumry bmrikut. PELECT p., c.category_name FROM rm_stealing_data_products p LEFT JOIN rm_stealing_data_categories c ON c.category_id=p.category_id WHERE c.category_id=[NILAI_CAT] ORDER BY p.product_name APC 312 Gambar 4.75 Tampilan halaman yang mmmiliki cmlah kmamanan pada Rmalistic Mission 6 F.2. Tujuan Mmnguji pmmahaman tmntang pmnggunaan Blind SQL Injmction untuk mmnggali informasi dari databasm. Mmnguji pmmahaman tmntang pmnggunaan statmmmn UNION untuk mmlakukan pmnggabungan hasil smlama mmnginvmstigasi struktur databasm. Mmnguji pmmahaman tmntang pmnggunaan tabml spmsial pada MySQL yaitu INFORMATION_SCHEMA untuk mmnggali informasi mmta data dari suatu databasm smpmrti nama tabml dan nama kolom. F.3. LangkahBPenyelesaian Pmmain dapat langsung mmmfokuskan pmrhatian pada parammtmr “?cat=” 313 yang ada pada qumry string URL. Disitulah lmtak kmlamahan aplikasi toko komputmr tmrsmbut. Alur pmnymlmsaian misi Rmalistic Mission 6 akan pmnulis jmlaskan dalam bmbmrapa tahapan bmrikut. Pmrtama, injmksikan nilai boolman trum atau falsm pada ?cat= untuk mmngmtms apakah aplikasi mmmiliki cmlah SQL Injmction atau tidak. Tms nilai boolman falsm dmngan mmnginjmksi statmmmn “?cat=4 AND 1=2”. Jika aplikasi mmmiliki cmlah SQL smharusnya tidak ada data yang ditampilkan. Untuk mmmastikan pmmain dapat mmnginjmksi statmmmn bmrikut “?cat=4 AND 1=1”. Tms tmrsmbut mmnghasilkan boolman trum, jika aplikasi mmmiliki cmlah dapat dipastikan hasil yang ditampilkan akan sama dmngan “?cat=4” saja. Kmdua, smtmlah mmngmtahui bahwa tmrdapat cmlah SQL Injmction pada “cat?” maka langkah smlanjutnya adalah mmncari bmrapa jumlah kolom yang digunakan saat mmlakukan qumry produk pada daftar katmgori. Inilah saat dimana statmmmn UNION dipmrlukan, dimana dmngan UNION maka hasil dari dua qumry akan digabungkan satu. Pmmain dapat mmlakukan mmmasukkan injmksi bmrikut untuk mmnmmukan cmlah SQL “?cat=4 UNION SELECT 1 23”. 23 mmrupakan hasil mncodm dari karaktmr “”. Pada MySQL karaktmr “” bmrarti kommnta artinya statmmmn smtmlah tanda tmrsmbut akan diabaikan. Hal ini untuk mmnghindari kmsalahan qumry. Jika saat dimasukkan “?cat=4 UNION SELECT 1 23” masih mrror maka coba lagi dmngan “?cat=4 UNION SELECT 1,2 23” coba lagi dmngan “?cat=4 UNION SELECT 1,2,3 23” hingga dikmtmmukan bahwa kolom yang dikmmbalikan adalah 7 hal tmrsmbut tmrbukti smtmlah mmlakukan injmksi bmrikut “?cat=4 UNION SELECT 1,2,3,4,5,6,7 23” aplikasi tidak mmngmmbalikan mrror tmtapi itmm dmngan katmgori 4 dan data UNION yang 314 dikirim. Gambar 4.76 Tampilan aplikasi Rmalistic Mission 6 smtmlah diinjmksi dmngan UNION SELECT 1,2,3,4,5,6,7 23 Kmtiga, langkah bmrikutnya yaitu mmncari nama-nama tabml yang digunakan olmh aplikasi Rmalistic Mission 6. Pmmain dapat mmnggali informasi tmrsmbut lmwat tabml INFORMATION_SCHEMA dmngan tmtap mmmanfaatkan UNION untuk mmnampilkan hasil. Pmnulis akan mmnampilkan informasi schmma tmrsmbut pada kolom km-4 karmna smpmrti tmrlihat pada gambar 4.76 kolom 4 digunakan untuk dmskripsi itmm jadi mmmiliki ruang tampilan yang lmbih bmsar untuk mmnampung informasi smhingga mudah dibaca. Bmrikut injmksi yang pmnulis lakukan untuk mmnampilkan daftar tabml. Injmksi bmrikut dimasukkan smtmlah tanda “?cat=4 ”. Output dari injmksi bmrikut ditunjukkan olmh gambar 4.77. 315 Gambar 4.77 Tampilan aplikasi Rmalistic Mission 6 smtmlah diinjmksi UNION GROUP_CONCAT dalam mmncari nama tabml UNION PELECT 1,2,3,GROUP_CONCATECONCAT_WP -- , TABLE_PCHEMA, TABLE_NAME, TABLE_TYPE PEPARATOR \n,5,6,7 FROM information_schema.TABLEP WHERE TABLE_PCHEMA=information_schema 23 Kmmmpat, smtmlah langkah kmtiga dikmtahui bahwa nama tabml untuk mmnyimpan data pmngguna adalah rm_stealing_data_users. Smdangkan nama databasm yang digunakan adalah abwh. Smlanjutnya akan dilakukan injmksi lanjutan untuk mmngmtahui nama-nama kolom pada tabml tmrsmbut. Bmrikut injmksi yang dilakukan untuk mmngmtahui nama-nama kolom. Output dari injmksi bmrikut ditunjukkan olmh gambar 4.78. UNION PELECT 1,2,3,GROUP_CONCATCONCAT_WP - , c.COLUMN_NAME, c.COLUMN_TYPE PEPARATOR \n,5,6,7 kolom FROM information_schema.COLUMNP c WHERE c.TABLE_PCHEMA=abwh AND TABLE_NAME=rm_stealing_data_users 23 316 Gambar 4.78 Tampilan aplikasi Rmalistic Mission 6 smtmlah diinjmksi UNION GROUP_CONCAT dalam mmncari nama kolom Kmlima, dan langkah tmrakhir adalah mmnampilkan data-data usmr yang ada pada tabml rm_stealing_data_users. Hal tmrsmbut mudah karmna nama kolom tmlah dikmtahui yaitu user_full_name, user_email, dan user_phone. Bmrikut injmksi yang pmnulis lakukan untuk mmnampilkan data-data pmngguna. Output dari hasil injmksi ditunjukkan olmh gambar 4.79.

G. RealisticBMissionB7B–BCrackingBPassword