26Aug

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

click fraud protection

حتى لو كنت قد اتبعت فقط فضفاضة أحداث مجموعات القراصنة مجهول و لولزسيك، وربما كنت قد سمعت عن مواقع الويب والخدمات التي تم الاستيلاء عليها، مثل الخارقة سوني سيئة السمعة.هل تساءلت يوما كيف يفعلون ذلك؟

هناك عدد من الأدوات والتقنيات التي تستخدمها هذه المجموعات، وبينما لا نحاول أن نعطيك دليلا للقيام بذلك بنفسك، من المفيد أن نفهم ما يجري.اثنين من الهجمات التي تسمع باستمرار عنهم باستخدام "(الموزعة) الحرمان من الخدمة"( دوس) و "حقن سكل"( سكلي).وإليك كيفية عملها.

صورة بواسطة زكد

رفض الخدمة هجوم

ما هو؟

يحدث "رفض الخدمة"( الذي يطلق عليه أحيانا "رفض الخدمة الموزع" أو دوس) عندما يتلقى نظام، في هذه الحالة ملقم ويب، عددا كبيرا من الطلبات في وقت واحد، يتم فيه تحميل موارد الخادم بشكل مفرط،ويغلق.الهدف والنتيجة من هجوم دوس ناجح هو المواقع على الملقم الهدف غير متوفرة لطلبات المرور المشروعة.

كيف يعمل؟

يمكن تفسير الخدمات اللوجستية لهجوم دوس على أفضل سبيل المثال.

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

instagram viewer

هجوم دوس على ملقم ويب يعمل بالضبط بنفس الطريقة.لأنه لا يوجد تقريبا أي وسيلة لمعرفة ما هي مصادر حركة المرور من طلبات المشروعة مقابل المهاجمين حتى خادم الويب معالجة الطلب، وهذا النوع من الهجوم هو عادة فعالة جدا.

تنفيذ الهجوم

نظرا لطبيعة "القوة الغاشمة" لهجوم دوس، تحتاج إلى أن يكون الكثير من أجهزة الكمبيوتر كل تنسيق للهجوم في نفس الوقت.من خلال إعادة النظر في مثال مركز الاتصال، فإن هذا يتطلب من جميع المهاجمين أن يعرفوا الاتصال في الساعة 9 صباحا وأن يتصلوا بالفعل في ذلك الوقت.في حين أن هذا المبدأ بالتأكيد سوف تعمل عندما يتعلق الأمر بمهاجمة خادم الويب، يصبح من الأسهل بكثير عندما يتم استخدام أجهزة الكمبيوتر غيبوبة، بدلا من أجهزة الكمبيوتر المأهولة الفعلية.

كما تعلمون، هناك الكثير من المتغيرات من البرمجيات الخبيثة وأحصنة طروادة التي، مرة واحدة على النظام الخاص بك، وكذب نائمة وأحيانا "هاتف المنزل" للحصول على تعليمات.ومن بين هذه التعليمات، على سبيل المثال، إرسال طلبات متكررة إلى خادم الويب الخاص بالشركة X في الساعة 9 صباحا.لذلك مع تحديث واحد لموقع المنزل من البرامج الضارة منها، يمكن للمهاجم واحد يمكن أن تنسق على الفور مئات الآلاف من أجهزة الكمبيوتر للخطر لأداء هجوم دوس ضخمة.

جمال استخدام أجهزة الكمبيوتر غيبوبة ليس فقط في فعاليته، ولكن أيضا في عدم الكشف عن هويته كما المهاجم لا تملك في الواقع لاستخدام جهاز الكمبيوتر الخاص بهم على الإطلاق لتنفيذ الهجوم.

هجوم حقن سكل

ما هو؟

هجوم "سكل إنجكتيون"( سكل) هو استغلال يستفيد من تقنيات تطوير الويب السيئة، وعادة ما يقترن مع أمان قاعدة البيانات الخاطئ.نتيجة الهجوم الناجح يمكن أن تتراوح من انتحال حساب مستخدم إلى تسوية كاملة من قاعدة البيانات أو الخادم.على عكس هجوم دوس، هجوم سكلي يمكن منعها بسهولة وسهولة إذا تم برمجة تطبيق ويب بشكل مناسب.

