Time-Based Blind SQL-Injection 'BASIC'

Post a Comment
Hellawww sudah sekian lama purnama udah lama enggak nulis artikel ataupun tutorial, pada kesempatan kali ini saya mau sharing sedikit tutorial gimana sih caranya melakukan SQL-Injection dengan cara Time Based Blind Injection, Dan kenapa ini disebut SQL-Injection Time-Based karena kita disini mengandalkan delay ataupun buffering pada website untuk mengetahui apakah serangan SQL-Injection dapat di proses oleh database ataupun tidak, serangan seperti ini yang biasanya orang-orang ataupun para hekermen lewatkan, karena serangan seperti ini tidak mengeluarkan output sensitive seperti kesalahan database ataupun yang lainnya, Buat kalian yang biasa main suntik-suntik, suntiknya yang bener ya jangan yang aneh-aneh nanti salah suntik malah jadi anak lagi XD, Langsung aja gimana caranya untuk melakukan manual SQL-Injection Time-Based ini simak baik-baik yaa

Pertama saya sudah memiliki target dan target ini memang disediakan buat latihan, bagi yang terbiasa main suntik-suntik, mungkin kalo ada yang nanya "kenapa enggak memakai target yang diluar saja kak? Goverment gitu?" Ya lo tau sekarang banyak badutnya hehe. Langsung aja disini saya memasukan query SQL-Injection Time-Based untuk mengetahui website apakah website tersebut delay ataupun tidak.


Yups website pun melakukan delay selama 3 detik karena kita memasukan karena kita melakukan input query sleep selama 3 detik, delay ini bisa kalian terserah kalian aja mau berapa lama delaynya.

Kalian bisa memakai query dibawah untuk memastikan bahwa web tersebut delay atau tidak.
' and (select sleep(3))-- -


Nb: Checking time-based injection.

Setelah mendapatkan bahwa website vulnerable maka kita lanjutkan melakukan dengan mengetahui database version yang dipakai oleh target, "Kenapa harus mencari number version database terlebih dahulu?" Ya yang seperti yang kalian tahu bahwa SQL-Injection time-based disini  kita melakukan dengan cara membaca delay yang ada, tidak seperti Union Based ataupun Error Based yang lebih mudah untuk mengetahui number version yang dipakai hanya dengan membaca output error, Mari kita lakukan untuk mengetahui number version database yang dipakai, kita akan menebak-nebak number version secara manual dari 1-10. Dan pada bagian ini saya skip menghitung number karena saya sudah mendapatkanya


Yupss, disini saya menemukan angka 8 web tersebut delay. Maka bisa dipastikan website yang dipakai adalah Mysql versi 8 dan web akan melakukan delay selama 12 detik, "Loh kok 12 detik? kan query yang diinput delay hanya 3 detik?" Memang hanya 3 detik karena kita memakai query time-based blind injection maka query ini akan berlaku kelipatan, misal kita akan input delay sleep(1) maka akan menjadi delay 4 detik dan begitu seterusnya.

Contoh jika misalkan menginput dengan blind delay sleep(1) maka menjadi delay 4 detik.


Kalian bisa memakai query dibawah untuk menebak version number database yang dipakai.
' if(mid(version(),1,1)='5',sleep(3),0)-- -
' and substring(@@version,1,1)=5-- -

Nb:Database Check number version.

Jika sudah mendapatkan version number yang dipakai maka kita akan coba melakukan mengetahui nama database yang dipakai oleh target, seperti biasa kita akan melakukan menghitung jumlah huruf yang dipakai pada database tersebut, mari kita coba untuk mengetahui jumlah yang dipakai kalian bisa menebak-nebak jumlahnya. "Kasian ya kak nebak-nebak terus kayak perasaannya dia yang susah ditebak hft:((" Disini saya sudah menemukan jumlah huruf  yang dipakai yakni berjumlah 12 huruf.


Kalian bisa memakai query dibawah untuk menebak jumlah huruf pada database yang dipakai.
' and (select sleep(3) from dual where (select length(database())=13))-- -
' and (select sleep(3) from dual where database() like '____________')-- -

Nb:
Sesuaikan jumlah angka dan '_' jika terdapat delay maka jumlah tersebut yng diambil.

Disini kalian harus menebak lagi huruf alphabet, numeric, dan non-numeric symbol, Akan tetapi sangat jarang ditemukan pada case non-numeric symbol terhadap nama database, So kalian urutkan saja dari alphabet dari a-z dan numeric 1-10 secara simple yang kemungkinan menyebabkan delay.


Pada test untuk menebak ini saya sudah skip pada bagian menebak alphabet agar tidak kelamaan dan mendapatkan beberapa huruf diantaranya m,y,_,s,t,l,e,h,i mari kita coba rangkai kata apa kira-kira yang cocok dengan nama database dan tentunya harus berjumlah 12 huruf .

Kalian bisa memakai query dibawah untuk menebak huruf pada database yang dipakai.
' OR IF (BINARY substring(database(), $1, 1) = '$', sleep(3), 0)-- -

' and (select sleep(3) from dual where database() like '%a%')-- -

Nb :
$1  >> Sesuaikan jumlah database.
$   >> Sesuaikan alphabet, numeric, and non-numeric.
%a% >> Sesuaikan dengan alphabet, numeric, and non-numeric.

Dan disini test terakhir, pada kali ini keberuntungan kalian diuji apakah bisa merangkai kata dari huruf menjadi nama database disini saya mendapatkan dua kemungkinan nama database yakni dengan kata my_style_hit  dan my_styleshit mari kita coba apakah website tersebut menggunakan nama database tersebut dan jika benar menggunakan salah satu nama database tersebut maka web akan melakukan delay, Lets try~

Using my_style_hit


Using my_styleshit

Gotchaaa!! maka database yang tepat adalah my_styleshit, Sebenernya ini tergantung kalian pandai merangkai kata-kata dan imajinasi kalian aja. 

Kalian bisa memakai query dibawah untuk menebak nama database yang dipakai.
' and (select sleep(3) from dual where database()='@@namadatabase')-- -

Nb:
@@namadatabase >> 
Sesuaikan dengan kata yang kalian rangkai.

Banyak kalian yang nanya apakah sama nama databasenya itu? dan juga versinya? Maka kita akan buktikan dengan union based disini dan mari kalian coba samakan dengan tutorial diatas.

Using Union Based

Berhubung karena ini nggak ada table jadi bingung apa yang mau di dump hehe, Oke mungkin cukup sekian tutorial singkat kali ini, Gimana? Cukup sulit dan tricky bukan? yaaaa sedikit tahu walaupun ini 'BASIC' dan jika hanya mengandalkan tools automatic kapan bisanya? Ehe. Jika tidak bisa di mengerti kalian bisa comment, dont forget too share and see you next time byee~

Related Posts

Post a Comment

Subscribe Our Newsletter