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

لقد قمنا أيضًا بتغطية الحلول لـ TryHackMe OWASP أعلى 10 – 2021 غرفة.

ملاحظات دراسة OSCP

الدورة العملية الكاملة لاختبار اختراق تطبيقات الويب

وفقًا لـ OWASP، فإن أهم 10 نقاط ضعف في تطبيقات الويب هي:

نقاط الضعف في الحقن

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

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

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

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

حقن أوامر نظام التشغيل

يحدث حقن الأوامر عندما يقوم كود من جانب الخادم (مثل PHP) في تطبيق ويب بإجراء مكالمة نظام على جهاز الاستضافة. إنها ثغرة أمنية على الويب تسمح للمهاجم بالاستفادة من استدعاء النظام الذي تم إجراؤه لتنفيذ أوامر نظام التشغيل على الخادم. في بعض الأحيان، لن ينتهي هذا دائمًا بشيء ضار، مثل whoami أو مجرد قراءة الملفات. هذا ليس سيئا للغاية. لكن الشيء المتعلق بحقن الأوامر هو أنه يفتح العديد من الخيارات للمهاجم. أسوأ شيء يمكن أن يفعلوه هو إنتاج غلاف عكسي ليصبح المستخدم الذي يعمل عليه خادم الويب. كل ما هو مطلوب هو nc -e /bin/bash البسيط وهم يمتلكون الخادم الخاص بك؛ بعض إصدارات netcat لا تدعم الخيار -e. يمكنك استخدام قائمة بهذه الأصداف العكسية كبديل.

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

إجابات المهمة 5

ما هو الملف النصي الغريب الموجود في الدليل الجذر لموقع الويب؟
drpepper.txt
كم عدد المستخدمين من غير الجذر/غير الخدمة/غير الخفي؟

0
ما هو المستخدم الذي يعمل عليه هذا التطبيق؟

شبكة الاتصالات العالمية البيانات
ما هو شل المستخدم الذي تم تعيينه عليه؟

/usr/sbin/nologin
ما هو إصدار أوبونتو الذي يعمل؟

18.04.4
اطبع MOTD. ما هو المشروب المفضل المعروض؟

دكتور بيبر

المصادقة المكسورة

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

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

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

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

إجابات المهمة 7

ما هو العلم الذي وجدته في حساب دارين؟
fe86079416a21a3c99937fea8874b667
حاول الآن أن تفعل نفس الخدعة لترى ما إذا كان بإمكانك تسجيل الدخول باسم آرثر.

لا حاجة للإجابة
ما هو العلم الذي وجدته في حساب آرثر؟

d9ac0f7db4fda460ac3edeb75d75e16e

التعرض للبيانات الحساسة

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

إجابات المهمة 11

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

ما اسم الدليل المذكور؟
/أصول
انتقل إلى الدليل الذي وجدته في السؤال الأول. ما هو الملف الذي يبرز أنه من المحتمل أن يحتوي على بيانات حساسة؟

webapp.db
استخدم المواد الداعمة للوصول إلى البيانات الحساسة. ما هي تجزئة كلمة المرور للمستخدم المسؤول؟

6eea9b7ef19179a06954edd0f6c05ceb
كسر التجزئة.
ما هي كلمة مرور النص العادي للمشرف؟

com.qwertyuiop
تسجيل الدخول كمسؤول. ما هو العلم؟

THM{Yzc2YjdkMjE5N2VjMzNhOTE3NjdiMjdl}

XML حقن الكيان الخارجي

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

هناك نوعان من هجمات XXE: داخل النطاق وخارج النطاق (OOB-XXE).
1) هجوم XXE داخل النطاق هو الهجوم الذي يمكن للمهاجم من خلاله تلقي استجابة فورية لحمولة XXE.

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

إجابات المهمة 13

النموذج الكامل لـ XML
لغة التوصيف الموسعة
هل من الضروري وجود XML prolog في مستندات XML؟

لا
هل يمكننا التحقق من صحة مستندات XML مقابل المخطط؟

