"إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"
الصفحة الأمامية > برمجة > سلسلة حقن SQL: شرح مفصل لتقنيات حقن SQL المتقدمة

سلسلة حقن SQL: شرح مفصل لتقنيات حقن SQL المتقدمة

نشر في 2025-03-12
تصفح:198

Part SQL Injection Series: Advanced SQL Injection Techniques

أداة Waymap Pentesting: انقر هنا Trixsec Github: انقر هنا

Trixsec Telegram: انقر هنا



مستغلات حقن SQL المتقدمة-الجزء 7: التقنيات المتطورة والوقاية

مرحبًا بكم في الجزء 7 من سلسلة حقن SQL الخاصة بنا! تتعمق هذه الدفعة في تقنيات حقن SQL المتقدمة تستخدمها المهاجمون وتوفر استراتيجيات عملية لمواجهةها. مع تطور التهديدات ، يعد فهم هذه الأساليب المتطورة أمرًا بالغ الأهمية للبقاء في المقدمة.

1. تقنيات حقن SQL المتقدمة


1.1. حقن SQL خارج النطاق

يتم استخدام حقن خارج النطاق (OOB) عندما لا يستطيع المهاجم مراقبة نتائج الحمولة الصافية مباشرة. بدلاً من ذلك ، يعتمدون على طلبات DNS أو HTTP للاختبار البيانات.

كيف يعمل

: يؤدي الحمولة النافعة إلى استعلام يرسل البيانات إلى خادم يتحكم فيه المهاجم. على سبيل المثال:
  • حدد * من المستخدمين أين> يستغل النافعة أعلاه SQL Server XP_Dirtree لتقديم طلب DNS خارجي.
  SELECT * FROM users WHERE>



The above payload exploits SQL Server's xp_dirtree to make an outbound DNS request.

  • Real-World Example:

    In 2019, attackers used OOB techniques to bypass traditional defenses and exfiltrate sensitive data from a government database.

  • Mitigation:

    • Block outbound DNS/HTTP requests from the database.
    • Use network monitoring tools to detect unusual outbound traffic.

1.2. Boolean-Based Blind SQL Injection

This method determines true or false conditions based on subtle changes in the application's behavior.

  • Example Payload:
  ' AND 1=1 -- True condition  
  ' AND 1=2 -- False condition  

الاستخدام
    :
  • يعدد المهاجمون قواعد البيانات أو الجداول أو الأعمدة بت واحد في وقت واحد باستخدام استعلامات مشروطة.

    mitigation
  • :
  • استخدم الاستعلامات المعلمة أو أطر ORM.

    نشر جدران حماية تطبيق الويب (WAFS) مع مجموعات القواعد للكشف عن حقن SQL الأعمى.
  • 1.3. حقن SQL الأعمى القائم على الوقت

تستخدم هذه التقنية التأخير لاستنتاج البيانات. يلاحظ المهاجم المدة التي يستغرقها الخادم للرد.

مثال على الحمولة النافعة

:
  • حدد if (1 = 1 ، النوم (5) ، 0) ؛ - تأخير الاستجابة بمقدار 5 ثوانٍ
  SELECT IF(1=1, SLEEP(5), 0); -- Delays response by 5 seconds  
تأثير
    :
  • يمكن أن تشل الاستعلامات البطيئة أداء الخادم ، مما يسبب رفض الخدمة.

    mitigation
  • :
  • استخدم الحد من المعدل لمنع الطلبات المفرطة.

    مراقبة وإنهاء الاستعلامات طويلة الأجل.
  • 1.4. حقن SQL من الدرجة الثانية

في هذه التقنية ، يتم تخزين الحمولات الضارة في قاعدة البيانات وتشغيلها أثناء إجراء لاحق ، مثل مراجعة المسؤول.

مثال سيناريو
    :
  • يدخل المهاجم هذه الحمولة في نموذج:

      روبرت ') ؛ إسقاط مستخدمي الجدول ؛ -
    أثناء المراجعة ، يقوم التطبيق بتنفيذ الحمولة المخزنة.
    Robert'); DROP TABLE users; --  
    
    mitigation
  • :
  • الهروب وتطهير المدخلات في كل مرحلة ، حتى أثناء الاسترجاع.

    استخدم وظائف قاعدة البيانات غير القابلة للتغيير لمنع تنفيذ البرامج النصية الضارة.
  • 2. دراسات حالة العالم الحقيقي

دراسة الحالة 1: ضعف Magento (CVE-2019-8144)

حادثة:

استغل المهاجمون ضعف حقن SQL القائم على الوقت في منصة التجارة الإلكترونية في Magento.

