حقن SQL

يُكتب أيضاً: SQLi, Second-Order SQL Injection

ثغرة تُدخل أوامر قاعدة بيانات داخل مدخلات لم تُنظَّف، فتقرأ أو تعدّل بيانات لا يجب الوصول إليها. النوع الثاني منها يُخزَّن أولاً ثم يُنفَّذ لاحقاً في عملية أخرى.

حقن SQL (SQL Injection) ثغرة يتمكن فيها المهاجم من إدخال أوامر قاعدة بيانات داخل قيمة يرسلها، مثل حقل بحث أو معامل في الرابط، فينفذها الموقع كجزء من الاستعلام. يحدث عندما يُلصق مدخل المستخدم مباشرة داخل نص الاستعلام دون تحضير.

بها يستطيع المهاجم قراءة جداول كاملة مثل المستخدمين وكلمات السر المشفّرة، أو تعديل البيانات، أو إنشاء حساب مدير. والنوع المؤجَّل يخزّن القيمة الخبيثة أولًا ثم تُستخدم في استعلام لاحق، فيصعب اكتشافه.

في ووردبريس الحماية قاعدة ثابتة: أي استعلام يحتوي قيمة متغيرة يمر عبر $wpdb->prepare() مع العلامات %s و%d، أو تستخدم دوال مثل $wpdb->insert() التي تحضّر القيم تلقائيًا. وكصاحب موقع، هذا النوع من الثغرات في الإضافات يستدعي التحديث فورًا.