Beberapa hari yang lalu ada seorang teman yang meminta tolong untuk mengecek error yang terjadi di websitenya. Ia menggunakan WordPress.org sebagai CMS (Content Management System) webnya.
Katanya ia tidak bisa login ke dalam webnya. Setiap kali membuka halaman apa pun di webnya, ia kena redirect ke halaman lain.
Saya pun mencoba mengakses webnya. Ternyata benar, saya juga selalu kena redirect setiap mengakses halaman manapun. Berikut ini adalah tampilan web tujuan redirect tersebut:

Kadang-kadang juga di-redirect ke halaman berikut ini:

Saya mencoba googling terkait permasalahan ini. Rupanya permasalahan ini adalah hal yang cukup umum terjadi di WordPress.org. Saya menemukan beberapa petunjuk untuk mengatasi masalah ini setelah membaca artikel ini.
Secara logika, bagi yang sudah familiar dengan pemrograman web, pasti akan mencari di mana letak script yang menjalankan perintah redirect ini. Kita bisa melihat source code dari halaman letak di mana kita kena redirect dengan cara menekan CTRL+U.
Menemukan Script Malware yang Diinjeksikan


Di bagian atas page source itu secara sekilas saja kita bisa melihat ada script yang tidak biasa. Source code Javascript tersebut memanfaatkan fungsi fromCharCode untuk mengkonversi kode-kode unicode dan menyusunnya menjadi sebuah tag html yang akan mengimpor Javascript file dari website lain.
Kalau kita cek di console kode-kode unicode tersebut akan membentuk teks sebagai berikut:

Tampak bahwa kode-kode unicode ternyata membentuk teks yang memanggil file Javascript dari situs tertentu.
Pindai Seluruh File WordPress
Setelah kita mengetahui pola script yang diinjeksi tersebut, kita bisa memindainya di seluruh file di WordPress kita. Kita bisa memanfaatkan IDE atau text editor untuk memudahkan pemindaian tersebut.

Selanjutnya kita buang baris kode yang memuat script tersebut di setiap file yang telah terinjeksi.
Pindai Seluruh Konten WordPress di Database
Selain file, ternyata script malware tersebut juga diinjeksikan hampir ke semua konten post atau artikel di WordPress kita. Bahkan ada beberapa artikel baru yang memang khusus dibuat untuk memuat script malware ini.
Kita bisa memanfaatkan database tool untuk memudahkan kita dalam melakukan pencarian script malware tersebut. Kita bisa mencari dengan menggunakan kata kunci kode-kode unicode yang sudah kita ketemukan tadi baik yang sudah terkonversi menjadi teks atau belum.
Dalam kasus yang saya temukan script malware yang diinjeksi ke artikel WordPress di dalam database ternyata menggunakan teks biasa, bukan unicode.

Selain tabel artikel sebaiknya Anda pindai juga script malware ini di tabel lain. Dalam kasus saya, saya cuma menemukannya di tabel artikel saja.
Pindai Tabel User
Selain mencari script malware, cek juga tabel user WordPress apakah ada user baru yang tidak kita kenali. Salah satu ciri hack terkait malware ini adalah ia juga menambahkan admin ke tabel user WordPress kita.
Benar saja. Ada beberapa akun dengan nama aneh di tabel WordPress teman saya. Setelah saya cek dengan dia, dapat dipastikan itu bukan aku yang dia buat. Langsung saja saya hapus dari database.

Hapus File-File Mencurigakan
Terakhir, kita cek juga di folder WordPress kita apakah ada file-file dengan nama aneh. Hapus file-file tersebut.
Perbarui Plugin-Plugin yang Kita Gunakan
Setelah melakukan langkah-langkah di atas, saya kembali mencoba mengakses halaman web WordPress teman saya. Kali ini website sudah bisa diakses secara normal. Tidak ada redirect.
Bagaimana malware ini bisa menginfeksi, saya tidak tahu pasti. Namun saya mencurigai malware ini datangnya dari celah keamanan salah satu plugin WordPress yang diinstall oleh teman saya.
Dalam hal ini kemungkinan besar dari plugin Elementor. Banyak sekali website yang mengulas tentang serangan yang dilancarkan terhadap WordPress memanfaatkan celah dari Elementor ini. Padahal teman saya sudah pakai yang versi pro. Tapi tidak menjamin bebas hack juga.
Saran saya sebaiknya selalu perbarui plugin-plugin yang kita install di WordPress kita. Entah itu Elementor atau bukan. Karena biasanya dalam setiap pembaharuan itu disertai juga perbaikan terhadap celah keamanan yang ditemukan pada versi sebelumnya.
Kejadian begini sering terjadi dalam banyak kasus karena penggunaan plugins atau themes nulled. jadi kepada yang doyan pakai nulled semoga sadar….
LikeLike