العودة إلى الدورة

مقدمة عن حقن SQL

احتراف الأمن السيبراني: من الصفر إلى الاحتراف

نظرة أعمق على SQLi

تظل ثغرة حقن SQL (SQLi) واحدة من أخطر الهجمات وأكثرها شيوعاً في تطبيقات الويب. وتستهدف تفاعل طبقة التطبيق مع طبقة البيانات.

حقن SQL الأعمى (Blind SQL Injection)

أحياناً، لا يظهر الخادم خطأ في قاعدة البيانات (وهو مؤشر SQLi عادي). يسمى هذا بـ Blind SQLi.

  • الطريقة: يستنتج المهاجم المعلومات عن طريق إرسال استعلامات تغير استجابة الخادم بطريقة ضئيلة وقابلة للقياس (مثلاً تأخير لمدة ثانية واحدة، أو تخطيط صفحة مختلف قليلاً).
  • الأدوات: أدوات مثل sqlmap (أداة في Kali) تؤتمت حقن SQL الأعمى، مما يجعله عملياً على الرغم من بطء عملية استرجاع البيانات (بايت تلو الآخر).

الدفاع: الاستعلامات المعلمة (Parameterized Queries)

الدفاع الوحيد الموثوق ضد SQLi هو استخدام الاستعلامات المعلمة (أو العبارات المعدة مسبقاً - Prepared Statements).

  • يتم إرسال هيكل SQL إلى قاعدة البيانات قبل مدخلات المستخدم.
  • تعامل قاعدة البيانات مدخلات المستخدم كبيانات محضة، وليست كوداً قابلاً للتنفيذ، مما يمنع تشغيل الجمل الخبيثة.