في هذه المقالة سنحل المهمة 25 من الموقع
المعلومات التنظيميةخاصة بالنسبة لأولئك الذين يرغبون في تعلم شيء جديد والتطور في أي من مجالات المعلومات وأمن الكمبيوتر ، سأكتب وأتحدث عن الفئات التالية:
- PWN.
- التشفير (التشفير) ؛
- تقنيات الشبكات (الشبكة) ؛
- عكس (الهندسة العكسية) ؛
- علم إخفاء المعلومات (ستيجانو) ؛
- البحث عن ثغرات الويب واستغلالها.
بالإضافة إلى ذلك ، سوف أشارك تجربتي في التحليل الجنائي للكمبيوتر ، وتحليل البرامج الضارة والبرامج الثابتة ، والهجمات على الشبكات اللاسلكية وشبكات المنطقة المحلية ، والتحقق من المآثر والكتابة.
حتى تتمكن من التعرف على المقالات الجديدة والبرامج والمعلومات الأخرى التي قمت بإنشائها
يتم توفير جميع المعلومات لأغراض تعليمية فقط. لا يتحمل مؤلف هذا المستند أي مسؤولية عن أي ضرر يلحق بأي شخص نتيجة لاستخدام المعرفة والأساليب التي تم الحصول عليها نتيجة لدراسة هذه الوثيقة.
حل مهمة otp
نواصل القسم الثاني. سأقول على الفور إنه أصعب من الأول ، لكن هذه المرة لا يقدمون الكود المصدري للبرنامج. لا تنس المناقشة هنا (https://t.me/RalfHackerPublicChat) وهنا (https://t.me/RalfHackerChannel). لنبدأ.
انقر فوق الرمز مع التوقيع otp. حصلنا على عنوان ومنفذ للاتصال به.
نتصل وننظر حولنا على الخادم.
العلم الذي لا يمكننا قراءته هو البرنامج وشفرة المصدر الخاصة به. دعنا نرى المصدر.
دعنا نلتقطه. يأخذ البرنامج كلمة المرور كوسيطة.
علاوة على ذلك ، يتم تخزين 16 بايت عشوائيًا في متغير otp.
يتم إنشاء ملف باسم عشوائي في مجلد tmp (أول 8 بايت هي otp) ويتم كتابة 8 بايت عشوائيًا (8 بايت الثانية هي otp).
لسبب ما ، تتم قراءة قيمة الملف الذي تم إنشاؤه ومقارنتها بكلمة المرور التي تم إدخالها.
هناك نقطة ضعف هنا. وهو يتألف من الحفظ الوسيط للرقم الذي تم إنشاؤه في ملف. يمكننا تحديد حجم الملف ، على سبيل المثال ، إلى 0 ، ثم عند الكتابة والقراءة ، ستتم مقارنة 0 بكلمة المرور.يمكنك القيام بذلك على هذا النحو.
# ulimit -f 0
لنقم الآن بتشغيل البرنامج.
حصلنا على خطأ. لا يهم ، يمكن معالجتها باستخدام نفس بيثون.
python -c "import os, signal; signal.signal(signal.SIGXFSZ, signal.SIG_IGN); os.system('./otp 0')"
نحصل على العلم ونقاطنا السهلة 100 نقطة. ونستمر: في المقالة التالية سنتطرق إلى الويب. يمكنك الانضمام إلينا في
المصدر: www.habr.com