|
|
Новый эксплоит форума phpBB2. При вводе логина как """""""///"""""" и любого пароля, атакующий может по крайней мере получить полное имя к папке на сервере, где содержатся файлы. Ошибка сама по себе не является серьезной, но все же ставит под угрозу нежелательный вывод данных пользователю. Выход из ситуации - изменить файл login.php следующим обновлением Найти в файле login.php следуюший код: Для версии 2.06: $username = isset($HTTP_POST_VARS['username']) ? trim(htmlspecialchars($HTTP_POST_VARS['username'])) : '';
$username = substr(str_replace("\\'", "'", $username), 0, 25);
$username = str_replace("'", "\\'", $username);
$password = isset($HTTP_POST_VARS['password']) ? $HTTP_POST_VARS['password'] : '';
$sql = "SELECT user_id, username, user_password, user_active, user_level
FROM " . USERS_TABLE . "
WHERE username = '" . str_replace("\\'", "''", $username) . "' ";
Для версии после 2.06: $username = isset($HTTP_POST_VARS['username']) ? trim(htmlspecialchars($HTTP_POST_VARS['username'])) : '';
$username = isset($HTTP_POST_VARS['username']) ? phpbb_clean_username($HTTP_POST_VARS['username']) : '';
$password = isset($HTTP_POST_VARS['password']) ? $HTTP_POST_VARS['password'] : '';
$sql = "SELECT user_id, username, user_password, user_active, user_level
FROM " . USERS_TABLE . "
WHERE username = '" . str_replace("\\'", "''", $username) . "' ";
Заменить на следующий код для всех версий: $username = isset($HTTP_POST_VARS['username']) ? trim(htmlspecialchars($HTTP_POST_VARS['username'])) : '';
$username = isset($HTTP_POST_VARS['username']) ? phpbb_clean_username($HTTP_POST_VARS['username']) : '';
$username = addslashes($username);
$password = isset($HTTP_POST_VARS['password']) ? $HTTP_POST_VARS['password'] : '';
$sql = "SELECT user_id, username, user_password, user_active, user_level
FROM " . USERS_TABLE . "
WHERE username = '$username' ";
После этого обновления, такая ошибка более не будет показываться.
2004.12.02
|
|
|

WebMoney, WesternUnion, Банковские переводы в Германию, Contact-sys
|
|
|
|