مضى على الشبكة و يوم من العطاء.

[ WalkTh ] تطبيق على Sensitive Data Exposure من روم OWASP Top 10

Ahmad105Ahmad105 is verified member.

./عضو نشيط
.:: كاتب تقني ::.
>:: v1p ::<

السمعة:

السلام عليكم ورحمة الله وبركاته

هناك شيء يُدعى "Sensitive Data Exposure"، وهي بالضبط، كما يشير اسمها، Vulnerability يقوم Developers
1707124134428.png
بإنشائها عندما يتعرض بعض المعلومات غير المرغوب فيها في صفحة الويب الآن، يمكن أن تكون "Sensitive Data Exposure" شيئًا تافهًا مثل عرض إصدار التطبيق، ولكن يمكن أن تكون أيضًا شيئًا كبيرًا مثل عرض قاعدة البيانات بأكملها في تطبيق الويب وسيكون أي شخص لديه قليلاً من المعرفة قادرًا على الوصول إليه إذا أراد لذلك يمكن أن تكون Vulnerability كبيرة الآن، لا يحدث هذا النوع من Data Exposure كثيرًا ومع ذلك، ستجدها من وقت لآخر.
عادةً ما يتم عرض البيانات في الشيفرة البرمجية نفسها من صفحة الويب، ربما عمل عدة مطورين على الموقع وتركوا تعليقاتٍ لبعضهم البعض في الشيفرة بخصوص بعض تفاصيل صفحة الويب.


لكن إذا واجهت شيئًا مثل هذا.
1707124453952.png

1707124834130.png


في هذه الحالة هناك احتمالان، إما أن المطور لم يلقِ نظرة واحدة على صفحة الويب قبل نشرها على الإنترنت أو أنه صممها عن عمدًا ( برطمنات العسل => honeypot) هو شيء يستخدم
لصيد hacker. وعلى أي حال، من المرجح جدًا أن يكون الشيء الذي نسي المطور إزالة command منcode كما نرى في هذا المثال، هناك تعليق يقول: "مرحبًا، وضعت ملف كلمات المرور في data/directory/"
الآن يمكن أن يتركه آخر مطور سيتولى المشروع وربما قبل أن ينشروا الموقع بأكمله، نسوا إزالته تمامًا.

الآن، خطة الهجوم بسيطة وتسير كما يلي:
نبحث في الشيفرة وفي صفحة الويب، إذا كان هناك Sensitive Data Exposure، قد نجد شيئًا مفيدًا، مثل Directory مخفي
أو صفحة admin أو ربما قاعدة بيانات.
ونستخدم تلك البيانات للوصول إلى أشياء يجب ألا تكون متاحه للوصول للعامه
لنرى مثالًا بسيطًا على ذلك مع Challenge منصة TryHackme، لذلك هنا لقد تنقلت إلى Challenge الخاص بي داخل منصتنا TryHackme
وتحت رقم task الثامنة، لدينا "Sensitive Data Exposure". ,لقد قمت بإعداد كل شيء بالفعل مسبقا
ورابط التحدي هنا https://tryhackme.com/room/owasptop10#
1707176497547.png
لقد بدأت آلتي واخذت عنوان الآي بي للجهاز، إذا كنت ترغب، قبل أن تبدأ في التحدي، لا تتردد في قراءة كل هذا وتأكد من أنك قد قرأت أيضًا أجزاء أخرى، لأن Sensitive Data Exposure له أربعة أجزاء.
لديها Task 10، Task 9، ، و Task 11. الآن، تحت Task 11 توجد تحدياتنا، التي سنقوم بها الآن.
لذلك، كما يقول، حان الوقت لتطبيق ما تعلمت ولا يوجد الكثير لفعله هنا، نريد فقط نسخ عنوان الآي بي ولصقه هنا.
1707177003070.png
وسيتم تحميل صفحة التحدي فيمكننا رؤية أن الصفحة بسيطة، لديها بعض النصوص هنا، صورة، زر تسجيل ,,,
الدخول وزر يقول "Sense and Sensitivity".
1707177056830.png
يمكننا النقر على جميع الأزرار إذا أردنا فقط لرؤية ما يحدث. إذا قمنا بالنقر على زر تسجيل الدخول، سيؤدي بنا إلى هذه الصفحة حيث يجب علينا تحديد اسم المستخدم وكلمة المرور.
1707177514823.png
وإذا قمنا بالنقر على هذا، إذا عدنا إلى الصفحة الرئيسية، دعونا نحاول العثور على Sensitive Data Exposure.
1707177630064.png

1707177762801.png

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

لنلقي نظرة على الشيفرة المصدرية نقوم بالنقر بزر الفأرة الأيمن ونختار "عرض مصدر الصفحة".
لنلقي نظرة على Source Code ، نجد إنه مجرد code بسيطة فعلا
لدينا بعض Directory هنا، ولا نحصل على أي تعليق على الإطلاق.
1707178210194.png
لا، نريد زيارة هذه Directory لنرى ما هي الملفات التي قد تكون هناك لكن قبل أن نفعل ذلك، دعونا نذهب أيضًا إلى صفحة تسجيل الدخول ونعرض مصدر الصفحة أيضًا.
1707178565254.png
وهنا لدينا تعليق واحد يقول: "يجب أن نتذكر أن نفعل شيئًا أفضل مع قاعدة البيانات، ثم تخزينها في assets/". هل هذا هو الDirectory الذي رأيناه في الشيفرة الأولى؟