تنفيذ الهجوم

عندما تقوم بتسجيل الدخول إلى موقع ويب وإدخال اسم المستخدم وكلمة المرور الخاص بك، لاختبار بيانات الاعتماد الخاصة بك تطبيق ويب قد تشغيل استعلام مثل ما يلي:

سيليكت أوسيريد من المستخدمين وير أوزرنام = 'ميوسر' وكلمة المرور= 'mypass'؛

ملاحظة: يجب تضمين قيم سلسلة في استعلام سكل في علامات اقتباس مفردة وهذا هو السبب في أنها تظهر حول القيم المدخلة من قبل المستخدم.

لذلك يجب أن تتطابق تركيبة اسم المستخدم الذي تم إدخاله( ميوسر) وكلمة المرور( ميباس) مع إدخال في جدول المستخدمين لكي يتم إرجاع أوسيريد.إذا لم يكن هناك تطابق، يتم إرجاع أوسريد لذلك بيانات اعتماد تسجيل الدخول غير صالحة.في حين أن تنفيذ معين قد تختلف، والميكانيكا هي معايير جميلة.

الآن دعونا ننظر في استعلام مصادقة قالب يمكننا استبدال القيم التي يدخلها المستخدم على نموذج الويب:

سيليكت أوسيريد من المستخدمين وير أوزرنام = '[وسر]' أند باسورد = '[باس]'

للوهلة الأولى هذاقد يبدو وكأنه خطوة مباشرة ومنطقية للتحقق من صحة المستخدمين بسهولة، ولكن إذا تم إجراء استبدال بسيط من القيم المدخلة المستخدم على هذا القالب، فإنه عرضة للهجوم سكلي.

على سبيل المثال، لنفترض أن "myuser'-" يتم إدخالها في حقل اسم المستخدم و "ورونغباس" يتم إدخالها في كلمة المرور.وباستخدام الاستبدال البسيط في استعلام النموذج الخاص بنا، سوف نحصل على هذا:

سيليكت أوسيريد من المستخدمين وير أوزرنام = 'ميوسر' - 'أند باسورد =' ورمينباس '

مفتاح هذا البيان هو إدراج الشرطين( -).هذا هو الرمز المميز للبدء في عبارات سكل، لذلك سيتم تجاهل أي شيء يظهر بعد الشرطتين( شامل).أساسا، يتم تنفيذ الاستعلام أعلاه من قبل قاعدة البيانات على النحو التالي:

سيليكت أوسيريد من المستخدمين وير أوزرنام = 'ميوسر'

الإغفال الصارخ هنا هو عدم وجود الاختيار كلمة المرور.من خلال تضمين الشرطتين كجزء من حقل المستخدم، تجاوزنا تماما شرط التحقق من كلمة المرور وتمكنوا من تسجيل الدخول باسم "ميوسر" دون معرفة كلمة المرور المعنية.هذا التصرف من الاستعلام لإنتاج نتائج غير مقصودة هو هجوم حقن سكل.

ما الضرر الذي يمكن القيام به؟

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

استنادا إلى المثال أعلاه، يمكنك أن ترى أنه عن طريق إدخال، على سبيل المثال، "يوروسر" - "،" المشرف "-" أو أي اسم مستخدم آخر، يمكننا تسجيل الدخول على الفور إلى الموقع مثل هذا المستخدم دون معرفة كلمة المرور.مرة واحدة ونحن في النظام لا يعرفون أننا لسنا في الواقع أن المستخدم لذلك لدينا حق الوصول الكامل إلى الحساب المعني.لن توفر أذونات قاعدة البيانات شبكة أمان لهذا السبب، لأن موقع الويب عادة يجب أن يكون لديه على الأقل إمكانية القراءة / الكتابة للوصول إلى قاعدة البيانات الخاصة به.

الآن لنفترض أن موقع الويب لديه سيطرة كاملة على قاعدة البيانات الخاصة به والتي تعطي القدرة على حذف السجلات، إضافة / إزالة الجداول، إضافة حسابات أمنية جديدة، وما إلى ذلك من المهم أن نلاحظ أن بعض تطبيقات الويب قد تحتاج إلى هذا النوع من إذن لذلكفإنه ليس تلقائيا شيئا سيئا أن يتم منح السيطرة الكاملة.

