So’rov jo’natilganda tizim xatolik yzuberganida turli xatolar berishi mumkin. Qanday xatolik yuz berganini yashiradigan ilovalarda xatoga asoslangan SQL inyeksiya yordam bermaydi. Shunday vaziyatda vaqtga asoslangan SQL inyeksiyani qo’llash mumkin. Bunda kerakli ma’lumot taxmin qilinadi va agar ma’lumot to’g’ri kelsa kutib turish so’raladi. Bu orqali ma’lumotlarga ega bo’lish mumkin bo’lad. Bunga quyidagi kodni misol qilib keltirish mumkin:
SELECT * FROM card WHERE id=1- IF(MID(VERSION(),1,1) = '5', SLEEP(15), 0)
Zanjirli so’rovga asoslangan SQL inyeksiya.
Ushbu zanjirli turdagi SQL inyeksiyani amalga oshirsh uchun ma’lumotlar bazasi so’rovlarni qo’llab quvvatlashi kerak bo’ladi.Bunday turda so’rovlarni yangi versiyadagi ma’lumotlar bazalari qo’llab quvvatlamaydi. Ammo bu turdagi hujum eng xavflisi hisoblanadi. Uning yordamda ma’lumotlar bazasida istalgan ishni qilish mumkin. Ma’lumotlarni o’chirish, o’zgartrish, ma’lumotlar bazasini o’chirib tashlash va hattoki operatsion tizimdan ham foydalanish mumkin. Bunga misol qilib quyidagi kodni keltirish mumkin:
SELECT * FROM table_name WHERE smth = ' ';DROP database;--’;
Zanjirli so’rovga asoslangan SQL inyeksiya.
SQL ning maxsus imkonyatlari mavjud. exec xp_cmdshell komandasi orqali SQL so’rov yordamida operatsion tizim imkoniyatlaridan foydalanish mumkin. Bu imkoniyat odatda o’chirib qo’yilgan holda bo’ladi. Lekin uni yoqib qo’yish orqali maxsus ishlarni bajrish mumkin. Masalan BackUp nusxani olishni avtomatlashtirish mumkin. Ammo bu imkoniyat anchagina xavfli hujumlarga olib kelishi mumkin. SQL inyeksiyaga yo’l qo’yilganda zanjirli so’rov orqali ushbu imkonyatdan foydalanilsa SQL bazasi turgan kompyuter yoki serverning barcha imkoniyatlarini qo’lga kiritish mumkin. Bunda ham hamma imkoniyatlarni qo’lga kiritish yoki kiritmaslik SQL server qaysi huquq bilan ishlayotganiga bog’liq. Agar SQL server adminstartor nomidan faoliyat yurutayotgan bo’lsa demak hujum natijasida server xavf ostida qolishi mumkin.