الماسح الضوئي المتقدم لحقن SQL - IIS و DBO
الآليات المتقدمة لحقن SQL التي يمكن أن يستخدمها المستخدمون الخبيثون للحصول على معلومات مهمة والاستفادة منها لتحكم كامل في نظام الكمبيوتر.
ملاحظة توضيحية
لا تحاول هذه المقالة شرح تقنية جديدة لتسوية أنظمة الكمبيوتر ، فإن تقنية حقن SQL قديمة جدًا ومعروفة ولكن في نفس الوقت يمكن أن تكون قوية للغاية. لا تعكس المقالة أيضًا استغلال ثغرة أمنية غير معروفة ، وهذا معروف وقد تم الإبلاغ عنه بالفعل ، والذي إذا كان يمكن أن يعكس آليات متقدمة غير منشورة لحقن SQL والتي يمكن أن يستخدمها المستخدمون الخبيثون للحصول على معلومات مهمة والاستفادة منها لاكتساب التحكم الكامل في نظام الكمبيوتر.
الجمع بين هذه التقنية مع خادم الويب IIS مع أذونات المستخدم المرتفعة (DBO) في قاعدة بيانات Microsoft SQL Server يمكن أن تؤدي إلى فقدان التحكم في الخادم المصاب.
ستحاول هذه المقالة شرح المخاطر المحتملة الناجمة عن سوء التكوين لقاعدة بيانات SQL التي تتفاعل مع صفحة ويب خارجية من خلال خادم الويب IIS وتقديم تفاصيل عن كيفية الاستفادة من المستخدمين الخبيثين.
ملخص قصير (ويكيبيديا)
حقن SQL هو تقنية حقن التعليمات البرمجية ، وتستخدم لمهاجمة التطبيقات التي تعتمد على البيانات ، والتي يتم فيها إدراج عبارات SQL الشائنة في حقل إدخال للتنفيذ (على سبيل المثال لتفريغ محتويات قاعدة البيانات للمهاجم). يجب أن تستغل حقن SQL ثغرة أمنية في برنامج التطبيق ، على سبيل المثال ، عندما يتم تصفية إدخال المستخدم بشكل غير صحيح لأحرف الهروب الحرفي المدمجة في عبارات SQL أو لا يتم كتابة إدخال المستخدم بقوة وتنفيذها بشكل غير متوقع. يُعرف حقن SQL في الغالب باسم متجه الهجوم لمواقع الويب ولكن يمكن استخدامه لمهاجمة أي نوع من قاعدة بيانات SQL.
تسمح هجمات حقن SQL للمهاجمين بمحاكاة الهوية ، والعبث بالبيانات الحالية ، أو تسبب مشكلات التنصل مثل المعاملات الفراغية أو تغيير الأرصدة ، والسماح بالإفصاح الكامل لجميع البيانات على النظام ، أو تدمير البيانات أو جعلها غير متوفرة ، وتصبح مسؤولين لخادم قاعدة البيانات.
وهن
على افتراض أنه في صفحة الويب ، توجد مشاكل أمان في إقرار المعلمات للسماح بحقن SQL ، فإن المشكلة الرئيسية هي أن خادم الويب IIS قادر على عرض المعلومات الهامة للمستخدم باستخدام وظيفة تحويل المعاملات غير صالحة. تخيل عنوان URL التالي حيث تسمح المعلمة المعرف بالحقن.
https://www.victim.com/index.aspx؟id=1
يمكن للمستخدم الضار تجاوز قيمة معلمة المعرف بواسطة وظيفة تحويل المعاملات SQL
تحويل (int ، (select+user)) ؛-
سيكون عنوان URL النهائي من هذا النمط:
https://www.victim.com/index.aspx؟id=Convert(int ، (SELECT+USER)) ؛-
تحاول وظيفة التحويل تحويل سلسلة إلى عدد صحيح ، مما يسبب استثناءًا من حيث يخطئ خادم الويب IIS خطأً جادًا يوضح قيمة الاستعلام الذي تم تنفيذه.
سيكون الناتج النموذجي شيء من هذا القبيل:
فشل التحويل عند تحويل قيمة nVarChar '{User}' إلى نوع البيانات int.
كما يمكننا أن نرى القيمة {user} تتوافق مع القيمة الحالية لمستخدم قاعدة البيانات ، بالإضافة إلى كل هذا إذا كانت القيمة التي تم إرجاعها هي أن DBO ستخبرنا أن مستخدم قاعدة البيانات لديه أقصى امتيازات للتنفيذ ، بحيث يكون قادرًا على تنفيذ أوامر shell باستخدام وظيفة المعاملات xp_cmdshell.
يعد استخدام صفحة ويب مع مستخدم قاعدة بيانات مع أقصى امتيازات خطأ أمان خطير حيث يجب ألا يسقط مسؤولو النظام.
باختصار ، يمكن أن نقول أن الضعف يتكون من ثلاثة عوامل:
- خطأ في التعامل مع المعلمات GET/POST التي تسمح بحقن SQL. (مطور البرمجيات)
- خادم الويب IIS الذي يعرض معلومات وظيفة التحويل. (Microsoft)
- استخدم مستخدم قاعدة البيانات في صفحة الويب مع أقصى امتيازات. (مسؤول النظام/مطور البرامج)
الإصدار 4.0 (خاص)
الإصدار 4.0 الموسع من الماسح الضوئي هو في مستودع خاص (مرئي من قبل الرعاة) مع جميع وظائفه.
- https://github.com/iricartb/advanced-sql injection-scanner-release
مزيد من المعلومات
https://advanced-sql injection.blogspot.com/2017/06/ivan-ricart-borges-advanced-sql.html