لتوضيح الضرر الذي يمكن القيام به في هذه الحالة، سنستخدم المثال الوارد في الكوميديا ​​أعلاه بإدخال ما يلي في حقل اسم المستخدم: "روبرت"؛ دروب تابل وسرس؛ - ".بعد الاستبدال البسيط يصبح استعلام المصادقة:

سيليكت أوسيريد من المستخدمين وير أوزرنام = 'روبرت'؛دروب تابل وسرس؛ - 'أند باسورد =' ورونتباس '

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

الذي يتم تنفيذه بواسطة قاعدة البيانات ك:

سيليكت معرف المستخدم من المستخدمين وير أوزرنام = 'روبرت'

دروب تابل وسرس

لذلك تماما مثل ذلك، استخدمنا هجوم سكلي لحذف جدول المستخدمين بأكمله.

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

منع هجوم حقن سكل

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

يتم إحباط هجوم سكلي بسهولة بما يسمى التعقيم( أو الهروب) المدخلات الخاصة بك.عملية التعقيم هو في الواقع تافهة تماما كما كل ما يفعل أساسا هو التعامل مع أي حرف واحد اقتباس مضمنة( ') بشكل مناسب بحيث لا يمكن استخدامها لإنهاء قبل الأوان سلسلة داخل عبارة سكل.

على سبيل المثال، إذا أردت البحث عن "أونيل" في قاعدة بيانات، فلن تتمكن من استخدام تبديل بسيط لأن الاقتباس المفرد بعد O سيؤدي إلى انتهاء السلسلة قبل الأوان.بدلا من ذلك تعقيم ذلك باستخدام حرف هروب قاعدة البيانات الخاصة به.دعونا نفترض أن حرف الهروب لاقتباس واحد مضمنة هو بريفاسينغ كل اقتباس مع رمز \.لذلك "أونيل" سيتم تطهير باسم "O \ 'نيل".

هذا العمل بسيط من الصرف الصحي يمنع كثيرا هجوم سكللي.لتوضيح ذلك، لنعيد النظر في الأمثلة السابقة ونرى الاستعلامات الناتجة عند إدخال إدخال المستخدم.

ميوسر '- / ورونغباس :

سيليكت أوسيريد من المستخدمين وير أوزرنام =' ميوسر \ '-' أند باسورد = 'ورونتباس'

لأن الاقتباس المفرد بعد ميوسر هرب( بمعنى أنه يعتبر جزءا من الهدفقيمة)، قاعدة البيانات سوف تبحث حرفيا عن اسم المستخدم من "ميوسر" - ".بالإضافة إلى ذلك، نظرا لأن الشرطات يتم تضمينها ضمن قيمة السلسلة وليس عبارة سكل نفسها، سيتم اعتبارها جزءا من القيمة المستهدفة بدلا من أن يتم تفسيرها كتعليق سكل.

روبرت؛دروب تابل وسرس؛ - / ورونغباس :

سيليكت أوسيريد من المستخدمين وير أوزرنام = 'روبرت \'؛دروب تابل وسرس؛ - 'أند باسورد =' ورمنباس '

ببساطة من خلال الهروب من الاقتباس واحد بعد روبرت، يتم تضمين كل من الفاصلة المنقوطة والشرطات ضمن سلسلة البحث اسم المستخدم حتى قاعدة البيانات سوف حرفيا البحث عن "روبرت"؛ دروب تابل وسرس؛- "بدلا من تنفيذ الجدول حذف.

في الملخص

في حين تتطور هجمات الويب وتصبح أكثر تعقيدا أو تركز على نقطة دخول مختلفة، من المهم أن نتذكر الحماية ضد الهجمات المجربة والحقيقية التي كانت مصدر إلهام للعديد من "أدوات القراصنة" المتاحة بحرية المصممة لاستغلالها.

أنواع معينة من الهجمات، مثل دوس، لا يمكن تجنبها بسهولة بينما البعض الآخر، مثل سكلي، يمكن.ومع ذلك، فإن الضرر الذي يمكن القيام به من قبل هذه الأنواع من الهجمات يمكن أن تتراوح في أي مكان من إزعاج للكارثية اعتمادا على الاحتياطات المتخذة.