
إفصاح عام عن ثغرة إعادة التوجيه المفتوحة (Open Redirection) في TitanFTP 19.X
تم اكتشاف ثغرة أمنية جديدة تؤثر على خادم ويب Titan FTP وتم تسجيلها تحت CVE-2022-44215. Titan FTP هو برنامج تجاري تم تطويره بواسطة South River Technologies ويطبّق بروتوكول FTP لمشاركة الملفات. في نسخته HTTP(S) الإصدار 19.X وما قبله، ثبت أنه عرضة لثغرة إعادة التوجيه المفتوحة (Open Redirection).
تتمثل ثغرة إعادة التوجيه المفتوحة في عدم قيام الخادم بتعقيم مدخلات المستخدم بشكل صحيح. لذلك، يتم إجراء إعادة التوجيه باستخدام المدخلات التي يقدمها المستخدم دون تعقيم (قوائم السماح/الحظر). في هذه الحالة، يقوم خادم Titan FTP بإجراء إعادة توجيه عند وجود شرطة مائلة عكسية \ في عنوان URL. لا يهم ما إذا كانت الشرطة المائلة العكسية بنص عادي أو مشفرة في URL (%5C). https://<server>\<malicious_url> سيجعل الخادم يقدم إعادة توجيه إلى \<malicious_url>.
لاستغلال ذلك، يحتاج المتصفح إلى فهم بروتوكول رأس استجابة HTTP الخاص بالموقع (Location). يجب أن يحتوي على HTTP أو HTTPS. للتحايل على ذلك، من الممكن توفير شرطتين مائلتين عكسيتين “\” بدلاً من واحدة. سيتم تفسير ذلك كفاصل بروتوكول وستستخدم معظم المتصفحات بروتوكول HTTP افتراضياً. في النهاية، سيكون الحمولة الفعّالة لتحقيق إعادة التوجيه مشابهة لهذا: http[s]://<server>\\<malicious_url>

لإجراء هذا الاختبار، يمكن أيضاً استخدام CURL. ومع ذلك، ضع في اعتبارك أن CURL سيكتشفه كطلب سيئ البنية لأن “\” محظورة بموجب المعيار RFC 2396. لتجاوز ذلك باستخدام curl يمكننا استخدام الأمر التالي:
Curl -i http[s]://<server> --request-target \\\\malicious.com
على الرغم من المشكلة، فإن الاستغلال محدود بسبب قيام المتصفحات عادةً بإعادة كتابة الشرطات المائلة العكسية “\” إلى “/”، مما يؤدي إلى أن الهجمات التي تستخدم النص العادي مباشرة لن تعمل في معظم الحالات. يمكن القيام ببعض الحلول البديلة باستخدام حمولات HTML تتجاوز قواعد إعادة كتابة عناوين URL في المتصفحات.
وفقاً لـ Shodan، في ديسمبر 2022، هذا الخادم مكشوف علناً على 1.278 خادماً حول العالم:

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