Page cover

Blind SQL injection: Triggering Time Delays

Teknik Ini Berguna Untuk Mengekploitasi Kerentanan SQL Dengan memicu penundaan waktu secara kondisional,tergantung pada kondisi yang disuntikkan. penundaan eksekusi kueri SQL juga akan menunda respons HTTP.

Ini memungkinkan Kita untuk menyimpulkan kebenaran kondisi yang disuntikkan berdasarkan waktu yang dibutuhkan sebelum respons HTTP diterima.

Teknik untuk memicu penundaan waktu sangat spesifik untuk jenis database yang digunakan. Di Microsoft SQL Server, input seperti berikut ini dapat digunakan untuk menguji kondisi dan memicu penundaan tergantung pada apakah Condisi benar/Tidak:

`'; IF (1=2) WAITFOR DELAY '0:0:10'--`
`'; IF (1=1) WAITFOR DELAY '0:0:10'--`

Penjelasan:

  1. Query Yang Pertama tidak akan memicu penundaan, karena kondisinya 1=2adalah False. Jika Dibaca Query Tersebut, Jika 1 = 2 Maka Tunggu 10 detik.

  2. Query Yang Kedua akan memicu Penundaan Waktu 10 detik, karena kondisi 1=1adalah True.

Dengan menggunakan teknik ini, kita dapat mengambil data dengan cara yang telah dijelaskan, dengan menguji satu karakter pada satu waktu secara sistematis:

`'; IF (SELECT COUNT(Username) FROM Users WHERE Username = 'Administrator' AND SUBSTRING(Password, 1, 1) > 'm') = 1 WAITFOR DELAY '0:0:{delay}'--`

Ada berbagai cara untuk Untuk Menggunakan Teknik triggering Time Delay, dan Setiap Versi Database Yang Berbeda Memiliki Cara Berbeda Untuk Menggunakan Teknik Tersebut.

Last updated

Was this helpful?