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
Найдите:
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;
}
}
Ниже добавьте:
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';
Версия: 1.3.x (и ниже)
URL: http://coppermine.sourceforge.net/
Описание:
Пользователи Галереи Coppermine могут отправить комментарии, содержащие IP адрес в переменной x-forwarded-for доступная только для глаз админа. Переменная X-Forwarded-for не проверяется и сразу записывается базу данных. Пользователь может определить / переопределить эту переменную. Тем самым применить XSS атаку или IP-спуфинг.
Устраняем уязвимость:
Откройте modules/coppermine/include/init.inc.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;
}
}
Ниже добавьте:
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';