





السمعة:
- إنضم15 سبتمبر 2023
- المشاركات 293
- الحلول 5
- مستوى التفاعل 337
- النقاط 63
السلام عليكم ورحمة الله وبركاته
هناك شيء يُدعى "Sensitive Data Exposure"، وهي بالضبط، كما يشير اسمها، Vulnerability يقوم Developers
عادةً ما يتم عرض البيانات في الشيفرة البرمجية نفسها من صفحة الويب، ربما عمل عدة مطورين على الموقع وتركوا تعليقاتٍ لبعضهم البعض في الشيفرة بخصوص بعض تفاصيل صفحة الويب.
لكن إذا واجهت شيئًا مثل هذا.
في هذه الحالة هناك احتمالان، إما أن المطور لم يلقِ نظرة واحدة على صفحة الويب قبل نشرها على الإنترنت أو أنه صممها عن عمدًا ( برطمنات العسل => honeypot) هو شيء يستخدم
لصيد hacker. وعلى أي حال، من المرجح جدًا أن يكون الشيء الذي نسي المطور إزالة command منcode كما نرى في هذا المثال، هناك تعليق يقول: "مرحبًا، وضعت ملف كلمات المرور في data/directory/"
الآن يمكن أن يتركه آخر مطور سيتولى المشروع وربما قبل أن ينشروا الموقع بأكمله، نسوا إزالته تمامًا.
الآن، خطة الهجوم بسيطة وتسير كما يلي:
نبحث في الشيفرة وفي صفحة الويب، إذا كان هناك Sensitive Data Exposure، قد نجد شيئًا مفيدًا، مثل Directory مخفي
أو صفحة admin أو ربما قاعدة بيانات.
ونستخدم تلك البيانات للوصول إلى أشياء يجب ألا تكون متاحه للوصول للعامه
لنرى مثالًا بسيطًا على ذلك مع Challenge منصة TryHackme، لذلك هنا لقد تنقلت إلى Challenge الخاص بي داخل منصتنا TryHackme
وتحت رقم task الثامنة، لدينا "Sensitive Data Exposure". ,لقد قمت بإعداد كل شيء بالفعل مسبقا
ورابط التحدي هنا https://tryhackme.com/room/owasptop10#
لديها Task 10، Task 9، ، و Task 11. الآن، تحت Task 11 توجد تحدياتنا، التي سنقوم بها الآن.
لذلك، كما يقول، حان الوقت لتطبيق ما تعلمت ولا يوجد الكثير لفعله هنا، نريد فقط نسخ عنوان الآي بي ولصقه هنا.
الدخول وزر يقول "Sense and Sensitivity".
إذا قرأنا هذا النص هنا، لن نرى شيئًا مفيدًا بالنسبة لنا كذلك على الصفحة نفسها، لن نرى شيئًا حقيقيًا يمكن أن يعطينا بعض التفاصيل الإضافية لدينا.
لنلقي نظرة على الشيفرة المصدرية نقوم بالنقر بزر الفأرة الأيمن ونختار "عرض مصدر الصفحة".
لنلقي نظرة على Source Code ، نجد إنه مجرد code بسيطة فعلا
لدينا بعض Directory هنا، ولا نحصل على أي تعليق على الإطلاق.
لنذهب إلى الملفات وها هو، لدينا جميع الملفات العادية، مثل ملفات JavaScript وملفات BHP وملفاتcss، ,ولدينا ايضا webapp.db
والتي تعني قاعدة البيانات
نتنقل من خلال هذه قاعدة البيانات، يمكننا كتابة الأمر sqlite3 ومن ثم webapp.db ، والذي هو اسم قاعدة البيانات لدينا.
نضغط على Enter وسيفتح لنا مترجم sqliteحيث يمكننا كتابة رمز sqlcodeالخاص بنا.
لذلك أولاً، نريد أن نرى جميع الجداول التي تحتوي عليها، ويمكننا فعل ذلك
من خلال كتابة الأمر tables إذا ضغطنا على Enter، نحصل على الإخراج هنا الذي يقول إنها تحتوي على جداول sessions وusers.
سيكون بهذا الشكل: * SELECT يعني ببساطة كل شيء ثم من الجدول users، دعونا لا ننسى فاصلة منقوطة في النهاية ونضغط Enter.
نحصل على هذا الإخراج هنا.
هو /assets
ثاني شئ يقول: انتقل إلى الDirectory الذي وجدته في السؤال الأول، ما هو الملف البارز كمرجح أن يحتوي Sensitive Data
وفي حالتنا، هذا هو webapp.db
نستخدم المواد الداعمة للوصول إلى Sensitive Data لقد قمنا بذلك والسؤال هو، ما هو hash كلمة مرور مستخدم admin؟
هل يمكن أن يكون هؤلاء هم hash كلمات المرور؟
لنذهب إلى هنا ونلصق hash.
6eea9b7ef19179a06954edd0f6c05ceb
ما هي كلمة المرور العادية من هذه hash؟
لذا يجب أن نكسرها أولاً ويمكننا القيام بذلك بمساعدة موقع على الإنترنت.
يمكننا التنقل إلى موقع مثل crackstation.net
وهنا يمكننا كتابة hashالخاصة بنا،
والتي من المؤمل أن تتم كسرها بهذا الموقع
السؤال الاخير سجل كadmin وما هو flag
لنعود إلى صفحتنا.ولنكتب admin ثم كلمة المرور التي كسر hash الخاص بها للتو.
وكان هذا مثالًا على Sensitive Data Exposure، ولن نلقي نظرة على المزيد من الأمثلة لأن هذا هو تقريبًا ما سيكون عليه دائمًا تبحث عبر صفحة الويب ومن خلال الشيفرة. إذا وجدت شيئًا مفيدًا، استخدمه للوصول.
إذا كان ذلك، بالطبع، شيئًا كبيرًا مثل تعرض قاعدة البيانات أو تعرض كلمات المرور بعبارة أخرى، هذه ليست ثغرة تقنية، إنما تقتصر صراحة على الأخطاء التي يرتكبها المطورون.
المصادر هنا + OWASP Top 10
ويرجى مراجعة الموضوع @King.Of.Noobs