
06-26-2004, 09:41 PM
|
 |
|
|
Join Date: Jun 2002
Location: Georgia, USA
Posts: 2,519
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
|
Quote:
Originally Posted by rabbitdog
I don't think this has been addressed, because I still see the unfixed code in the zip file available for download, so I'd like to point out the fact that there is a critical bug in the uShop change username action.
This affects all current installations of the uStore with this item available for purchase.
The issue is as follows:
The "sanity" check which queries the database to see if a user already exists before accepting a changed username will never find any matches. This is because of the usage of an empty (incorrect) variable in the query.
The result is that any user can change his or her username to that of an existing user.
Note that this does NOT change permissions, so a user changing his name to that of a mod or an admin will not inherit access to those functions.
Here is the fix:
1. Open action.changeusername.php, which is stored in the /uttstore/ directory
2. Change line 5 from:
PHP Code:
$changed = $DB_site->query_first("SELECT userid, username FROM ".TABLE_PREFIX."user WHERE username='".addslashes($data)."'");
to:
PHP Code:
$changed = $DB_site->query_first("SELECT userid, username FROM ".TABLE_PREFIX."user WHERE username='".addslashes($username)."'");
|
Nice catch. $data is used in several functions, but it looks like it shouldn't there.
Fixed for 0.95.
|