پدربزرگ حملات دیتابیس ها را می توان SQL Injection یا تزریق کدهای SQL نامید. فرض کنید درون تکست باکسی که برنامه نویس عزیز انتظار نام و نام خانوادگی را می کشد به جای “حسن” و “تقی” عبارتی شبیه عبارت زیر وارد شود:
ali’);—delete from students;–
Ali وارد شده و فرمان با تک کوتیشن و پرانتز و سمی کولون به پایان می رسد. ولی فرمان جدیدی از راه میرسد که کل رکوردهای جدول دانش آموزان را پاک می کند و فرامین بعدی را کامنت (چمن) می کند.
گرچه امروزه این نوع حمله بسیار احمقانه به شمار میان ولی پرداختن بهش چندان هم خالی از لطف نیست.
راه حل ها:
1: استفاده از Stored Procedure
2: استفاده از پارامتر در فرامین ارسالی از سمت کاربر
3: استفاده از ابزارهای پیشگیرانه
4: استفاده از سطح دسترسی SQL Execute-only
حالا برای تحلیل اینکه کد ما چه قدر خفن و یا داغون نوشته شده، سنگ محک های زیادی وجود داره که به عنوان نمونه میشه از Microsoft Source Code Analyzer for SQL Injection tool است.