نعم
كيف يمكننا تحديد إصدار XML وترميزه في مستند XML؟

برولوج XML

إجابات المهمة 14

كيف يمكنك تحديد عنصر جديد؟
!عنصر
كيف يمكنك تحديد عنصر ROOT؟

!نوع الوثيقة
كيف يمكنك تحديد ENTITY الجديد؟

!كيان

مثال للحمولات XXE

<!DOCTYPE replace [ ]>
 <userInfo>
  الصقر
  &اسم؛
 </userInfo>

<?xml version=”1.0″?>
<!DOCTYPE root [ ]>
&يقرأ؛

إجابات المهمة 16

حاول عرض اسمك باستخدام أي حمولة.
لا حاجة للإجابة
معرفة ما إذا كان يمكنك قراءة ملف /etc/passwd

لا حاجة للإجابة
ما هو اسم المستخدم في /etc/passwd

الصقر
أين يقع مفتاح SSH الخاص بـ falcon؟

/home/falcon/.ssh/id_rsa
ما هي أول 18 حرفًا للمفتاح الخاص لـ falcon

MIIEogIBAAKCAQEA7

ثغرة أمنية في التحكم في الوصول

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

يمكن أن يؤدي تمكن الزائر العادي من الوصول إلى الصفحات المحمية إلى ما يلي:
القدرة على عرض المعلومات الحساسة
الوصول إلى الوظائف غير المصرح بها
لدى OWASP قائمة ببعض سيناريوهات الهجوم التي توضح نقاط الضعف في التحكم في الوصول:

السيناريو #1: يستخدم التطبيق بيانات لم يتم التحقق منها في استدعاء SQL الذي يصل إلى معلومات الحساب:
pstmt.setString(1, request.getParameter("acct"));
ResultSet results = pstmt.executeQuery( );

يقوم المهاجم ببساطة بتعديل معلمة "acct" في المتصفح لإرسال أي رقم حساب يريده. إذا لم يتم التحقق بشكل صحيح، فيمكن للمهاجم الوصول إلى حساب أي مستخدم.
http://example.com/app/accountInfo?acct=notmyacct

السيناريو #2: يقوم المهاجم ببساطة بإجبار المتصفحات على استهداف عناوين URL. حقوق المسؤول مطلوبة للوصول إلى صفحة المسؤول.
http://example.com/app/getappInfo
http://example.com/app/admin_getappInfo

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

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

ثغرة IDOR

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

يمكن أن يؤدي تمكن الزائر العادي من الوصول إلى الصفحات المحمية إلى ما يلي:
القدرة على عرض المعلومات الحساسة
الوصول إلى الوظائف غير المصرح بها
لدى OWASP قائمة ببعض سيناريوهات الهجوم التي توضح نقاط الضعف في التحكم في الوصول:

السيناريو #1: يستخدم التطبيق بيانات لم يتم التحقق منها في استدعاء SQL الذي يصل إلى معلومات الحساب:
pstmt.setString(1, request.getParameter("acct"));
ResultSet results = pstmt.executeQuery( );

يقوم المهاجم ببساطة بتعديل معلمة "acct" في المتصفح لإرسال أي رقم حساب يريده. إذا لم يتم التحقق بشكل صحيح، فيمكن للمهاجم الوصول إلى حساب أي مستخدم.
http://example.com/app/accountInfo?acct=notmyacct

السيناريو #2: يقوم المهاجم ببساطة بإجبار المتصفحات على استهداف عناوين URL. حقوق المسؤول مطلوبة للوصول إلى صفحة المسؤول.
http://example.com/app/getappInfo
http://example.com/app/admin_getappInfo

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

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

انظر إلى ملاحظات المستخدمين الآخرين. ما هو العلم؟

علم {خمسةأربعةثلاثة}

التكوين الخاطئ للأمن

تختلف التكوينات الخاطئة للأمان عن الثغرات العشرة الأولى الأخرى، لأنها تحدث عندما يكون من الممكن تكوين الأمان بشكل صحيح ولكن لم يتم ذلك.

