Web14: مشكلات أمنية في بروتوكول HTTP

تعرض هذه المقالة بعض مشكلات الأمان في بروتوكول HTTP ، والتي تم طرحها في وثيقتين RFC 7230 وRFC 7231. تمت الإشارة إلى الأمثلة الموجودة في المقالة حول أخطاء محددة من OWASP.

1. المخاطر من العوامل الوسيطة

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

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

يجب على مطوري ومطوري النظام مراعاة عوامل الخصوصية والأمان أثناء عملية تصميم النظام وترميزه ونشره.

يجب أن يكون المستخدمون على دراية بمخاطر استخدام وكلاء أو بوابات غير موثوقة.

2. تقسيم الاستجابة

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

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

3. طلب ​​التهريب

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

لنتأمل المثال التالي:

لنفترض أن طلب POST يحتوي على حقلين "لطول المحتوى" في الرأس بقيمتين مختلفتين. سترفض بعض الخوادم هذا الطلب (IIS وApache)، لكن لن تفعل ذلك خوادم أخرى. على سبيل المثال، يستخدم SunONE W/S 6.1 حقل طول المحتوى أولاً، بينما يستخدم sunONE Proxy 3.6 حقل طول المحتوى ثانيًا.

بافتراض أن SITE هو DNS الخاص بـ SunONE W/S، الموجود خلف وكيل SunONE، يوجد ملف pom.html موجود على SunONE W/S. فيما يلي كيفية استغلال اقتراح طلب HTTP استنادًا إلى حالات عدم الاتساق في المعالجة بين خادمين:

Web14: مشكلات أمنية في بروتوكول HTTP

[لاحظ أن كل سطر ينتهي بـ CRLF ("")، باستثناء السطر 10]

دعونا نفكر فيما يحدث عند إرسال طلب إلى W/S عبر الخادم الوكيل. أولاً، سيقوم الوكيل بتحليل الطلب من الأسطر 1 إلى 7 (الأزرق) ويواجه حقلين لطول المحتوى. كما ذكر أعلاه، فإنه سيتجاهل الحقل الأول ويفهم أن نص الطلب يبلغ طوله 44 بايت. ولذلك، فإنه يعامل البيانات من الأسطر 8 إلى 10 كنص الطلب الأول (من الأسطر 8 إلى 10، يبلغ طول البيانات 44 بايت بالضبط). سيقوم الوكيل بعد ذلك بتحليل الأسطر من 11 إلى 14 (باللون الأحمر) كالطلب الثاني للعميل.

الآن دعونا نرى كيف يفسر W/S البيانات أعلاه، حيث يتم إعادة توجيهها من الوكيل. على عكس الوكلاء، سيستخدم W/S حقل طول المحتوى الأول ويفسره على النحو التالي: الطلب الأول لا يحتوي على نص، ويبدأ الطلب الثاني من السطر 8 (لاحظ أن W/S سيتم تحليله من السطر 11 فصاعدًا كقيمة من حقل بلا).

بعد ذلك، دعونا نرى كيف يتم إرجاع الاستجابة إلى العميل. الطلب الذي تفهمه W/S هو "POST /foobar.html" (من السطر 1) و"GET /poison.html" (من السطر 8)، لذلك سيرسل للعميل استجابتين مع محتوى صفحة foobar. أتش تي أم أل و السم.أتش تي أم أل. يدرك الوكيل أن هاتين الاستجابتين تتوافقان مع طلبين: "POST /foobar.html" (من السطر 1) و"GET /page_to_poison.html" (السطر 11). سيقوم الوكيل بتخزين محتوى صفحة Poison.html المقابلة لعنوان URL "page_to_poison.html" (إفساد ذاكرة التخزين المؤقت). ومن هناك، عندما يطلب العميل "page_to_poison.html"، فإنه سيتلقى محتوى صفحة Poison.html.

4. الهجوم على أساس مسار الملف

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

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

5. أنواع الهجمات: حقن الأوامر، حقن التعليمات البرمجية، حقن الاستعلام

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

