أحدث المواضيع Hogwa
 

أساسيات القرصنة على الويب wep applications الجزء السادس xss

+حجم الخط-

 




شرح XSS

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

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

حمولات XSS

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

  • المنبثقة (<script> alert (“Hello World”) </script>) - تنشئ نافذة منبثقة لرسالة Hello World على متصفح المستخدمين.
  • كتابة HTML (document.write) - تجاوز 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 التي تأخذ لقطات من كاميرا الويب أو حتى الحصول على منفذ وماسح ضوئي للشبكة أكثر قدرة.

تحدي XSS

يعرض الجهاز الظاهري المرفق بهذه المهمة XSS المستندة إلى DOM والمنعكسة والمخزنة. انشر الآلة واستغل كل نوع!

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

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

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


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


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

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

ما هو الضعيف؟

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

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

Objects

عنصر بارز في البرمجة الشيئية (OOP) ، تتكون الكائنات من شيئين:
- حالة
- سلوك

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

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

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


دي (التسلسل)

من الأفضل أن يتم التعلم من خلال القياس

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


واصلت

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

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


ماذا يعني هذا؟

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

يتم شرح العملية بشكل أفضل من خلال الرسوم البيانية:



كيف يمكننا الاستفادة من هذا؟

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





ملفات تعريف الارتباط 101


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


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

في تطبيق الويب ، سنستغل ، ستلاحظ أن ملفات تعريف الارتباط تخزن معلومات تسجيل الدخول مثل ما يلي! ييكيس!




في حين أن بيانات اعتماد النص العادي هي ثغرة أمنية في حد ذاتها ، فهي ليست عملية إلغاء تسلسل غير آمنة لأننا لم نرسل أي بيانات متسلسلة ليتم تنفيذها!

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


تحتوي بعض ملفات تعريف الارتباط على سمات إضافية ، فيما يلي قائمة صغيرة:

ينسبوصفمطلوب؟
اسم ملف تعريف الارتباطاسم ملف تعريف الارتباط المطلوب تعيينهنعم
قيمة ملفات تعريف الارتباطالقيمة ، يمكن أن يكون هذا أي نص عادي أو مشفر نعم
آمن فقطإذا تم تعيين ملف تعريف الارتباط هذا ، فسيتم تعيينه فقط عبر اتصالات HTTPSرقم
انقضاءعيّن طابعًا زمنيًا حيث ستتم إزالة ملف تعريف الارتباط من المتصفحرقم
طريقسيتم إرسال ملف تعريف الارتباط فقط إذا كان عنوان URL المحدد ضمن الطلبرقم


إنشاء ملفات تعريف الارتباط


يمكن تعيين ملفات تعريف الارتباط بلغات برمجة مواقع الويب المختلفة. على سبيل المثال ، Javascript أو PHP أو Python على سبيل المثال لا الحصر. تم تطوير تطبيق الويب التالي باستخدام Python's Flask ، لذلك من المناسب استخدامه كمثال.

خذ المقتطف أدناه:


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


إنها بهذه السهولة.

.:. 

الوصول إلى المثيل الخاص بك

في متصفح الجهاز الذي تتصل بشبكة VPN به ، انتقل إلى http: // MACHINE_IP.  سأشرح بالتفصيل خطوات Firefox - قد تضطر إلى البحث عن كيفية فحص ملفات تعريف الارتباط في المتصفح الذي تختاره. سيتم الترحيب بك بالصفحة الرئيسية:




لنقم بإنشاء حساب. لا حاجة لإدخال تفاصيل الحساب الخاصة بك ، يمكنك إدخال ما تريد.



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



انقر بزر الماوس الأيمن فوق الصفحة واضغط على "فحص العنصر". انتقل إلى علامة التبويب "التخزين".



فحص البيانات المشفرة
ستلاحظ هنا أن هناك ملفات تعريف ارتباط تم ترميزها بنص عادي وتشفير base64. سيتم العثور على العلم الأول في أحد ملفات تعريف الارتباط هذه.

تعديل قيم ملفات تعريف الارتباط
لاحظ هنا أن لديك ملف تعريف ارتباط باسم "userType". أنت حاليًا مستخدم ، كما تؤكده معلوماتك على صفحة "ملفي الشخصي".

يحدد هذا التطبيق ما يمكنك وما لا يمكنك رؤيته بواسطة نوع المستخدم الخاص بك. ماذا لو أردت أن تصبح مسؤولاً؟

انقر نقرًا مزدوجًا فوق عمود "القيمة" في "نوع المستخدم" لتعديل المحتويات. دعنا نغير نوع المستخدم الخاص بنا إلى "admin" وانتقل إلى http: // MACHINE_IP / admin  للرد على العلم الثاني.










  • فيس بوك
  • بنترست
  • تويتر
  • واتس اب
  • لينكد ان
  • بريد
author-img
amf

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

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