phreak79
Fri 21st Mar '08, 2:13pm
Hi all,
I've been offline for the past week or so and havn't been able to update to the latest stable version of 3.7 and I've got a huuuuuge problem.
My host sent an email mentioned memory dumps last Saturday and that they were moving me to another server until it was fixed. As mentioned, I havn't been online this week and having finally got into mySQL today it seems that the user table has vanished. I'm getting an absolute shed load of:
MySQL Error : Table 'mydb.forumuser' doesn't exist
Error Number : 1146
Date : Sunday, March 16th 2008 @ 02:31:30 AM
Script : myurl.com (http://www.theenvironmentsite.org/forum/fossil-fuels-peak-oil-forum/1419-oil-price-wont-come-down-yet.html)
Referrer :
IP Address : 74.6.27.134
Username : Unregistered
Classname : vB_Database
MySQL Version :
So, two questions from the good folks here.
1) Is this a vulnerability in vB or have my hosts somehow lost this table when moving things over to the new server?
2) I obviously don't want these error messages but can't figure out how to shut the forum down via the database (as obviously without a usertable I can't login to do it via vB)
Slightly bricking it here so any insight greatly appreciated.
bonjurkes
Fri 21st Mar '08, 2:22pm
there is a table called user, not forumuser.
phreak79
Fri 21st Mar '08, 2:24pm
forum is the precursor I use for my forum tables. The user table has gone!
Wayne Luke
Fri 21st Mar '08, 2:36pm
The hosts would have lost it... MySQL controls tables and their existance. vBulletin just requests access to them.
Here are the queries to turn off your forums:
UPDATE datastore SET data=REPLACE(data,'s:8:"bbactive";i:1;','s:8:"bbactive";i:0;') WHERE title='options';
UPDATE setting SET value=0 WHERE varname='bbactive';
phreak79
Fri 21st Mar '08, 2:52pm
And there's no chance that the site has been hacked? At the time things started going wrong my host complained of a memory dump?
Wayne Luke
Fri 21st Mar '08, 3:02pm
There is a chance but to delete the table they would need direct access to the database.
Your host would have to restore the table from a backup or you will lost all your members and need to reinstall.
phreak79
Fri 21st Mar '08, 3:05pm
Ok, so there's no way of doing some kind of SQL query via the vB interface.
I'm aware of the predicament regarding backups. They offer a 3-day backup but I havn't been able to access my cPanel for almost a week. I despair of this business sometimes.
Wayne Luke
Fri 21st Mar '08, 3:17pm
You can recreate the table with this query:
CREATE TABLE forumuser (
userid INT UNSIGNED NOT NULL AUTO_INCREMENT,
usergroupid SMALLINT UNSIGNED NOT NULL DEFAULT '0',
membergroupids CHAR(250) NOT NULL DEFAULT '',
displaygroupid SMALLINT UNSIGNED NOT NULL DEFAULT '0',
username VARCHAR(100) NOT NULL DEFAULT '',
password CHAR(32) NOT NULL DEFAULT '',
passworddate date NOT NULL DEFAULT '0000-00-00',
email CHAR(100) NOT NULL DEFAULT '',
styleid SMALLINT UNSIGNED NOT NULL DEFAULT '0',
parentemail CHAR(50) NOT NULL DEFAULT '',
homepage CHAR(100) NOT NULL DEFAULT '',
icq CHAR(20) NOT NULL DEFAULT '',
aim CHAR(20) NOT NULL DEFAULT '',
yahoo CHAR(32) NOT NULL DEFAULT '',
msn CHAR(100) NOT NULL DEFAULT '',
skype CHAR(32) NOT NULL DEFAULT '',
showvbcode SMALLINT UNSIGNED NOT NULL DEFAULT '0',
showbirthday SMALLINT UNSIGNED NOT NULL DEFAULT '2',
usertitle CHAR(250) NOT NULL DEFAULT '',
customtitle SMALLINT NOT NULL DEFAULT '0',
joindate INT UNSIGNED NOT NULL DEFAULT '0',
daysprune SMALLINT NOT NULL DEFAULT '0',
lastvisit INT UNSIGNED NOT NULL DEFAULT '0',
lastactivity INT UNSIGNED NOT NULL DEFAULT '0',
lastpost INT UNSIGNED NOT NULL DEFAULT '0',
lastpostid INT UNSIGNED NOT NULL DEFAULT '0',
posts INT UNSIGNED NOT NULL DEFAULT '0',
reputation INT NOT NULL DEFAULT '10',
reputationlevelid INT UNSIGNED NOT NULL DEFAULT '1',
timezoneoffset CHAR(4) NOT NULL DEFAULT '',
pmpopup SMALLINT NOT NULL DEFAULT '0',
avatarid SMALLINT NOT NULL DEFAULT '0',
avatarrevision INT UNSIGNED NOT NULL DEFAULT '0',
profilepicrevision INT UNSIGNED NOT NULL DEFAULT '0',
sigpicrevision INT UNSIGNED NOT NULL DEFAULT '0',
options INT UNSIGNED NOT NULL DEFAULT '15',
birthday CHAR(10) NOT NULL DEFAULT '',
birthday_search DATE NOT NULL DEFAULT '0000-00-00',
maxposts SMALLINT NOT NULL DEFAULT '-1',
startofweek SMALLINT NOT NULL DEFAULT '1',
ipaddress CHAR(15) NOT NULL DEFAULT '',
referrerid INT UNSIGNED NOT NULL DEFAULT '0',
languageid SMALLINT UNSIGNED NOT NULL DEFAULT '0',
emailstamp INT UNSIGNED NOT NULL DEFAULT '0',
threadedmode SMALLINT UNSIGNED NOT NULL DEFAULT '0',
autosubscribe SMALLINT NOT NULL DEFAULT '-1',
pmtotal SMALLINT UNSIGNED NOT NULL DEFAULT '0',
pmunread SMALLINT UNSIGNED NOT NULL DEFAULT '0',
salt CHAR(3) NOT NULL DEFAULT '',
ipoints INT UNSIGNED NOT NULL DEFAULT '0',
infractions INT UNSIGNED NOT NULL DEFAULT '0',
warnings INT UNSIGNED NOT NULL DEFAULT '0',
infractiongroupids VARCHAR (255) NOT NULL DEFAULT '',
infractiongroupid SMALLINT UNSIGNED NOT NULL DEFAULT '0',
adminoptions INT UNSIGNED NOT NULL DEFAULT '0',
profilevisits INT UNSIGNED NOT NULL DEFAULT '0',
friendcount INT UNSIGNED NOT NULL DEFAULT '0',
friendreqcount INT UNSIGNED NOT NULL DEFAULT '0',
vmunreadcount INT UNSIGNED NOT NULL DEFAULT '0',
vmmoderatedcount INT UNSIGNED NOT NULL DEFAULT '0',
socgroupinvitecount INT UNSIGNED NOT NULL DEFAULT '0',
socgroupreqcount INT UNSIGNED NOT NULL DEFAULT '0',
pcunreadcount INT UNSIGNED NOT NULL DEFAULT '0',
pcmoderatedcount INT UNSIGNED NOT NULL DEFAULT '0',
gmmoderatedcount INT UNSIGNED NOT NULL DEFAULT '0',
PRIMARY KEY (userid),
KEY usergroupid (usergroupid),
KEY username (username),
KEY birthday (birthday, showbirthday),
KEY birthday_search (birthday_search),
KEY referrerid (referrerid)
)
You will most likely want to truncate (TRUNCATE tablename), the following tables as well: userfield, usertextfield, sigparsed, usercsscache, userchangelog, usergroupleader, moderator, usernote, pm, pmtext, pmreceipt, picture, passwordhistory, customprofilepic, customavatar, and album. Make sure to add your forum prefix to the beginning of each table name.
In order to login you will need to register a new user and follow these instructions:
In the vBulletin's .zip file you can find a directory called 'do_not_upload/'. Inside this directory is a file called 'tools.php'. Upload this file into your forum's admincp/ directory.
Then go to the admincp/tools.php with your browser.
At the bottom of the tools page is an option to 'Reset Admin Access'. Run it with the just newly registered username.
You have just made yourself admin. And you need this because you should now login to the admincp/ and find the user who's password you've lost. Search for this user and when found you will see the whole profile. Including a password field.
Set a new password.
Go to the main forum and log out as the new user, and try to login with the old admin account. This should work now. If it does not work contact vBulletin Support again.
When it works, go back into the admin control panel and find the newly registered user. The profile page will have a dropdown in the top, from there select delete and delete the temporary admin.
Then delete the tools.php file. It is a potential security risk if you leave it on-line.
Finally, as new people register, any existing posts and threads will be assigned to their user ID, whether they created it originally or not.
phreak79
Fri 21st Mar '08, 3:44pm
I've uploaded that and get an error message relating to a file in the /install/ folder, so I presume that needs uploading too?
Wayne Luke
Fri 21st Mar '08, 6:12pm
Yes. Only file that should be deleted after installation is install/install.php. No other files should be deleted or moved within the installation.
vBulletin® v3.8.0 Beta 3, Copyright ©2000-2008, Jelsoft Enterprises Ltd.