على سبيل المثال، يعد SQL حقن هجومًا شائعًا يتلقى فيه خادم الويب معلمات في معرف URI والتي تعد جزءًا من استعلام SQL. لذلك، يمكن للمهاجم خداع خادم الويب لتنفيذ استعلامات SQL غير قانونية، وذلك لسرقة قاعدة البيانات أو تخريبها.
بشكل عام، لا ينبغي استخدام البيانات المقدمة من قبل المستخدمين مباشرة لتنفيذ العمليات على الخادم. يجب أن تمر هذه البيانات عبر المرشحات، التي تحدد ما هو صالح وما هو غير صالح، وبالتالي التخلص من البيانات غير المرغوب فيها.

6. الكشف عن المعلومات الشخصية

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

7. الكشف عن المعلومات الحساسة في URI

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

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

8. الكشف عن المعلومات البرمجية المستخدمة

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

اترك تعليقاً

كيفية إزالة إشعار طلب حقوق الطبع والنشر في الزاوية اليمنى من الشاشة على نظام التشغيل Windows 10

كيفية إزالة إشعار طلب حقوق الطبع والنشر في الزاوية اليمنى من الشاشة على نظام التشغيل Windows 10

هل ترى إشعار تفعيل Windows 10 في الزاوية اليمنى من الشاشة؟ سترشدك هذه المقالة إلى كيفية حذف إشعار طلب حقوق الطبع والنشر على نظام التشغيل Windows 10.

تعليمات من AZ حول كيفية تثبيت Windows 10 الإصدار 14393.222

تعليمات من AZ حول كيفية تثبيت Windows 10 الإصدار 14393.222

أصدرت Microsoft مؤخرًا آخر تحديث تراكمي لمستخدمي أجهزة الكمبيوتر التي تعمل بنظام Windows 10 والذي يسمى Build 14393.222. يعمل هذا التحديث الذي تم إصداره لنظام التشغيل Windows 10 بشكل أساسي على إصلاح الأخطاء بناءً على تعليقات المستخدمين وتحسين تجربة أداء نظام التشغيل.

قم بحماية شبكة الكمبيوتر الخاص بك مع Bastion host في 3 خطوات فقط

قم بحماية شبكة الكمبيوتر الخاص بك مع Bastion host في 3 خطوات فقط

هل لديك أجهزة كمبيوتر على شبكتك المحلية تحتاج إلى وصول خارجي؟ يمكن أن يكون استخدام مضيف أساسي كحارس بوابة لشبكتك حلاً جيدًا.

3 طرق لمسح كافة سجلات الأحداث بسرعة في نظام التشغيل Windows 10

3 طرق لمسح كافة سجلات الأحداث بسرعة في نظام التشغيل Windows 10

في بعض الأحيان قد تحتاج إلى حذف سجلات الأحداث القديمة مرة واحدة. في هذا الدليل، سيعرض لك موقع Quantrimang.com 3 طرق لحذف كافة سجلات الأحداث بسرعة في Windows 10 Event Viewer.

كيفية إنشاء مفتاح Windows إذا كانت لوحة المفاتيح غير متوفرة

كيفية إنشاء مفتاح Windows إذا كانت لوحة المفاتيح غير متوفرة

إذا كنت تفضل استخدام لوحة مفاتيح كلاسيكية قديمة، مثل IBM Model M، والتي لا تتضمن مفتاح Windows فعليًا، فهناك طريقة سهلة لإضافة المزيد، عن طريق استعارة مفتاح لا تستخدمه كثيرًا.

كيفية إنشاء وضع خلفية شفافة على نظام التشغيل Windows 10

كيفية إنشاء وضع خلفية شفافة على نظام التشغيل Windows 10

WindowTop هي أداة لديها القدرة على تعتيم جميع نوافذ التطبيقات والبرامج التي تعمل على أجهزة الكمبيوتر التي تعمل بنظام Windows 10. أو يمكنك استخدام واجهة ذات خلفية داكنة على النوافذ.

تساعدك أساليب IP المزيفة على الوصول بشكل مجهول

تساعدك أساليب IP المزيفة على الوصول بشكل مجهول

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

كيفية إيقاف تشغيل شريط اللغة على شريط مهام Windows 8

كيفية إيقاف تشغيل شريط اللغة على شريط مهام Windows 8

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

نصائح لتحسين سرعة الاتصال بالإنترنت من Linksys

نصائح لتحسين سرعة الاتصال بالإنترنت من Linksys

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

كيفية إعداد WEP، WPA، WPA2 لجهاز التوجيه Linksys

كيفية إعداد WEP، WPA، WPA2 لجهاز التوجيه Linksys

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