تجاوزوا المصادقة واكتدوا الوصول إلى بيانات العميل الحساسة.
  • دروس التخفيف
  • :

تصحيح البرامج بانتظام لمعالجة نقاط الضعف المعروفة.

قم بإجراء اختبار الأمان على الإضافات والتمديدات الطرف الثالث.
  • دراسة الحالة 2: Shopify (2020 Bug Bounty)

حادثة:

حدد باحث أمني ضعف حقن OOB SQL في واجهة برمجة تطبيقات Shopify ، والتي يمكن أن تتسرب البيانات الحساسة عبر DNS.

تم القبض عليه قبل الاستغلال ، وذلك بفضل برنامج Bug Bounty الخاص بـ Shopify.
  • دروس التخفيف
  • :

استثمر في برامج Bug Bounty لتشجيع الإبلاغ عن الضعف الأخلاقي.

الاستفادة من بوابات API لفرض التحقق الصارم للاستعلام.
  • 3. استراتيجيات دفاعية متقدمة

3.1. تحليل الاستعلام الديناميكي

استخدم الأدوات التي تراقب استعلامات قاعدة البيانات للأنماط غير العادية أو التعقيد المفرط.

أدوات

:
  • sqlmap: لاختبار أنظمتك. Aqua Security أو Imperva: لحماية وقت التشغيل.
    3.2. التحقق من صحة السياق

فرض قواعد التحقق من الصحة بناءً على السياق:

تسجيلات تسجيل الدخول

: التحقق من صحة بيانات الاعتماد للسماح فقط بالقيم الأبجدية الرقمية.
  • نماذج البحث : تطهير المدخلات لاستبعاد مشغلي SQL مثل Select أو Union.
  • 3.3. تكوينات خاصة بقاعدة البيانات

تمكين ميزات مثل وضع الكشف عن حقن SQL

في mysql.
  • استخدم مرشحات SecComp في postgreSQL لتقييد العمليات الخطرة.
  • 3.4. اختبار الاختراق المستمر

محاكاة الهجمات لتحديد نقاط الضعف قبل أن يفعل المهاجمون.

أتمتة مع خطوط أنابيب CI/CD باستخدام أدوات مثل OWASP ZAP أو مجموعة التجشؤ.
  • 4. التحدي العملي: محاكاة الاستغلال والدفاع

سيناريو

يتيح موقع التجارة الإلكترونية للمستخدمين البحث عن المنتجات باستخدام حقل إدخال. اختبار وتأمينه.

الخطوات

:

حقن حمولة حمولة للكشف عن قابلية حقن SQL:

    'أو' 1 '=' 1 ' -
إذا كان الموقع ضعيفًا ، فاستخدم أدوات آلية مثل SQLMAP لمحاكاة استخراج البيانات.
Robert'); DROP TABLE users; --  
  1. إصلاح دفاعي
  2. :

تنفيذ عبارات معدّة:

    $ stmt = $ pdo-> إعداد ("حدد * من المنتجات حيث name =: name") ؛ $ stmt-> execute (['name' => $ product_name]) ؛
التحقق من صحة الإدخال باستخدام نمط صارم:
Robert'); DROP TABLE users; --  
    استيراد إعادة pattern = r "^[A-ZA-Z0-9] $" إذا لم يكن إعادة red.match (نمط ، user_input): رفع القيمة ("إدخال غير صالح!")
  import re
  pattern = r"^[a-zA-Z0-9 ] $"
  if not re.match(pattern, user_input):
      raise ValueError("Invalid input!")

5.1. مآثر السحابة

يتم استهداف قواعد البيانات المستندة إلى مجموعة النظراء بشكل متزايد بسبب سوء التكوينات.

5.2. أدوات الضعف API

مع ظهور الخدمات المجهرية ، تعد واجهات برمجة التطبيقات المصممة بشكل سيء نقطة دخول للمهاجمين.

5.3. الهجمات التي تحركها AI

الأدوات الآلية للاستفادة من الذكاء الاصطناعي لصياغة حمولات الحقن المعقدة.

الأفكار النهائية


تبرز هذه الجلسة المتقدمة الطبيعة المتطورة لحقن SQL وأهمية الدفاع الاستباقي. من خلال فهم التقنيات المتطورة وتنفيذ تدابير أمنية قوية ، يمكنك تقليل مخاطر الاستغلال بشكل كبير. ~ Trixsec

بيان الافراج يتم استنساخ هذه المقالة على: https://dev.to/trixsec/how-to-t-t-to-defend-against-sql injection-atsacks-bart-6-dvanced-sql- الحقن--
أحدث البرنامج التعليمي أكثر>

تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.

Copyright© 2022 湘ICP备2022001581号-3