tekniske noter OfEhi Kioya
Nå ikke ligefrem hacking. Men lad mig forklare …
hosting er en del af min virksomhed, og som forventet bygger de fleste kunder deres hjemmesider. Alt deres indhold (filer og databaser) sidder på mine servere, og selvom jeg måske ikke har (eller ønsker) en administratorkonto på deres installationer, har jeg root-adgang på både filsystemet og databaseniveauerne.
klienter glemmer ofte deres login-oplysninger. Når dette sker, bliver de låst ude af admin-området på deres sider og har brug for hjælp til at komme ind igen. Der er også scenarier, hvor serveradministratorer muligvis har brug for at “tvinge” sig ind på en klients side, selv når klienten ikke har anmodet om dette. Måske på grund af juridiske grunde eller politiske overtrædelser. Eller afhængigt af typen af administrationstjeneste, der leveres, skal serveradministratorer muligvis logge ind for at udføre opdateringer, rutinemæssig vedligeholdelse osv.
sammenfattende kan scenarier, hvor” hacking ” et kodeord være nødvendigt, omfatte:
- du har glemt brugernavn og e-mail-adresse på din egen hjemmeside.
- du kender brugernavnet eller e-mail-adressen, men har glemt adgangskoden. Og af en eller anden grund har indstillingen til nulstilling af adgangskode ikke fungeret-måske fordi e-mails til nulstilling af adgangskode ikke kommer igennem. Eller måske har du ikke længere adgang til den originale e-mail-adresse, der blev brugt.
- din klient har mistet loginoplysningerne på en hjemmeside, som du hoster på deres vegne.
- af juridiske årsager eller på grund af overtrædelser af politikker er du forpligtet til at tvinge dig ind på en hjemmeside, der er hostet på din infrastruktur.
- din side blev hacket, og administratorkontoen blev slettet (eller adgangskoden blev ændret).
under alle omstændigheder forklarer denne artikel, hvordan en serveradministrator enten kan tvinge til at nulstille en brugers adgangskode eller oprette en ny bruger med en helt ny adgangskode. Jeg vil vise, hvordan dette kan gøres enten fra backend-databasen eller ved hjælp af funktionerne.php-fil via FTP. I begge tilfælde er en konto på den pågældende hjemmeside ikke påkrævet.
de metoder, vi vil udforske her, er:
- “en adgangskode til databasen (ved at tvinge en nulstilling af adgangskode)
- oprettelse af en ny bruger til administrator via databasen
- “Hacking” (nulstilling) en adgangskode til ordtryk ved hjælp af funktionerne.php fil
- oprettelse af en ny admin bruger ved hjælp af funktionerne.php-fil
mens ingen af ovenstående metoder er nøjagtigt adgangskodehacking (da vi ikke bruger brute force-teknikker eller noget lignende), slutresultatet effektivt “hacks” vores vej ind i ordtryk med de samme administrative rettigheder, der tidligere var tabt.
ansvarsfraskrivelse: processerne beskrevet her er helt lovlige. Selvom kodeordet hashing stykke bruger dette værktøj, jeg byggede, bruger værktøjet Den officielle Ordtryksfunktion bag kulisserne. Jeg skrev denne artikel med serveradministratorer og internetmestere i tankerne. Det er meningen at være rent informativt og lærerigt. Hvis nogen bruger instruktionerne her af ondsindede grunde, kan jeg ikke holdes ansvarlig.
lad os begynde…
Metode 1: “Hacking” (nulstilling) en adgangskode til databasen
start dit databaseadministrationsværktøj. Dette kan være phpMyAdmin, Heidisk, Myskl arbejdsbænk osv. Vi vil foretage en ændring på bordet.
Bemærk: tabelnavnet kan være forskelligt, afhængigt af om installationen bruger et brugerdefineret Tabelpræfiks. I denne artikel antages det, at AP_ er dit Tabelpræfiks. Dette er standardværdien. Et hurtigt kig på dine tabelnavne skal hjælpe dig med at identificere dit Tabelpræfiks og den tilsvarende tabelbrugertabel i dit tilfælde. Du kan også finde det Tabelpræfiks, der er defineret eksplicit i AP-konfigurationen.php-fil (variablen af interesse der er $table_prefiks).
når du har åbnet tabellen for at se dataene, skal du hurtigt kunne identificere den brugerrekord, der skal ændres. Feltet af interesse (der indeholder den hashede adgangskode) er feltet user_pass. Dette felt vil have en værdi, der ser sådan ud: $P$BE.lib0ypakbr2srpi9g1
start adgangskode Hash Generator. Indtast den nye adgangskode, du ønsker for denne bruger, og klik på knappen “Hash denne sætning”. Kopier den genererede streng og erstat den aktuelle user_pass-værdi med den. Du skal kunne redigere værdien ved blot at dobbeltklikke på den.
gem ændringerne og log ind på dit admin-område med din nye adgangskode. Afhængigt af hvor stærk din valgte adgangskode var, og hvis din hjemmeside håndhæver stærke adgangskoder, kan du blive bedt om at vælge en stærk adgangskode med det samme efter at have logget ind.
Metode 2: Oprettelse af en ny administratorbruger via databasen
oprettelse af en ny administratorbruger svarer til ovenstående proces med nulstilling af en brugers adgangskode. Men det er lidt mere kompliceret. Denne gang vil vi ændre både tabellen over brugere og tabellen over brugere. Her er hvad du skal gøre…
Opret en ny post i tabellen. Indstil disse felter:
- user_login – det brugernavn, du vil have adgang til adminområdet
- user_pass – hash – koden for din valgte adgangskode genereret ved hjælp af Hashgeneratoren
- user_email – den e-mail, du vil knytte til denne nye konto
- user_registered-den dato, denne bruger blev registreret
alle de andre felter kan forblive tomme for nu. De er ikke obligatoriske felter. Men du kan redigere dem senere fra dashboardet, hvis du vil. Gem den nye bruger rekord.
når den er gemt, vil det automatisk give brugeren et ID. Dette nummer gemmes i ID-feltet. Bemærk dette nummer.
åbn nu tabellen. Vi opretter to nye poster i denne tabel.
for begge nye poster skal du indstille feltet user_id til det automatisk genererede ID ovenfor.
for den første post skal du indstille feltet meta_key til vp_user_level og indstille feltet meta_value til 10.
for den anden post skal du indstille meta_key-feltet til ap_kapaciteter og indstille meta_value-feltet Til a:1: {s: 13: “administrator”; s:1:”1″;}
Bemærk: Ovenstående værdier vil igen afhænge af det Tabelpræfiks, der bruges i din installation. Så hvis for eksempel dit Tabelpræfiks er vp_yourdomain_, så skal værdierne være henholdsvis vp_yourdomain_user_level og vp_yourdomain_capacities.
Gem begge poster og log ind på din hjemmeside med det nye brugernavn og adgangskode, du lige har oprettet. Afhængigt af hvor stærk din valgte adgangskode var, og hvis din hjemmeside håndhæver stærke adgangskoder, kan du blive bedt om at vælge en stærk adgangskode med det samme efter at have logget ind.
når du er logget ind, skal du redigere din bruger fra dashboardet. Ingen grund til at ændre noget. Bare rul ned og tryk på knappen Gem. Vil internt tilføje nogle ekstra oplysninger til den nye bruger, du lige har oprettet. Hvis du bliver bedt om at angive yderligere nødvendige oplysninger, skal du blot angive dem (for eksempel kan du blive bedt om at angive et unikt kaldenavn).
nu hvor du har en ny admin-konto, kan du gå videre og slette den gamle admin-konto, hvis du vil. Under sletningsprocessen giver du dig mulighed for at tildele alt indhold, der er oprettet af den gamle bruger, til den nye bruger (eller til enhver anden eksisterende bruger).
Metode 3: “Hacking” En Adgangskode Ved Hjælp Af Funktionerne.php-fil
Åbn funktionerne.php-fil af dit aktive tema i en teksteditor. Denne fil vil generelt blive fundet her: public_html/vp_content/themes/your-active-theme/functions.php
Tilføj denne kodelinje til filen. Du kan bare tilføje det i slutningen af det eksisterende indhold.
wp_set_password('yourdesiredpassword', 1);
det er bedst at vælge en stærk adgangskode. På den måde, hvis din hjemmeside håndhæver stærke adgangskoder, vil du ikke være forpligtet til at ændre det igen efter at logge ind.
i ovenstående tilfælde nulstilles brugerens adgangskode med et ID på 1.
Gem funktionerne.php fil og besøge din hjemmeside frontend. Brugerens adgangskode nulstilles.
vigtigt: før du selv bekræfter, at nulstillingen af adgangskoden fungerede, skal du først slette ovenstående kodelinje fra dine funktioner.php-fil. Hvis du ikke gør det, nulstilles adgangskoden på hver sideindlæsning, og det lykkes dig muligvis aldrig at logge ind med den nye adgangskode, du har angivet.
når du har slettet koden til nulstilling af adgangskode, kan du nu logge ind med den nye adgangskode.
du kan læse mere om funktionen() her.
Bemærk, at i modsætning til metoden til nulstilling af databaseadgangskode ovenfor skal du kende brugerens ID på forhånd for at bruge denne teknik til nulstilling af FTP-adgangskode. Men da du måske ikke allerede ved dette (uden at gætte), tror jeg, at metoden til nulstilling af databaseadgangskode (beskrevet i Metode 1 ovenfor) er mere kraftfuld.
Metode 4: Oprettelse Af En Ny Admin Bruger Ved Hjælp Af Funktionerne.php-fil
Åbn funktionerne.php-fil af dit aktive tema.
Tilføj denne kode til filen.
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');
glem ikke at indtaste dit eget brugernavn, adgangskode og e-mail-værdier. Hvis der allerede er en bruger med dit valgte brugernavn eller e-mail, oprettes der ikke en ny konto. Så sørg for at bruge unikke værdier for brugernavn og e-mail.
Gem funktionerne.php fil og derefter blot besøge din hjemmeside frontend. Koden udføres, og den nye administratorbruger oprettes. Du kan derefter logge ind med legitimationsoplysningerne for den nye bruger.
igen, glem ikke at slette koden fra funktionerne.php-fil.
konklusion
forhåbentlig vil en af de ovenfor beskrevne metoder hjælpe dig med at genvinde administrativ adgang til din hjemmeside. Ved at have adgang til database og/eller filsystem beviser du, at du har rettigheder til serveren og derfor bør have rettigheder til de hjemmesider, der hostes på den. Hvis du forsøger at hacke en hjemmeside, som du har hverken database eller filsystem adgang, så du forsøger at hacke andre folks sites og er helt klart op til noget godt. At få uautoriseret adgang til andres hjemmesider som det er en forbrydelse og ikke noget, jeg underviser eller opmuntrer.
hvis du har fundet de metoder, der diskuteres her nyttige, eller har et spørgsmål eller bidrag, kan du dele dine tanker ved hjælp af kommentarfeltet nedenfor.