В двух местах хака (если мне не изменяет память) есть вот такой код:
PHP код:
$vbulletin->users_nuke = $vbulletin->db->query_first("SELECT user_id, username, user_password, storynum, umode, uorder, thold, noscore, ublockon, theme, commentmax FROM " . TABLE_NUKE_PREFIX . "_users WHERE (user_id='".$vbulletin->userinfo['importuserid']."' AND username='".$vbulletin->userinfo['username']."')");
if($vbulletin->users_nuke['user_password']=="") $vbulletin->db->query_first("UPDATE " . TABLE_NUKE_PREFIX . "_users SET user_password='".addslashes($md5password)."' WHERE (user_id='".$vbulletin->userinfo['importuserid']."' AND username='".$vbulletin->userinfo['username']."')");
vbsetcookie("user",base64_encode("".$vbulletin->users_nuke['user_id'].":".$vbulletin->users_nuke['username'].":".$md5password.":".$vbulletin->users_nuke['storynum'].":".$vbulletin->users_nuke['umode'].":".$vbulletin->users_nuke['uorder'].":".$vbulletin->users_nuke['thold'].":".$vbulletin->users_nuke['noscore'].":".$vbulletin->users_nuke['ublockon'].":".$vbulletin->users_nuke['theme'].":".$vbulletin->users_nuke['commentmax'].":".$vbulletin->userinfo['userid'].""));
И в связи с этим вопрос:
где устанавливается значение переменной $md5password, т. к. у меня она почему-то оказывается пустой и куки оказываются некорректными. Нюк, увидев пустой пароль, естественно идентифицирует меня, как гостя.
Но если закомментировать строчку:
PHP код:
if($vbulletin->users_nuke['user_password']=="") $vbulletin->db->query_first("UPDATE " . TABLE_NUKE_PREFIX . "_users SET user_password='".addslashes($md5password)."' WHERE (user_id='".$vbulletin->userinfo['importuserid']."' AND username='".$vbulletin->userinfo['username']."')");
и заменить $md5password на $vbulletin->users_nuke['user_password'], то никаких проблем.
Так вот, мож кто знает, в чем дело? Нюк 7.9, вобла 3.6.4
И второй вопрос:
В каком виде vB хранит пароль юзера в базе?
я смотрел - хеши в таблицах нюка и vB совершенно разные!