IBResource Опубликовано 17 Января 2005 Жалоба Поделиться Опубликовано 17 Января 2005 (изменено) Найдена потенциальная уязвимость, возможная в Invision Power Board 1.3.x и 2.0.x. Основной архив для скачивания Invision Power Board обновлен. Ниже приведены инструкции по исправлению возможных уязвимостей. Все в одном файле — post_parser.php. Если у вас чистый IPB 2.0.x, то можете скачать обновленный файл:http://forums.invisionpower.com/index.php?...pe=post&id=5692 Если у вас чистый IPB 1.3.x, то можете скачать обновленный файл:http://forums.invisionpower.com/index.php?...pe=post&id=5691 Для ручного исправления смотрите пожалуйста ниже. Для 1.3.x исправление следующее:1. В файле sources/lib/post_parser.php найти: else if ($IN['s'] == 'col') { return "<span style='color:".$IN['1']."'>".$IN['2']."</span>"; } else if ($IN['s'] == 'font') { return "<span style='font-family:".$IN['1']."'>".$IN['2']."</span>"; }заменить на: else if ($IN['s'] == 'col') { $IN[1] = preg_replace( "/[^\d\w\#\s]/s", "", $IN[1] ); return "<span style='color:".$IN['1']."'>".$IN['2']."</span>"; } else if ($IN['s'] == 'font') { $IN['1'] = preg_replace( "/[^\d\w\#\-\_\s]/s", "", $IN['1'] ); return "<span style='font-family:".$IN['1']."'>".$IN['2']."</span>"; } Все. Теперь закройте файл и загрузите его на сервер. Для 2.0.x исправление следующее: 1. В файле sources/lib/post_parser.php найти код: $IN['1'] = preg_replace( "/[&\(\)\.\%]/", "", $IN['1'] );Заменить на: $IN['1'] = preg_replace( "/[&\(\)\.\%\[\]<>]/", "", $IN['1'] );2. Далее найти: $IN['1'] = $IN['1'] + 7;Заменить на: $IN['1'] = intval($IN['1']) + 7;3. Далее найти: else if ($IN['s'] == 'col') { return "<span style='color:".$IN['1']."'>".$IN['2']."</span>"; } else if ($IN['s'] == 'font') { return "<span style='font-family:".$IN['1']."'>".$IN['2']."</span>"; }Заменить на: else if ($IN['s'] == 'col') { $IN[1] = preg_replace( "/[^\d\w\#\s]/s", "", $IN[1] ); return "<span style='color:".$IN[1]."'>".$IN['2']."</span>"; } else if ($IN['s'] == 'font') { $IN['1'] = preg_replace( "/[^\d\w\#\-\_\s]/s", "", $IN['1'] ); return "<span style='font-family:".$IN['1']."'>".$IN['2']."</span>"; } Все. Теперь закройте файл и загрузите его на сервер. Изменено 17 Января 2005 пользователем Vitaly Ссылка на комментарий Поделиться на других сайтах Прочее
Рекомендуемые сообщения