Goal Reached Thanks to every supporter — we hit 100%!

Goal: 1000 CNY · Raised: 1000 CNY

100.0%

CVE-2016-6662 PoC — Oracle MySQL 远程代码执行漏洞/提权漏洞

Source
Associated Vulnerability
Title:Oracle MySQL 远程代码执行漏洞/提权漏洞 (CVE-2016-6662)
Description:Oracle MySQL是美国甲骨文(Oracle)公司的一套开源的关系数据库管理系统。该数据库系统具有性能高、成本低、可靠性好等特点。 Oracle MySQL中的配置文件(my.cnf)存在远程代码执行漏洞。攻击者(本地或远程)可通过授权访问MySQL数据库(网络连接或类似phpMyAdmin的Web接口)或SQL注入方式,利用该漏洞向配置文件中注入恶意的数据库配置,导致以root权限执行任意代码,完全控制受影响的服务器。以下版本受到影响:Oracle MySQL 5.5.52及之前的版本,5.6.x
Description
CVE-2016-6662, tapi versi lab ala Kanya.  Dari SQL Injection receh → bisa jadi full server takeover.  Cocok buat latihan dan flexing di forum, jangan dipake ke server orang.
Readme
# CVE-2016-6662 - Old MySQL Exploit Lab

⚠️ **Disclaimer**  
PoC ini dibuat hanya untuk tujuan **edukasi** dan **pengujian di lab pribadi**.  
Jangan pernah gunakan pada server yang bukan milik sendiri.  
Segala penyalahgunaan di luar kontrol pembuat.

---

## 📌 Deskripsi
**CVE-2016-6662** adalah kerentanan kritis pada **MySQL/MariaDB** (versi < 5.7.15 & 5.6.33)  
yang memungkinkan attacker dengan akses SQL (misalnya lewat **SQL Injection** atau kredensial DB)  
untuk menulis file konfigurasi berbahaya (`my.cnf`).  
Hal ini dapat dieksploitasi untuk mencapai **Remote Code Execution (RCE)** pada host server.

Bug ini jadi menarik karena membuka pintu dari **SQL Injection biasa → full server takeover**.  

---

## 📂 Isi Repo
- `Exploit_Old_MySQL_Kay_ver.py` → Python PoC exploit  
- `911KanyaLab_lib.c` → Source code malicious shared object  
- `911KanyaLab_lib.so` → Hasil compile dari source `.c`

---

## ⚙️ Cara Pakai (Lab Env)
1. Jalankan MySQL lama di Docker (contoh versi vulnerable):
   ```bash
   docker run --name vuln-mysql -e MYSQL_ROOT_PASSWORD=root -d mysql:5.5
``

2. Compile shared object (opsional, kalau mau rebuild):

   ```bash
   gcc -fPIC -shared -o 911KanyaLab_lib.so 911KanyaLab_lib.c
   ```

3. Jalankan exploit:

   ```bash
   python Exploit_Old_MySQL_Kay_ver.py -u root -p root -h 127.0.0.1
   ```

---

## 🛡️ Mitigasi

* Update MySQL minimal ke **5.7.15** / **5.6.33** atau patch versi terbaru MariaDB.
* Cabut hak `FILE` dari user SQL yang nggak perlu:

  ```sql
  REVOKE FILE ON *.* FROM 'user'@'host';
  ```
* Pastikan hanya user authorized yang bisa akses MySQL.

---

## 👤 Credits

Project ini dibuat sebagai **lab praktikum** untuk belajar eksploitasi database.
Terinspirasi dari publikasi Exploit-DB dan riset keamanan terkait CVE-2016-6662.
File Snapshot

[4.0K] /data/pocs/c622a947a6cf58b1b01e113bb03923f25f5026a1 ├── [2.0K] 911KanyaLab_lib.c ├── [ 16K] 911KanyaLab_lib.so ├── [6.5K] Exploit_Old_MySQL_Kay_ver.py ├── [1.0K] LICENSE └── [1.8K] README.md 0 directories, 5 files
Shenlong Bot has cached this for you
Remarks
    1. It is advised to access via the original source first.
    2. If the original source is unavailable, please email f.jinxu#gmail.com for a local snapshot (replace # with @).
    3. Shenlong has snapshotted the POC code for you. To support long-term maintenance, please consider donating. Thank you for your support.