Technical Notes OfEhi Kioya
Well not exact hacking. Maar laat me uitleggen…
webhosting is een deel van mijn bedrijf en zoals te verwachten, de meeste klanten bouwen hun sites met WordPress. Al hun inhoud (bestanden en databases) zitten op mijn servers en hoewel ik misschien niet hebben (of willen) een administrator account op hun WordPress installaties, ik heb root-toegang op zowel het bestandssysteem en database niveau.
klanten vergeten vaak hun WordPress-login-informatie. Wanneer dit gebeurt, ze krijgen buitengesloten van de admin gebied van hun sites en hulp nodig om terug in. Er zijn ook scenario ‘ s waarbij serverbeheerders mogelijk hun weg naar de site van een client moeten “forceren”, zelfs als de client dit niet heeft aangevraagd. Misschien om juridische redenen, of beleidsovertredingen. Of afhankelijk van het type managementservice dat wordt geleverd, moeten serveradministrators mogelijk inloggen om updates, routinematig onderhoud, enz.uit te voeren.
samengevat zijn scenario ‘ s waarbij een WordPress-wachtwoord moet worden “gehackt”, onder meer::
- u bent de gebruikersnaam en het e-mailadres van uw eigen site vergeten.
- u kent de gebruikersnaam of het e-mailadres, maar bent het wachtwoord vergeten. En om de een of andere reden, de out-of-the-box wachtwoord reset optie is mislukt om te werken – misschien omdat het wachtwoord reset e-mails komen niet door. Of misschien heeft u geen toegang meer tot het originele e-mailadres dat u hebt gebruikt.
- uw client heeft de inloggegevens verloren van een WordPress-website die u namens hen host.
- om juridische redenen of vanwege beleidsovertredingen moet u zich een weg banen naar een website die op uw infrastructuur wordt gehost.
- uw site werd gehackt en het admin account werd verwijderd (of het wachtwoord werd gewijzigd).
in ieder geval wordt in dit artikel uitgelegd hoe een serverbeheerder het WordPress-wachtwoord van een gebruiker kan forceren opnieuw in te stellen of een nieuwe WordPress admin-gebruiker met een gloednieuw wachtwoord kan maken. Ik zal laten zien hoe dit kan worden gedaan vanuit de backend MySQL database of met behulp van de functies.php bestand via FTP. In beide gevallen is een WordPress-account op de website in kwestie niet vereist.
de hier te onderzoeken methoden zijn::
- ” Hacking “a WordPress password on the database (by forcing a password reset)
- Creating a new WordPress admin user via the database
- “Hacking” (resetten) a WordPress password using the functions.php bestand
- een nieuwe WordPress admin gebruiker maken met behulp van de functies.php-bestand
hoewel geen van de bovenstaande methoden is precies wachtwoord hacken (omdat we geen gebruik maken van brute kracht technieken of iets dergelijks), het eindresultaat effectief “hacks” onze weg in WordPress met dezelfde administratieve rechten die eerder verloren was.
DISCLAIMER: De hier beschreven processen zijn volledig legaal. Hoewel het wachtwoord hashing stuk maakt gebruik van deze tool Ik gebouwd, de tool maakt gebruik van de officiële WordPress functie wp_hash_password() achter de schermen. Ik schreef dit artikel met server admins en web masters in het achterhoofd. Het is bedoeld om louter informatief en educatief te zijn. Als iemand de instructies hier gebruikt voor kwaadaardige redenen, Ik kan niet verantwoordelijk worden gehouden.
laten we beginnen…
Methode 1: “hacken” (resetten) Een WordPress-wachtwoord op de Database
start uw database-beheertool. Dit kan phpMyAdmin, HeidiSQL, MySQL Workbench, enz. We zullen een verandering aanbrengen op de wp_users tafel.
opmerking: de tabelnaam kan verschillen afhankelijk van of uw installatie een aangepast tabelvoorvoegsel gebruikt. Dit artikel gaat ervan uit dat wp_ jouw tabelvoorvoegsel is. Dit is de standaardwaarde. Een snelle blik op uw WordPress tabelnamen moet u helpen bij het identificeren van uw Tabel prefix en de equivalente wp_users tabel in uw geval. U kunt ook het tabelvoorvoegsel vinden dat expliciet is gedefinieerd in de wp-config.php bestand (de variabele van belang is $table_prefix).
zodra u de tabel wp_users opent om de gegevens te bekijken, moet u in staat zijn om snel het gebruikersrecord te identificeren dat moet worden gewijzigd. Het veld van belang (dat het gehashte wachtwoord bevat) is het veld user_pass. Dit veld zal een waarde hebben die er ongeveer zo uitziet: $P$BE.lIb0ypAKBR2OZCREKMwSrPiWW9g1
start de WordPress wachtwoord Hash Generator. Voer het nieuwe wachtwoord in dat u wilt voor deze gebruiker en klik op de knop “Hash this Phrase”. Kopieer de gegenereerde tekenreeks en vervang de huidige user_pass waarde ermee. Je moet in staat zijn om de waarde te bewerken door er gewoon op te dubbelklikken.
sla de wijzigingen op en log in op uw WordPress admin gebied met uw nieuwe wachtwoord. Afhankelijk van hoe sterk uw gekozen wachtwoord was en als uw website sterke wachtwoorden afdwingt, wordt u mogelijk gevraagd om direct na het inloggen een sterk wachtwoord te kiezen.
Methode 2: Een nieuwe WordPress Admin-gebruiker aanmaken via de Database
een nieuwe admin-gebruiker aanmaken is vergelijkbaar met het bovenstaande proces van het opnieuw instellen van het wachtwoord van een gebruiker. Maar het is iets ingewikkelder. Deze keer zullen we zowel de tabel wp_users als de tabel wp_usermeta wijzigen. Dit is wat u moet doen …
Maak een nieuw record aan in de tabel wp_users. Deze velden instellen:
- user_login – de gebruikersnaam die u wilt gebruiken voor toegang tot het WordPress admin gebied
- user_pass – de hashcode van uw gekozen wachtwoord gegenereerd met behulp van de WordPress Password Hash Generator
- user_email – de e – mail die u wilt koppelen aan dit nieuwe account
- user_registered-de datum waarop deze gebruiker geregistreerd werd
alle andere velden kunnen leeg blijven voor nu. Dit zijn geen verplichte velden. Maar je kunt ze later bewerken van het WordPress dashboard als je wilt. Sla het nieuwe gebruikersrecord op.
eenmaal opgeslagen, zal WordPress de gebruiker automatisch een ID geven. Dit nummer wordt opgeslagen in het ID-veld. Noteer dit nummer.
open nu de tabel wp_usermeta. In deze tabel maken we twee nieuwe records.
stel voor beide nieuwe records het veld user_id in op het automatisch gegenereerde ID hierboven.
voor de eerste record stelt u het meta_key-veld in op wp_user_level en stelt u het meta_value-veld in op 10.
voor de tweede record stelt u het meta_key-veld in op wp_capabilities en stelt u het meta_value-veld in op a: 1: {s: 13: “administrator”; s:1:”1″;}
opmerking: De waarden wp_user_level en wp_capabilities die hierboven worden gebruikt, zullen opnieuw afhangen van het tabelvoorvoegsel dat in uw installatie wordt gebruikt. Dus, als bijvoorbeeld je tabelvoorvoegsel wp_yourdomain_ is, dan moeten de waarden respectievelijk wp_yourdomain_user_level en wp_yourdomain_capabilities zijn.
sla zowel records als login op uw WordPress website op met de nieuwe gebruikersnaam en wachtwoord die u zojuist hebt aangemaakt. Afhankelijk van hoe sterk uw gekozen wachtwoord was en als uw website sterke wachtwoorden afdwingt, wordt u mogelijk gevraagd om direct na het inloggen een sterk wachtwoord te kiezen.
zodra u bent ingelogd, bewerk uw gebruiker vanaf het WordPress dashboard. Je hoeft niets te veranderen. Scroll naar beneden en druk op de knop Opslaan. WordPress zal intern wat extra informatie toevoegen aan de nieuwe gebruiker die u zojuist hebt gemaakt. Als je wordt gevraagd om aanvullende vereiste informatie te verstrekken, geef ze dan gewoon op (bijvoorbeeld, je kan worden gevraagd om een unieke bijnaam te geven).
Nu u een nieuwe admin WordPress-account hebt, kunt u doorgaan met het verwijderen van de oude admin-account als u wilt. Tijdens het delete-proces, zal WordPress u toelaten om alle inhoud die door de oude gebruiker aan de nieuwe gebruiker (of aan een andere bestaande gebruiker) toe te schrijven.
Methode 3: “Hacken” Van Een WordPress-Wachtwoord Met Behulp Van De Functies.php-bestand
Open de functies.php-bestand van uw actieve thema in een teksteditor. Dit bestand is over het algemeen hier te vinden: public_html/wp_content/themes/your-active-theme/functions.php
voeg deze regel code toe aan het bestand. Je kunt het gewoon toevoegen aan het einde van de bestaande inhoud.
wp_set_password('yourdesiredpassword', 1);
u kunt het beste een sterk wachtwoord kiezen. Op die manier, als uw website sterke wachtwoorden afdwingt, hoeft u deze niet opnieuw te wijzigen na het inloggen.
in het bovenstaande geval zal het wachtwoord van de gebruiker met een ID van 1 worden gereset.
sla de functies op.php bestand en bezoek uw site frontend. Het wachtwoord van de gebruiker wordt gereset.
belangrijk: voordat u zelfs maar bevestigt dat het opnieuw instellen van het wachtwoord heeft gewerkt, verwijdert u eerst de bovenstaande regel code uit uw functies.php bestand. Als je dat niet doet, zal het wachtwoord worden gereset op elke pagina te laden en je kan nooit slagen om in te loggen met het nieuwe wachtwoord dat u hebt ingesteld.
na het verwijderen van de wachtwoord reset code, kunt u nu inloggen met het nieuwe wachtwoord.
u kunt hier meer lezen over de functie wp_set_password ().
merk op dat, in tegenstelling tot de database password reset methode hierboven, om deze FTP password reset techniek te gebruiken, U de ID van de gebruiker van tevoren moet weten. Maar omdat je misschien niet al weet dit (zonder te raden), Ik denk dat de database wachtwoord reset methode (beschreven in Methode 1 hierboven) is krachtiger.
Methode 4: Een Nieuwe WordPress Admin Gebruiker Maken Met Behulp Van De Functies.php-bestand
Open de functies.php-bestand van uw actieve thema.
voeg deze code toe aan het bestand.
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');
vergeet niet uw eigen gebruikersnaam, wachtwoord en e-mailwaarden in te voeren. Als er al een gebruiker in WordPress is met de door u gekozen gebruikersnaam OF e-mail, wordt er geen nieuw account aangemaakt. Dus zorg ervoor dat u unieke waarden te gebruiken voor de gebruikersnaam en e-mail.
sla de functies op.php-bestand en dan gewoon naar uw website frontend. De code zal worden uitgevoerd en de nieuwe beheerder gebruiker zal worden gemaakt. U kunt dan inloggen met de referenties van de nieuwe gebruiker.
nogmaals, vergeet niet de code uit de functies te verwijderen.php bestand.
conclusie
hopelijk zal een van de hierboven besproken methoden u helpen de administratieve toegang tot uw WordPress website te herwinnen. Door toegang te hebben tot database en / of bestandssysteem, bewijs je dat je rechten hebt op de server en dus rechten moet hebben op de websites die daarop gehost worden. Als u probeert om een WordPress website te hacken waarvoor u noch database noch bestandssysteem toegang, dan bent u probeert om sites van andere mensen te hacken en zijn duidelijk tot geen goed. Ongeautoriseerde toegang krijgen tot websites van andere mensen is een misdaad en niet iets wat ik leer of aan te moedigen.
als u de hier besproken methoden nuttig vond,of een vraag of bijdrage hebt, deel dan uw gedachten met behulp van de commentaren hieronder.