Показать сообщение отдельно
Soniks вне форума      Старый Уязвимость в Coppermine Photo Gallery 1.3.* #1  
Soniks
Администратор
Регистрация: 16.01.2005
Сообщения: 4,814


Пожаловаться на это сообщениеОтветить с цитированием

Посмотреть профиль Отправить персональное сообщение для Soniks Посетить домашнюю страницу Soniks Найти все сообщения от Soniks Добавить Soniks в список друзей  
19.04.2005, 05:30

Продукт: Coppermine Photo Gallery
Версия: 1.3.x (и ниже)
URL: http://coppermine.sourceforge.net/
Описание:
Пользователи Галереи Coppermine могут отправить комментарии, содержащие IP адрес в переменной x-forwarded-for доступная только для глаз админа. Переменная X-Forwarded-for не проверяется и сразу записывается базу данных. Пользователь может определить / переопределить эту переменную. Тем самым применить XSS атаку или IP-спуфинг.

Устраняем уязвимость:
Откройте modules/coppermine/include/init.inc.php
Найдите:
PHP код:
 if (isset($HTTP_SERVER_VARS['HTTP_CLIENT_IP'])) {
    
$hdr_ip stripslashes($HTTP_SERVER_VARS['HTTP_CLIENT_IP']);
} else {
    if (isset(
$HTTP_SERVER_VARS['HTTP_X_FORWARDED_FOR'])) {
        
$hdr_ip stripslashes($HTTP_SERVER_VARS['HTTP_X_FORWARDED_FOR']);
    } else {
        
$hdr_ip $raw_ip;
    } 


Ниже добавьте:
PHP код:
 if (!preg_match('/^[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}$/'$raw_ip)) $raw_ip '0.0.0.0';
if (!
preg_match('/^[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}$/'$hdr_ip)) $hdr_ip '0.0.0.0'
 
"Если бы вам удалось надавать под зад человеку, виноватому в большинстве ваших неприятностей - вы бы неделю не смогли сидеть".