حل المهمة مع pwnable.kr 25 - otp. حد حجم ملف Linux

حل المهمة مع pwnable.kr 25 - otp. حد حجم ملف Linux
في هذه المقالة سنحل المهمة 25 من الموقع pwnable.kr.

المعلومات التنظيميةخاصة بالنسبة لأولئك الذين يرغبون في تعلم شيء جديد والتطور في أي من مجالات المعلومات وأمن الكمبيوتر ، سأكتب وأتحدث عن الفئات التالية:

  • PWN.
  • التشفير (التشفير) ؛
  • تقنيات الشبكات (الشبكة) ؛
  • عكس (الهندسة العكسية) ؛
  • علم إخفاء المعلومات (ستيجانو) ؛
  • البحث عن ثغرات الويب واستغلالها.

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

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

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

حل مهمة otp

نواصل القسم الثاني. سأقول على الفور إنه أصعب من الأول ، لكن هذه المرة لا يقدمون الكود المصدري للبرنامج. لا تنس المناقشة هنا (https://t.me/RalfHackerPublicChat) وهنا (https://t.me/RalfHackerChannel). لنبدأ.

انقر فوق الرمز مع التوقيع otp. حصلنا على عنوان ومنفذ للاتصال به.

حل المهمة مع pwnable.kr 25 - otp. حد حجم ملف Linux

نتصل وننظر حولنا على الخادم.

حل المهمة مع pwnable.kr 25 - otp. حد حجم ملف Linux

العلم الذي لا يمكننا قراءته هو البرنامج وشفرة المصدر الخاصة به. دعنا نرى المصدر.

حل المهمة مع pwnable.kr 25 - otp. حد حجم ملف Linux

دعنا نلتقطه. يأخذ البرنامج كلمة المرور كوسيطة.

حل المهمة مع pwnable.kr 25 - otp. حد حجم ملف Linux

علاوة على ذلك ، يتم تخزين 16 بايت عشوائيًا في متغير otp.

حل المهمة مع pwnable.kr 25 - otp. حد حجم ملف Linux

يتم إنشاء ملف باسم عشوائي في مجلد tmp (أول 8 بايت هي otp) ويتم كتابة 8 بايت عشوائيًا (8 بايت الثانية هي otp).

حل المهمة مع pwnable.kr 25 - otp. حد حجم ملف Linux

لسبب ما ، تتم قراءة قيمة الملف الذي تم إنشاؤه ومقارنتها بكلمة المرور التي تم إدخالها.

حل المهمة مع pwnable.kr 25 - otp. حد حجم ملف Linux

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

# ulimit -f 0

حل المهمة مع pwnable.kr 25 - otp. حد حجم ملف Linux

لنقم الآن بتشغيل البرنامج.

حل المهمة مع pwnable.kr 25 - otp. حد حجم ملف Linux

حصلنا على خطأ. لا يهم ، يمكن معالجتها باستخدام نفس بيثون.

python -c "import os, signal; signal.signal(signal.SIGXFSZ, signal.SIG_IGN); os.system('./otp 0')" 

حل المهمة مع pwnable.kr 25 - otp. حد حجم ملف Linux

نحصل على العلم ونقاطنا السهلة 100 نقطة. ونستمر: في المقالة التالية سنتطرق إلى الويب. يمكنك الانضمام إلينا في تیلیجرام.

المصدر: www.habr.com

إضافة تعليق