Главная · База плагинов и модов · Форум · ПОИСК · Хостинг 24 октября 2018
Навигация
Главная
Новости
База плагинов и модов
FAQ
Форум
Cсылки
Обратная связь
ПОИСК
Карта сайта (тест)
Хостинг
Разработчикам
Счетчик


Rambler's Top100

отчет по мониторингу сайта

Спонсоры

CMS SmartFox

Сайт поддержки модифицированной версии PHP-Fusion

Сайт поддержки модифицированного PHP-Fusion


Каждому заказавшему хостинг от FirstVDS по реферальной ссылке - скидка 25%
Исправление уязвимости в php-fusion6 и php-fusion7
БагиНе совсем явная дыра, но тем неменее опасная при следующих условиях:
1. у вас стоит родная авторизация от 6 или 7ой версии
2. у вас пользователям разрешено показывать изображения с других сайтов (вставляя их тегами с прямыми ссылками на другие сайты, без загрузки на ваш сайт)
3. в открытом доступе по ссылке вида /profile.php?lookup=1 можно узнать логин пользователя по его ID

Техника взлома такая:
1. Юзер ставит изображение с своего сайта, например вам на форум тегом IMG, после этого он может записать ваши кукисы (это уже дело техники)
2. Ждет пока посмотрит нужный юзер, например админ.
3. из кукисов легко извлекается user_id, и зашифрованный пароль user_password
4. далее идет по ссылке /profile.php?lookup={user_id}, смотрит логин пользователя
5. вводит логин и зашифрованный пароль и успешно логинится на сайт

Исправляется следующим образом в maincore.php:
1) ищем строку:

$result = dbquery("SELECT * FROM ".DB_USERS." WHERE user_name='$user_name' AND (user_password='".md5($user_pass)."' OR user_password='$user_pass') LIMIT 1");

заменяем на

$result = dbquery("SELECT * FROM ".DB_USERS." WHERE user_name='$user_name' AND user_password='".md5($user_pass)."' LIMIT 1");

2) удаляем строку:

if ($data['user_password'] == $user_pass) {
$result = dbquery("UPDATE ".DB_USERS." SET user_password='".md5($user_pass)."' WHERE user_id='".$data['user_id']."'");
}


для пользователей php-fusion SF заменить нужно в 2 местах.

информация актуальна для php-fusion 6 (кроме старых), php-fusion 7, php-fusion SF
Комментарии
Neo_Allex 28 декабря 2008 02:47:10
А насчет 3-го пункта: в открытом доступе по ссылке вида /profile.php?lookup=1 можно узнать логин пользователя по его ID -- (я уже правда сонный, может чё не соображаю smiley )
Что с ним делать?
Нужно ли блокировать для неюзверей эту ссылку, и как это сделать....
СПСБ.
volchica 28 марта 2009 19:41:56
почему не бывает неуязвимых движков %)
Neo_Allex 03 апреля 2009 15:27:42
Наверное, как и не бывает неуязвимых людей.... тоесть, если люди не совершенны (в силу неких причин), то что говорить про их создания?...smiley
cordalorbest3 08 мая 2009 22:55:02
Зер гуд ставлю 5 балов.
adriendis54 13 мая 2009 18:41:28
Автор, а вы в каком городе живете если не секрет? Классно пишете!
Yabuthris87 23 мая 2009 13:33:18
мне оч нраффф!
kelenaya202 23 мая 2009 20:22:11
Шалишь, парниша (с)
Добавить комментарий
Пожалуйста залогиньтесь для добавления комментария.
Рейтинги
Рейтинг доступен только для пользователей.

Пожалуйста, залогиньтесь или зарегистрируйтесь для голосования.

Нет данных для оценки.
Гость
Имя

Пароль



Вы не зарегистрированы?
Нажмите здесь для регистрации.

Забыли пароль?
Запросите новый здесь.
Поиск
Поиск по сайтам поддержки PHP-Fusion
Тестирование модов
Плагин рейтинг сайтов
IPB - последние сообщения с форума
SMS Панель
Плагин каталога видео FLV
Мониторинг Quake3/Counter-Strike 1.6 Серверов
Панелька «Календарь Событий» для CMS Fusion – 7
[Panel] Топ 5 лучших юзеров
Спонсоры
Текстовая реклама на сайтах
0.024672031402588