Перейти к содержанию

Backdoor для смены пароля пользователя\администратора в Invision Power


Exception

Рекомендуемые сообщения

Бывают ситуации когда забыл пароль от ACP форума, или банально ввел символ случайно и тебе не дает залогиниться, но при этом есть доступ к FTP или Панели Управления веб сервером.
В следующем коде используются функции для смены пароля предоставляемые самим ips.

Перед началом важно:

  1. Вы не должны хранить этот файл у себя на сервере! Оставляя этот файл у себя на сервере, ВЫ подвергаете свое сообщество КРИТИЧЕСКОЙ опасности
  2. После смены пароля НЕМЕДЛЕННО удалите файл с сервера и смените пароль через ACP

Что нужно сделать для смены пароля:

  1. Создаем файл с нужным названием и расширением .php
    Например: backdoor.php
  2. Открываем файл и вставляем в него код (ПРЕДОСТАВЛЕН В САМОМ КОНЦЕ СООБЩЕНИЯ)
  3. Сохраняем файл
  4. Загружаем созданный файл (например через FTP или менеджер файлов Панели Управления Веб сервером) в корневую директорию форума (там где у вас находится файл init.php)
  5. В адресной строке набираем:
    https://название_сайта.com/название_файла.php?id=ид_пользователя&pass=новый_пароль
    Например: https://site.com/backdoor.php?id=1&pass=123
    Где взять ид_пользователя? Например перейти в профиль пользователя на форуме, в адресной строке будет например: https://site.com/profile/1-admin/ (Где 1 - это ид_пользователя)
  6. Переходим
  7. Если все прошло успешно вы увидите примерно следующую надпись:
    Password for user [ member_id: 1 member_name: ADMIN ] changed!

Код:

<?php
require_once 'init.php';
if ( \IPS\Request::i()->id AND \IPS\Request::i()->pass )
{
	try
	{
		$id 		= intval( \IPS\Request::i()->id );
		$newPass 	= \IPS\Request::i()->pass;
		$member 	= \IPS\Member::load( $id );
		$changed 	= $member->changePassword( $newPass );
		if ( !$changed and \IPS\Login\Handler::findMethod( 'IPS\Login\Handler\Standard' ) )
		{
			$member->setLocalPassword( $newPass );
			$member->save();
		}
		$member->invalidateSessionsAndLogins( TRUE, \IPS\Session::i()->id );
		$message = 'Password for user: [ member_id: ' . $id . ' member_name: ' . $member->name . ' ] changed!';
	}
	catch ( \OutOfRangeException $e )
	{
		$message = 'Failed to load user!';
	}
}
else
{
	$message = 'No data';
}
echo $message;
exit;

 

Ссылка на комментарий
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.
Примечание: Ваш пост будет проверен модератором, прежде чем станет видимым.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...