في هذه المقالة ، سنقوم بحل المهمة 25 من موقع
pwnable.kr .
المعلومات التنظيميةخاصةً لأولئك الذين يرغبون في تعلم شيء جديد وتطويره في أي من مجالات أمن المعلومات والحاسوب ، سأكتب وأتحدث عن الفئات التالية:
- PWN.
- التشفير (التشفير) ؛
- تقنيات الشبكات (الشبكة) ؛
- عكس (الهندسة العكسية) ؛
- إخفاء المعلومات (Stegano) ؛
- بحث واستغلال مواطن الضعف WEB.
بالإضافة إلى ذلك ، سوف أشارك تجربتي في الطب الشرعي للكمبيوتر ، وتحليل البرامج الضارة والبرامج الثابتة ، والهجمات على الشبكات اللاسلكية وشبكات المناطق المحلية ، وإجراء عمليات pentests واستغلال الكتابة.
حتى تتمكن من معرفة المقالات الجديدة والبرامج والمعلومات الأخرى ، أنشأت
قناة في Telegram ومجموعة لمناقشة أي مشاكل في مجال التصنيف الدولي للأمراض. أيضًا ، سأدرس شخصيًا طلباتك الشخصية وأسئلتك واقتراحاتك وتوصياتك
شخصيًا وسأجيب على الجميع .
يتم توفير جميع المعلومات للأغراض التعليمية فقط. لا يتحمل مؤلف هذا المستند أية مسؤولية عن أي ضرر يلحق بشخص ما نتيجة استخدام المعرفة والأساليب التي تم الحصول عليها نتيجة لدراسة هذا المستند.
حل وظيفة Otp
نواصل القسم الثاني. سأقول على الفور أنه أكثر صعوبة من الأول ، لكن هذه المرة يزودوننا بالكود المصدري للبرنامج. لا تنسى المناقشة هنا (https://t.me/RalfHackerPublicChat) وهنا (https://t.me/RalfHackerChannel). لنبدأ.
انقر على الأيقونة مع توقيع otp. يتم منحنا العنوان والمنفذ للاتصال.

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

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

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

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

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

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

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

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

حصلنا على خطأ. لا يهم ، لأنه يمكن معالجتها باستخدام نفس الثعبان.
python -c "import os, signal; signal.signal(signal.SIGXFSZ, signal.SIG_IGN); os.system('./otp 0')"

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