
في هذه المقالة ، سنتعامل مع تشغيل بعض هويات WEB باستخدام المناورات
Natas كمثال. كل مستوى لديه حق الوصول إلى كلمة مرور المستوى التالي. يتم تخزين جميع كلمات المرور أيضًا في / etc / natas_webpass / files. على سبيل المثال ، يتم تخزين كلمة المرور الخاصة بـ natas5 في الملف / etc / natas_webpass / natas5 وهي للقراءة فقط للمستخدمين natas4 و natas5.
المعلومات التنظيميةخاصةً لأولئك الذين يرغبون في تعلم شيء جديد وتطويره في أي من مجالات أمن المعلومات والحاسوب ، سأكتب وأتحدث عن الفئات التالية:
- PWN.
- التشفير (التشفير) ؛
- تقنيات الشبكات (الشبكة) ؛
- عكس (الهندسة العكسية) ؛
- إخفاء المعلومات (Stegano) ؛
- بحث واستغلال مواطن الضعف WEB.
بالإضافة إلى ذلك ، سوف أشارك تجربتي في الطب الشرعي للكمبيوتر ، وتحليل البرامج الضارة والبرامج الثابتة ، والهجمات على الشبكات اللاسلكية وشبكات المناطق المحلية ، وإجراء عمليات pentests واستغلال الكتابة.
حتى تتمكن من معرفة المقالات الجديدة والبرامج والمعلومات الأخرى ، أنشأت
قناة في Telegram ومجموعة لمناقشة أي مشاكل في مجال التصنيف الدولي للأمراض. أيضًا ، سأدرس شخصيًا طلباتك الشخصية وأسئلتك واقتراحاتك وتوصياتك
شخصيًا وسأجيب على الجميع .
يتم توفير جميع المعلومات للأغراض التعليمية فقط. لا يتحمل مؤلف هذا المستند أية مسؤولية عن أي ضرر يلحق بشخص ما نتيجة استخدام المعرفة والأساليب التي تم الحصول عليها نتيجة لدراسة هذا المستند.
المستوى 0
نحن ننظر إلى شفرة المصدر للصفحة ونتحقق من التعليقات.

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

لعرض الصفحة ، يمكنك استخدام مفاتيح الاختصار للمتصفح ، ثم لن يعمل حدث الضغط على زر الفأرة الأيمن.

نجد كلمة المرور
كخيار (أولوية في بعض الأحيان) ، يمكنك ببساطة تنزيل الصفحة بالكامل وعرض الكود.
wget --http-user=natas1 --http-password=gtVrDuiDfck831PqWsLEZy5gyDz1clto http://natas1.natas.labs.overthewire.org

المستوى 2
نلقي نظرة على الكود المصدري للصفحة مرة أخرى ، نلاحظ أن الصورة يتم تحميلها على الصفحة.

دعنا نذهب إلى الدليل الذي تم تنزيل الصورة منه. نلاحظ أن هذا الدليل غير مفهرس ومتاح للمستخدمين.

نحن نرفع كلمة المرور

لتجنب عرض الملفات في الدليل ، يجب أن تكون إعدادات الخادم (في هذه الحالة /etc/apche2/httpd.conf) محظورة على فهرسة الملفات. أو في هذا الدليل يجب أن يكون ملف index.html.
المستوى 3
ننظر إلى شفرة المصدر للصفحة مرة أخرى ، لا يوجد شيء مثير للاهتمام هناك. العنصر الثاني بعد عرض الكود المصدري هو فحص الملفات والدلائل. حدد المستخدم وكلمة المرور لمصادقة http كمعلمات الأداة المساعدة dirb.

يحتوي ملف robots.txt على قائمة بالأدلة والملفات التي لا يُسمح بعرضها بواسطة روبوتات محرك البحث (على سبيل المثال ، google و yandex).

دعنا نذهب إلى الدليل المخفي على الموقع ، والعثور على الملف والتقاط كلمة المرور.


كتناظرية ، يمكنك استخدام الأداة المساعدة dirsearch أو burpsuite.
المستوى 4
يقوم الخادم بإبلاغ الصفحة التي ذهبوا منها ويقول الصفحة التي يجب الانتقال إليها. يمكنه التحقق من هذه البيانات فقط في رأس بروتوكول HTTP.

في المستعرض ، حدد شريط الأدوات → الشبكة → الطلب الأخير و "التغيير والإرسال". يجب عليك تغيير حقل "المُحيل" - إنه يُظهر بالضبط من أين أتينا.

يبقى لالتقاط كلمة المرور.

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

دعونا نرى ملفات تعريف الارتباط (للراحة من الأفضل تثبيت الإضافات في المتصفح) ، وتغيير قيمة المعلمة تسجيل الدخول إلى 1.

أعد تحميل الصفحة وجمع كلمة المرور.

وتصنف مشكلة عدم الحصانة هذه على أنها مصادقة مكسورة وإدارة الجلسة.
المستوى 6
توفر لنا هذه الخدمة شفرة المصدر للتحليل.

يتم تضمين السر الذي يجب أن ندخله (متصل من الملف).

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

إرسال سر ، الحصول على كلمة مرور.
المستوى 7
من خلال النقر على كلا الرابطين ، نلاحظ كيفية تحميلها. يتم تمرير اسم الملف على الخادم في صفحات معلمات GET.

دعنا نحاول تحديد المسار إلى ملف / etc / passwd كمعلمة.

ويخبروننا أين يمكن الحصول على كلمة المرور.

تم تصنيف مشكلة عدم الحصانة كـ LFI.
المستوى 8
يتم توفير الكود المصدري للخدمة. يتم تخزين السلسلة المشفرة وطريقة الترميز.

من الضروري فك تشفيرها بترتيب عكسي:
- تحويل من وجهة نظر عرافة إلى التمثيل الثنائي ؛
- اقلب الخط
- فك تشفير base64.
<?php $secret = "3d3d516343746d4d6d6c315669563362"; echo base64_decode(strrev(hex2bin($secret)))."\n"; ?>

إرسال سر والحصول على كلمة مرور.

المستوى 9
من تحليل الكود المصدري ، يصبح من الواضح أن بيانات المستخدم يتم نقلها إلى سطر الأوامر للبحث عن البيانات في الملف.

نظرًا لعدم تصفية البيانات ، يمكنك جمع خط الأنابيب وتنفيذ أوامر OS الأخرى. إذا قمت بتمرير سلسلة إلى الطلب ، على سبيل المثال: "|| ls # "، سيصبح الطلب الكامل" grep -i || ls # dictionary.txt. " كل شيء بعد | - سيتم تنفيذها مع وجود خطأ ، وبعد # - سيتم تعليقه ، أي أننا نحصل فقط على إخراج الأمر ls.

وبالتالي ، نقرأ الملف: "|| القط / الخ / natas_webpass / natas10 # ".

تم تصنيف مشكلة عدم الحصانة كـ OS Command Injection.
المستوى 10
من تحليل الكود المصدري ، يصبح من الواضح أن بيانات المستخدم يتم نقلها إلى سطر الأوامر للبحث عن البيانات في الملف.

المهمة هي نفسها كما في المستوى 9 ، الآن فقط يوجد مرشح. وهكذا ستختفي العلامات من الطلب: "؛" ، "|" ، "&". يمكنك قراءة الملف بشكل شرعي! افترض أن كلمة المرور الخاصة بنا تحتوي على الرمز "z": "z / etc / natas_webpass / natas11 #".

أن تستمر. يمكنك الانضمام إلينا على
Telegram .