تتضمن التكوينات الأمنية الخاطئة ما يلي:

أذونات تم تكوينها بشكل سيئ على الخدمات السحابية، مثل مجموعات S3
تمكين الميزات غير الضرورية، مثل الخدمات أو الصفحات أو الحسابات أو الامتيازات
الحسابات الافتراضية بكلمات مرور لم تتغير
رسائل الخطأ المفصلة بشكل مفرط وتسمح للمهاجم بمعرفة المزيد عن النظام
عدم استخدام رؤوس أمان HTTP، أو الكشف عن الكثير من التفاصيل في الخادم: رأس HTTP
غالبًا ما تؤدي مشكلة عدم الحصانة هذه إلى المزيد من الثغرات الأمنية، مثل بيانات الاعتماد الافتراضية التي تتيح لك الوصول إلى البيانات الحساسة أو XXE أو إدخال الأوامر في صفحات الإدارة.

لمزيد من المعلومات، أوصي بإلقاء نظرة على أهم 10 مدخلات لـ OWASP فيما يتعلق بالتكوين الخاطئ للأمان

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

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

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

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

كيف سيطرت البرمجيات الخبيثة على الأنظمة؟ كلمات المرور الافتراضية. كان لدى البرنامج الضار قائمة تضم 63 زوجًا من اسم المستخدم وكلمة المرور، وحاول تسجيل الدخول إلى خدمات telnet المكشوفة.

كان هجوم DDoS ملحوظًا لأنه أدى إلى توقف العديد من مواقع الويب والخدمات الكبيرة عن العمل. انقطع اتصال Amazon وTwitter وNetflix وGitHub وXbox Live وPlayStation Network والعديد من الخدمات الأخرى لعدة ساعات في ثلاث موجات من هجمات DDoS على Dyn.

اخترق تطبيق الويب، واعثر على العلم!

ثهم{4b9513968fd564a87b28aa1f9d672e17}

شرح البرمجة عبر المواقع

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

يكون تطبيق الويب عرضة لـ XSS إذا كان يستخدم مدخلات مستخدم غير معقمة. XSS ممكن في Javascript، VBScript، Flash وCSS. هناك ثلاثة أنواع رئيسية من البرمجة النصية عبر المواقع:
XSS المخزن – أخطر أنواع XSS. هذا هو المكان الذي تنشأ فيه سلسلة ضارة من قاعدة بيانات موقع الويب. يحدث هذا غالبًا عندما يسمح موقع الويب بإدخال المستخدم غير المنقّح (إزالة "الأجزاء السيئة" من إدخال المستخدم) عند إدراجها في قاعدة البيانات.
XSS المنعكس – الحمولة الضارة هي جزء من طلب الضحايا إلى موقع الويب. يتضمن موقع الويب هذه الحمولة ردًا على المستخدم. لتلخيص ذلك، يحتاج المهاجم إلى خداع الضحية للنقر فوق عنوان URL لتنفيذ حمولته الضارة.
DOM-Based XSS – DOM يرمز إلى Document Object Model وهو واجهة برمجة لمستندات HTML وXML. إنه يمثل الصفحة حتى تتمكن البرامج من تغيير بنية المستند ونمطه ومحتواه. صفحة الويب هي مستند ويمكن عرض هذا المستند إما في نافذة المتصفح أو كمصدر HTML.
لمزيد من الشروحات والتمارين XSS، قم بزيارة غرفة XSS.

حمولات XSS
تذكر أن البرمجة النصية عبر المواقع هي ثغرة يمكن استغلالها لتنفيذ جافا سكريبت ضار على جهاز الضحية. تحقق من بعض أنواع الحمولات الشائعة المستخدمة:

