من أجل تسهيل الأعضاء أو الأعضاء تحميل الأفلام أو تبادل الملفات، تسمح العديد من مواقع الأفلام أو المنتديات أو المؤسسات الأخرى للمستخدمين بتحميل الملفات، لأنه فقط في حالة السماح بهذا الإذن، يمكن للمستخدمين تحميل الملفات، ولكن هذا الإذن يقتصر على خوادم FTP التي السماح بإعادة تحميل نقطة التوقف، يمكن أن يسبب مشاكل كبيرة.
برامج خادم FTP التي تسمح بإعادة الإرسال بعد نقاط التوقف يجب أن تدعم أمر "الراحة" إذا تم استخدام هذا الأمر قبل أمر التحميل (أمر الإرسال)، فإنه يخبر خادم FTP أن الملف الذي أريد تحميله سيكون موجودًا من خادم FTP لبدء الكتابة في هذا الملف.
مثال:
لنفترض أن هناك ملف Readme.txt في خادم ftp. حجم الملف هو 1000 بايت. اتصل بخادم ftp هذا (على افتراض أن لدي أذونات الكتابة. ويدعم خادم ftp إعادة إرسال نقطة التوقف). ملف .حجم الملف 500 بايت. حسنًا، لقد بدأت بفعل أشياء سيئة.
1. اتصل بخادم ftp هذا (استخدم ftp://ftp.exe/ الذي يأتي مع النظام. قد لا يكون متاحًا على الإنترانت لأن ftp://ftp.exe/ يستخدم وضع المنفذ)
2. dir (تحقق من حجم ملف Readme.txt وتأكد من أنه 1000 بايت)
3. اقتبس الباقي 1000 (أخبر خادم ftp أن الملف الذي أريد نقله يبدأ من موضع الملف 1000)
4. أرسل الملف التمهيدي.txt
5. dir (تحقق من حجم الملف Readme.txt مرة أخرى، والآن أصبح حجم الملف Readme.txt 1500 بايت)
لماذا يصبح Readme.txt أكبر؟ الأمر بسيط، لأنه تم تحميل 500 بايت من الملف Readme.txt المحلي الخاص بي بنجاح وكتابته إلى ملف Readme.txt الذي يبلغ حجمه 1000 بايت والموجود في خادم ftp. تكمن المشكلة في الأمر الثاني. بدون الأمر الثاني، سيحصل الأمر الرابع (Send Readme.txt) على خطأ رفض الإذن. الأمر الثاني هو السماح لخادم ftp بالثقة فيما نحن على وشك القيام به إذا لم يكن هناك الأمر الثاني لعملية نقطة التوقف وإعادة الإرسال، سيعتقد خادم ftp أننا نقوم بعملية الكتابة فوق الملف الأصلي (تتطلب عملية الكتابة فوق الملف الأصلي أذونات إضافية).
بعد قولي هذا، يجب على الجميع فهم معنى الموضوع من خلال عملية بسيطة للغاية، حيث يمكن لأي مستخدم لديه أذونات الكتابة تعديل الملفات التي تم تحميلها من قبل مستخدمين آخرين. وهذا وحده يخلق ثغرة أمنية كبيرة. إذا كان الملف الذي تم تحميله ملفًا مهمًا، فيمكن للتعديلات العشوائية أن تدمر الملف تمامًا؛ إذا كان ملفًا قابلاً للتنفيذ أو بعض ملفات zip أو rar، فهل سيضيف بعض المجنون العبقري المطلع على هياكل الملفات المختلفة بعض التعليمات البرمجية الضارة إلى تلك الملفات؟ ، مما يتسبب في إتلاف نظام المنفذ أو تنفيذ كود الباب الخلفي الخاص به أو أشياء أخرى نظرًا لأنني لست على دراية ببنية هذه الملفات، أقول فقط أن هذا رقم غير معروف.
لكن في عالم الكمبيوتر، العديد من الأشياء المستحيلة أصبحت ممكنة أخيرًا، لذلك لا أستطيع التوصل إلى نتيجة نهائية. ولكن مجرد حقيقة أنه يمكن أن يؤدي إلى تلف الملف هو أمر مدمر للغاية بالفعل، فكر في ملف فيلم وتلفزيون يبلغ حجمه 500 مليون، إذا أضاف شخص ما بايتات إضافية إليه، فمن المحتمل ألا تتمكن البرامج التي تقوم بتشغيل هذه الملفات من مشاهدته بشكل عام، سيقولون جميعًا إنها ليست ملفات فيديو قانونية ولا يمكن تشغيلها، وما إلى ذلك. أما بالنسبة لملفات zip وrar والملفات الأخرى، فإن برنامج winzip أو winrar سيشير بالتأكيد إلى أن الملف المضغوط قد تعرض للتلف، وأن رمز التحقق من crc غير صحيح، وما إلى ذلك.
هذه المشكلة موجودة فقط في خدمات FTP التي تسمح بإعادة الإرسال بعد نقاط التوقف، لكن الآن 90% من برامج خدمة FTP تسمح بإعادة الإرسال بعد نقاط التوقف، لذلك ستتواجد هذه المشكلة في خوادم FTP الشائعة.
طرق الوقاية:
إذا كان يجب عليك منح المستخدمين أذونات التحميل، فإن أفضل طريقة لمنع ذلك هي إنشاء دليل لكل مستخدم وقفل أذونات هذا المستخدم بالكامل في هذا الدليل، ثم لن يكون لدى المستخدم إذن لعرض أدلة المستخدمين الآخرين، وهذا يعني أنه لا يمكن أن يسبب الضرر المذكور أعلاه.
تم اختبار ما سبق ذكره في Serv-U V4.0، ومنصة الاختبار هي Win 2K Server. إذا لم تكن لدى برامج خدمة ftp الأخرى هذه المشكلة، فهذا خارج نطاق هذه المقالة. في الوقت الحاضر، عند إعداد خوادم ftp في أنظمة Windows ، يعد Serv-U هو الأكثر استخدامًا وشعبية، لذا يجب على المسؤولين إيلاء المزيد من الاهتمام. هذه المقالة ليست لتعليم الناس القيام بأشياء سيئة. إذا كنت تستخدم هذه الطريقة لتدمير الملفات الموجودة على خادم بروتوكول نقل الملفات، فإن الشخص الوحيد المسؤول هو أنت. لنقتبس جملة من رواية غو لونغ: "ليس هناك خطأ في السكين نفسه، لكن اليد التي تمسك به خاطئة".