Note tecniche OfEhi Kioya
Beh, non esattamente hacking. Ma lasciatemi spiegare
Il web hosting è una parte della mia attività e, come prevedibile, la maggior parte dei clienti costruisce i propri siti con WordPress. Tutti i loro contenuti (file e database) si trovano sui miei server e anche se potrei non avere (o volere) un account amministratore sulle loro installazioni WordPress, ho accesso root sia sul file system che sul database.
I clienti spesso dimenticano le loro informazioni di accesso a WordPress. Quando ciò accade, vengono bloccati dall’area di amministrazione dei loro siti e hanno bisogno di aiuto per rientrare. Ci sono anche scenari in cui gli amministratori del server potrebbero aver bisogno di “forzare” la loro strada nel sito di un client anche quando il client non lo ha richiesto. Forse a causa di motivi legali o violazioni della politica. Oppure, a seconda del tipo di servizio di gestione fornito, gli amministratori del server potrebbero dover effettuare il login per eseguire aggiornamenti, manutenzione ordinaria, ecc.
In sintesi, gli scenari in cui potrebbe essere necessario “hackerare” una password di WordPress includono:
- Hai dimenticato il nome utente e l’indirizzo email del tuo sito.
- Conosci il nome utente o l’indirizzo email ma hai dimenticato la password. E per qualche motivo, l’opzione di reimpostazione della password non è riuscita a funzionare, forse perché le e-mail di reimpostazione della password non stanno arrivando. O forse non hai più accesso all’indirizzo email originale utilizzato.
- Il tuo cliente ha perso i dettagli di accesso di un sito web WordPress che ospiti per loro conto.
- Per motivi legali o a causa di violazioni delle norme, è necessario forzare la strada in un sito Web ospitato sulla propria infrastruttura.
- Il tuo sito è stato violato e l’account amministratore è stato eliminato (o la password è stata cambiata).
In ogni caso, questo articolo spiega come un amministratore del server può forzare la reimpostazione della password di WordPress di un utente o creare un nuovo utente amministratore di WordPress con una password nuova di zecca. Mostrerò come questo può essere fatto sia dal database MySQL backend o utilizzando le funzioni.file php via FTP. In entrambi i casi, non è richiesto un account WordPress sul sito Web in questione.
I metodi che esploreremo qui sono:
- “Hacking” una password di WordPress sul database (forzando una reimpostazione della password)
- Creazione di un nuovo utente amministratore di WordPress tramite il database
- “Hacking” (reimpostazione) una password di WordPress utilizzando le funzioni.file php
- Creazione di un nuovo utente amministratore di WordPress utilizzando le funzioni.file php
Mentre nessuno dei metodi di cui sopra è esattamente l’hacking della password (dal momento che non stiamo usando tecniche di forza bruta o qualcosa del genere), il risultato finale “hack” efficacemente la nostra strada in WordPress con gli stessi diritti amministrativi che è stato precedentemente perso.
DISCLAIMER: I processi descritti qui sono completamente legali. Anche se il pezzo di hash della password utilizza questo strumento che ho creato, lo strumento utilizza la funzione ufficiale di WordPress wp_hash_password() dietro le quinte. Ho scritto questo articolo con amministratori di server e web master in mente. È pensato per essere puramente informativo ed educativo. Se qualcuno usa le istruzioni qui per motivi dannosi, non posso essere ritenuto responsabile.
Iniziamo
Metodo 1: “Hacking” (Ripristino) di una password di WordPress sul database
Avvia il tuo strumento di amministrazione del database. Questo potrebbe essere phpMyAdmin, HeidiSQL, MySQL Workbench, ecc. Faremo un cambiamento sul tavolo wp_users.
NOTA: il nome della tabella può essere diverso a seconda che l’installazione utilizzi un prefisso tabella personalizzato. Questo articolo presuppone che wp_ sia il prefisso della tabella. Questo è il valore predefinito. Una rapida occhiata ai nomi delle tabelle di WordPress dovrebbe aiutarti a identificare il prefisso della tabella e la tabella wp_users equivalente nel tuo caso. È inoltre possibile trovare il prefisso della tabella definito esplicitamente nel wp-config.file php (la variabile di interesse c’è table table_prefix).
Una volta aperta la tabella wp_users per visualizzare i dati, dovresti essere in grado di identificare rapidamente il record utente che deve essere modificato. Il campo di interesse (che contiene la password hash) è il campo user_pass. Questo campo avrà un valore simile a questo: P P BE BE.lIb0ypAKBR2OZCREKMwSrPiWW9g1
Avvia il generatore di hash delle password di WordPress. Inserisci la nuova password che desideri per questo utente e fai clic sul pulsante “Cancella questa frase”. Copia la stringa generata e sostituisci il valore user_pass corrente con esso. Dovresti essere in grado di modificare il valore semplicemente facendo doppio clic su di esso.
Salva le modifiche e accedi alla tua area di amministrazione di WordPress con la tua nuova password. A seconda di quanto forte la password scelta era e se il tuo sito web impone password complesse, potrebbe essere chiesto di scegliere una password complessa subito dopo l’accesso.
Metodo 2: Creazione di un nuovo utente amministratore di WordPress tramite il database
La creazione di un nuovo utente amministratore è simile al precedente processo di reimpostazione della password di un utente. Ma è un po ‘ più complicato. Questa volta, modificheremo sia la tabella wp_users che la tabella wp_usermeta. Ecco cosa devi fare
Crea un nuovo record nella tabella wp_users. Imposta questi campi:
- user_login – Il nome utente per l’accesso all’area di amministrazione di WordPress
- user_pass – Il codice hash della password generata utilizzando WordPress Hash della Password Generator
- user_email – L’e-mail che si desidera associare con questo nuovo account
- user_registered – La data di questo utente ha registrato
Tutti gli altri campi possono rimanere vuoto per ora. Non sono campi obbligatori. Ma puoi modificarli in un secondo momento dalla dashboard di WordPress, se vuoi. Salvare il nuovo record utente.
Una volta salvato, WordPress darà automaticamente all’utente un ID. Questo numero verrà salvato nel campo ID. Nota questo numero.
Ora apri la tabella wp_usermeta. Creeremo due nuovi record in questa tabella.
Per entrambi i nuovi record, impostare il campo user_id sull’ID generato automaticamente sopra.
Per il primo record impostare il campo meta_key su wp_user_level e impostare il campo meta_value su 10.
Per il secondo record impostare il campo meta_key su wp_capabilities e impostare il campo meta_value su a:1:{s:13: “administrator”; s:1:”1″;}
NOTA: I valori wp_user_level e wp_capabilities utilizzati sopra dipenderanno nuovamente dal prefisso della tabella utilizzato nell’installazione. Quindi, se ad esempio, il prefisso della tabella è wp_yourdomain_, i valori dovrebbero essere rispettivamente wp_yourdomain_user_level e wp_yourdomain_capabilities.
Salva entrambi i record e accedi al tuo sito web WordPress con il nuovo nome utente e password appena creati. A seconda di quanto forte la password scelta era e se il tuo sito web impone password complesse, potrebbe essere chiesto di scegliere una password complessa subito dopo l’accesso.
Una volta effettuato l’accesso, modifica il tuo utente dalla dashboard di WordPress. Non c’è bisogno di cambiare nulla. Basta scorrere verso il basso e premere il pulsante Salva. WordPress aggiungerà internamente alcune informazioni extra al nuovo utente appena creato. Se ti viene chiesto di fornire ulteriori informazioni richieste, basta fornirle (ad esempio, potrebbe essere richiesto di fornire un nickname univoco).
Ora che hai un nuovo account admin WordPress, puoi andare avanti ed eliminare il vecchio account admin se vuoi. Durante il processo di eliminazione, WordPress ti consentirà di attribuire tutti i contenuti creati dal vecchio utente al nuovo utente (o a qualsiasi altro utente esistente).
Metodo 3: “Hacking” una password di WordPress utilizzando le funzioni.php File
Aprire le funzioni.file php del tema attivo in un editor di testo. Questo file si trova generalmente qui: public_html / wp_content / themes / your-active-theme / functions.php
Aggiungi questa riga di codice al file. Puoi semplicemente aggiungerlo alla fine del contenuto esistente.
wp_set_password('yourdesiredpassword', 1);
È meglio scegliere una password complessa. In questo modo, se il tuo sito web applica password complesse, non ti verrà richiesto di cambiarlo di nuovo dopo l’accesso.
Nel caso precedente, la password dell’utente con un ID di 1 verrà reimpostata.
Salva le funzioni.file php e visita il frontend del tuo sito. La password dell’utente verrà reimpostata.
IMPORTANTE: Prima ancora di confermare che la reimpostazione della password ha funzionato, eliminare prima la riga di codice sopra dalle funzioni.file php. Se non lo fai, la password verrà reimpostata ad ogni caricamento della pagina e potresti non riuscire mai ad accedere con la nuova password che hai impostato.
Dopo aver eliminato il codice di reimpostazione della password, è ora possibile accedere con la nuova password.
Puoi leggere di più sulla funzione wp_set_password() qui.
Si noti che a differenza del metodo di reimpostazione della password del database di cui sopra, per utilizzare questa tecnica di reimpostazione della password FTP, è necessario conoscere l’ID dell’utente in anticipo. Ma dal momento che potresti non saperlo già (senza indovinare), penso che il metodo di reimpostazione della password del database (descritto nel Metodo 1 sopra) sia più potente.
Metodo 4: Creazione di un nuovo utente amministratore di WordPress utilizzando le funzioni.php File
Aprire le funzioni.file php del tuo tema attivo.
Aggiungi questo codice al file.
function ehi_kioya_create_admin_account(){$username = 'yourdesiredusername';$password = 'yourdesiredpassword'; // Choose a strong password. That way, if your website enforces strong passwords, you won't be required to change it again after signing in.$email = '[email protected]';// Only create user if chosen username and chosen email are not already in useif (!email_exists($email) && !username_exists($username)){$userid = wp_create_user($username, $password, $email);wp_update_user(array('ID' => $userid, 'nickname' => $email));$newuser = new WP_User($userid);$newuser->set_role('administrator');}}add_action('init','ehi_kioya_create_admin_account');
Non dimenticare di inserire il proprio nome utente, password e valori e-mail. Se c’è già un utente in WordPress con il tuo nome utente o e-mail scelto, non verrà creato un nuovo account. Quindi assicurati di utilizzare valori univoci per il nome utente e l’e-mail.
Salva le funzioni.file php e poi semplicemente visitare il tuo sito web frontend. Il codice verrà eseguito e verrà creato il nuovo utente amministratore. È quindi possibile accedere con le credenziali del nuovo utente.
Ancora una volta, non dimenticare di eliminare il codice dalle funzioni.file php.
Conclusione
Speriamo che uno dei metodi discussi sopra ti aiuti a recuperare l’accesso amministrativo al tuo sito web WordPress. Avendo accesso al database e / o al file system, l’utente dimostra di avere diritti sul server e dovrebbe quindi avere diritti sui siti Web ospitati su di esso. Se stai tentando di hackerare un sito Web WordPress per il quale non hai accesso né al database né al file system, stai tentando di hackerare i siti di altre persone e non sei chiaramente all’altezza. Ottenere l’accesso non autorizzato a siti web di altre persone come questo è un crimine e non qualcosa che insegno o incoraggio.
Se hai trovato utili i metodi discussi qui, o hai una domanda o un contributo, per favore condividi i tuoi pensieri usando la sezione commenti qui sotto.