النوافذ المنبثقة () – لإنشاء رسالة منبثقة لـ Hello World على متصفح المستخدمين.
كتابة HTML (document.write) - قم بتجاوز HTML الخاص بموقع الويب لإضافة HTML الخاص بك (بشكل أساسي تشويه الصفحة بأكملها).
XSS Keylogger (http://www.xss-payloads.com/payloads/scripts/simplekeylogger.js.html) - يمكنك تسجيل جميع ضغطات المفاتيح التي يقوم بها المستخدم، والتقاط كلمة المرور الخاصة به والمعلومات الحساسة الأخرى التي يكتبها في صفحة الويب.
فحص المنافذ (http://www.xss-payloads.com/payloads/scripts/portscanapi.js.html) - ماسح ضوئي صغير للمنافذ المحلية (تتم تغطية مزيد من المعلومات حول هذا الأمر في غرفة TryHackMe XSS).
XSS-Payloads.com (http://www.xss-payloads.com/) هو موقع ويب يحتوي على حمولات وأدوات ووثائق متعلقة بـ XSS والمزيد. يمكنك تنزيل حمولات XSS التي تلتقط لقطات من كاميرا الويب أو حتى الحصول على منفذ أكثر قدرة وماسح ضوئي للشبكة.

انتقل إلى http://MACHINE_IP/ في متصفحك وانقر على علامة التبويب "Reflected XSS" في شريط التنقل؛ قم بإنشاء حمولة XSS منعكسة تؤدي إلى ظهور نافذة منبثقة تقول "مرحبًا".

هناك المزيد مما تعتقده
في نفس الصفحة العاكسة، أنشئ حمولة XSS منعكسة ستؤدي إلى ظهور نافذة منبثقة بعنوان IP لجهازك.

عاكسXss4TheWin
انتقل الآن إلى http://MACHINE_IP/ في متصفحك وانقر على علامة التبويب "Stored XSS" في شريط التنقل؛ إنشاء حساب.

ثم قم بإضافة تعليق ومعرفة ما إذا كان بإمكانك إدراج بعض من HTML الخاص بك.

HTML_T4gs
في نفس الصفحة، قم بإنشاء مربع تنبيه منبثق يظهر على الصفحة مع ملفات تعريف الارتباط الخاصة بالمستند.

W3LL_D0N3_LVL2
قم بتغيير "XSS Playground" إلى "أنا متسلل" عن طريق إضافة تعليق واستخدام Javascript.

sites_can_be_easily_defaced_with_xss

ثغرة أمنية في إلغاء التسلسل

"إلغاء التسلسل غير الآمن هو ثغرة أمنية تحدث عند استخدام بيانات غير موثوقة لإساءة استخدام منطق التطبيق" (Acunetix.، 2017)

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

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

صنفت OWASP هذه الثغرة الأمنية على أنها 8 من أصل 10 للأسباب التالية:

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

ما هو الضعف؟

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

  • مواقع التجارة الإلكترونية
  • المنتديات
  • واجهات برمجة التطبيقات
  • أوقات تشغيل التطبيق (Tomcat، Jenkins، Jboss، إلخ)

إذا كان ملف تعريف الارتباط يحتوي على مسار webapp.com/login، فما هو عنوان URL الذي يجب على المستخدم زيارته؟
webapp.com/login
ما هو اختصار لتقنية الويب التي تعمل عليها ملفات تعريف الارتباط الآمنة؟

HTTPS

المهمة 25 أعلام

العلم الأول (قيمة ملف تعريف الارتباط)
ثم {good_old_base64_huh}
العلامة الثانية (لوحة تحكم المشرف)

THM{هنا_the_admin_flag}

المهمة 26 العلم

flag.txt
4a69a7ff9fd68

المكونات ذات نقاط الضعف المعروفة

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

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

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

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

إجابات المهمة 29

كم عدد الأحرف الموجودة في /etc/passwd (استخدم wc -c /etc/passwd للحصول على الإجابة)
1611

عدم كفاية التسجيل والرصد

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

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

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

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

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

ضع هذه المعرفة موضع التنفيذ من خلال تحليل نموذج ملف السجل هذا.

ما هو عنوان IP الذي يستخدمه المهاجم؟
49.99.13.16
ما نوع الهجوم الذي يتم تنفيذه؟

القوة الغاشمة

TryHackMe OWASP TOP 10 2021 | إجابات الغرفة

انظر إلى ملاحظات المستخدمين الآخرين. ما هو العلم؟

علم {خمسةأربعةثلاثة}

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

ما اسم الدليل المذكور؟

/أصول

انتقل إلى الدليل الذي وجدته في السؤال الأول. ما هو الملف الذي يبرز أنه من المحتمل أن يحتوي على بيانات حساسة؟

webapp.db

استخدم المواد الداعمة للوصول إلى البيانات الحساسة. ما هي تجزئة كلمة المرور للمستخدم المسؤول؟

6eea9b7ef19179a06954edd0f6c05ceb

كسر التجزئة.
ما هي كلمة مرور النص العادي للمشرف؟

 com.qwertyuiop

قم بتسجيل الدخول كمسؤول. ما هو العلم؟

THM{Yzc2YjdkMjE5N2VjMzNhOTE3NjdiMjdl}

ما هو الملف النصي الغريب الموجود في الدليل الجذر لموقع الويب؟

drpepper.txt

كم عدد المستخدمين من غير الجذر/غير الخدمة/غير الخفي؟

0

ما هو شل المستخدم الذي تم تعيينه عليه؟

أباتشي

ما هو شل المستخدم الذي تم تعيينه عليه؟

/sbin/nologin

ما هو إصدار Alpine Linux الذي يعمل عليه؟

3.16.0

ما هي قيمة العلم في حساب يوسف؟

THM{Not_3ven_c4tz_c0uld_sav3_U!}

ما هو اسم ملف قاعدة البيانات (الذي له ملحق .db) في الدليل الحالي؟

todo.db

قم بتعديل الكود لقراءة محتويات الملف app.py الملف الذي يحتوي على الكود المصدري للتطبيق. ما هي قيمة Secret_flag متغير في التعليمات البرمجية المصدر؟

THM{Just_a_tiny_misconfiguration}

ما هو محتوى الملف /opt/flag.txt؟

THM{But_1ts_n0t_myf4ult!}

ما هو العلم الذي وجدته في حساب دارين؟

fe86079416a21a3c99937fea8874b667

ما هو العلم الذي وجدته في حساب آرثر؟

d9ac0f7db4fda460ac3edeb75d75e16e

ما هو تجزئة SHA-256 https://code.jquery.com/jquery-1.12.4.min.js?

sha256-ZosEbRLbNQzLpnKIkEdrPv7lOy9C27hHQ+Xp8a4MxAQ=

حاول تسجيل الدخول إلى التطبيق كضيف. ما هي كلمة المرور لحساب الضيف؟

ضيف

ما اسم ملف تعريف الارتباط الخاص بموقع الويب الذي يحتوي على رمز JWT؟

جلسة jwt

ما هي العلامة المقدمة للمستخدم المسؤول؟

THM{لا_تأخذ_ملفات_الكوكيز_من_الغرباء}

ما هو عنوان IP الذي يستخدمه المهاجم؟

ما نوع الهجوم الذي يتم تنفيذه؟

القوة الغاشمة

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

مضيف محلي

حدد زر "تنزيل السيرة الذاتية". إلى أين تشير معلمة الخادم؟

Secure-file-storage.com

باستخدام SSRF، اجعل التطبيق يرسل الطلب إلى AttackBox الخاص بك بدلاً من تخزين الملفات الآمن. هل هناك أي مفاتيح API في الطلب الذي تم اعتراضه؟

THM{Hello_Im_just_an_API_key}

خطوات تشغيل قائمة تشغيل الفيديو

عن المؤلف

أقوم بإنشاء ملاحظات حول الأمن السيبراني وملاحظات التسويق الرقمي والدورات التدريبية عبر الإنترنت. أقدم أيضًا استشارات التسويق الرقمي بما في ذلك، على سبيل المثال لا الحصر، تحسين محركات البحث وإعلانات Google وMeta وإدارة CRM.

عرض المقالات