1707178608638.png
ويبدو أنهم قد قاموا بتخزين قاعدة البيانات بأكملها في ذلك Directory لذا إذا كنا قادرين على الوصول إليها، فلدينا Sensitive Data Exposure. ولكن بالطبع، هذا هو الجزء المتطرف نادراً ما ترى شيئًا كهذا يحدث، على الرغم من أنه يحدث أحيانًا.
لنذهب إلى الملفات وها هو، لدينا جميع الملفات العادية، مثل ملفات JavaScript وملفات BHP وملفاتcss، ,ولدينا ايضا webapp.db
والتي تعني قاعدة البيانات
1707179013321.png
لننزل قاعدة البيانات على جهازنا ثم يمكننا الانتقال إلى قاعدة البيانات بأكملها لنعثر على بعض المعلومات، ربما حول المستخدمين، حول بياناتهم الخاصة وأمور أخرى أيضًا وسنقوم بذلك الآن لنفتح نافذة terminal.
نتنقل من خلال هذه قاعدة البيانات، يمكننا كتابة الأمر sqlite3 ومن ثم webapp.db ، والذي هو اسم قاعدة البيانات لدينا.
نضغط على Enter وسيفتح لنا مترجم sqliteحيث يمكننا كتابة رمز sqlcodeالخاص بنا.
لذلك أولاً، نريد أن نرى جميع الجداول التي تحتوي عليها، ويمكننا فعل ذلك
من خلال كتابة الأمر tables إذا ضغطنا على Enter، نحصل على الإخراج هنا الذي يقول إنها تحتوي على جداول sessions وusers.
1707179825572.png
نحن أكثر اهتمامًا بالجدول users لأنه ربما يحتوي على كلمات المرور إذاً ما يمكننا القيام به هو تشغيل أمر SELECT لتحديد كل شيء من هذا الجدول، والأمر
سيكون بهذا الشكل: * SELECT يعني ببساطة كل شيء ثم من الجدول users، دعونا لا ننسى فاصلة منقوطة في النهاية ونضغط Enter.
نحصل على هذا الإخراج هنا.
1707180096624.png
الآن، قبل أن نناقش هذا الإخراج،
1707180221039.png
دعونا نعود إلى مهمتنا ونرى ما يجب علينا تقديمه.
1707180304689.png
فأول شيء يطلب منا هو: ما هو اسم directoryالمذكور؟
هو /assets
1707180393919.png

ثاني شئ يقول: انتقل إلى الDirectory الذي وجدته في السؤال الأول، ما هو الملف البارز كمرجح أن يحتوي Sensitive Data
وفي حالتنا، هذا هو webapp.db
1707180579745.png


نستخدم المواد الداعمة للوصول إلى Sensitive Data لقد قمنا بذلك والسؤال هو، ما هو hash كلمة مرور مستخدم admin؟
هل يمكن أن يكون هؤلاء هم hash كلمات المرور؟
1707181294426.png
نحن في قاعدة البيانات وعادةً ما تخزن قواعد البيانات كلمات المرور بقيمة hash وليس على نص واضح لذا يمكننا نسخ hash وتحديدها لنرى ما إذا كانت هي الإجابة الصحيحة للمستخدم admin.
لنذهب إلى هنا ونلصق hash.
1707181384405.png
وهي الإجابة الصحيحة الآن مع المهام.
6eea9b7ef19179a06954edd0f6c05ceb
1707181547368.png

ما هي كلمة المرور العادية من هذه hash؟
لذا يجب أن نكسرها أولاً ويمكننا القيام بذلك بمساعدة موقع على الإنترنت.
يمكننا التنقل إلى موقع مثل crackstation.net
وهنا يمكننا كتابة hashالخاصة بنا،
1707182062070.png

والتي من المؤمل أن تتم كسرها بهذا الموقع

1707181792955.png
هنا، يقول: ان الرقم السري هو qwertyuiop ونوعه md5
1707181837927.png

السؤال الاخير سجل كadmin وما هو flag
لنعود إلى صفحتنا.ولنكتب admin ثم كلمة المرور التي كسر hash الخاص بها للتو.
1707183146214.png
وها هو، وجدنا flag لتحدينا الآن يمكننا تقديم كلمة المرور بنص واضح وflagهنا.
1707183178034.png


1707183268632.png

وكان هذا مثالًا على Sensitive Data Exposure، ولن نلقي نظرة على المزيد من الأمثلة لأن هذا هو تقريبًا ما سيكون عليه دائمًا تبحث عبر صفحة الويب ومن خلال الشيفرة. إذا وجدت شيئًا مفيدًا، استخدمه للوصول.
إذا كان ذلك، بالطبع، شيئًا كبيرًا مثل تعرض قاعدة البيانات أو تعرض كلمات المرور بعبارة أخرى، هذه ليست ثغرة تقنية، إنما تقتصر صراحة على الأخطاء التي يرتكبها المطورون.
المصادر هنا + OWASP Top 10
ويرجى مراجعة الموضوع @King.Of.Noobs
 

المرفقات

  • 1707181844749.png
    1707181844749.png
    7 KB · المشاهدات: 161
ماشاء الله تبارك الله، شرح جبار 🔥
استمر يا وحش + تم التقييم
 

آخر المشاركات

عودة
أعلى