Недавно были найдены баги в популярнейшем двиге sPaize Nuke.
1. Уязвимость в модулях поиска, пример использования:
http://test.ru/modules.php?name=Articles&f...бла%20бла%20бла[XSS CODE]&cat_id=&type=articles
2. Уязвимость в админке, в модуле "переходы с сайтов". Баг позволяет внедрить в тело админки через параметр рефери скрипт. Рефери, содержащие html-код, будет восприниматься не как текст, а как код.
Закрываем баг:
search.php
Открываем файл modules/Articles/search.php, находим там 12 строку:
$pagetitle = _M_ART8." : ".$_GET['query'];
заменяем ее на:
$pagetitle = _M_ART8." : ".htmlspecialchars($_GET['query']);
Открываем файл modules/Files/search.php, находим там 12 строку:
$pagetitle = _M_FILES44." : ".$_GET['query'];
заменяем ее на:
$pagetitle = _M_FILES44." : ".htmlspecialchars($_GET['query']);
Открываем файл modules/Links/search.php, находим там 16 строку:
$pagetitle = _M_LINKS44." : ".$_GET['query'];
заменяем ее на:
$pagetitle = _M_LINKS44." : ".htmlspecialchars($_GET['query']);
header.php
ищем такие строки:
if ($config['http_ref'])
{
$referer = getenv("HTTP_REFERER");
if ($referer != "" AND !eregi("^unknown", $referer) AND !eregi("^bookmark",$referer) AND !strpos("$referer",$_SERVER["HTTP_HOST"]))
Заменяем на:
if ($config['http_ref'])
{
$referer = getenv("HTTP_REFERER");
$referer = htmlspecialchars($referer);
if ($referer != "" AND !eregi("^unknown", $referer) AND !eregi("^bookmark",$referer) AND !strpos("$referer",$_SERVER["HTTP_HOST"]))
1. Уязвимость в модулях поиска, пример использования:
http://test.ru/modules.php?name=Articles&f...бла%20бла%20бла[XSS CODE]&cat_id=&type=articles
2. Уязвимость в админке, в модуле "переходы с сайтов". Баг позволяет внедрить в тело админки через параметр рефери скрипт. Рефери, содержащие html-код, будет восприниматься не как текст, а как код.
Закрываем баг:
search.php
Открываем файл modules/Articles/search.php, находим там 12 строку:
$pagetitle = _M_ART8." : ".$_GET['query'];
заменяем ее на:
$pagetitle = _M_ART8." : ".htmlspecialchars($_GET['query']);
Открываем файл modules/Files/search.php, находим там 12 строку:
$pagetitle = _M_FILES44." : ".$_GET['query'];
заменяем ее на:
$pagetitle = _M_FILES44." : ".htmlspecialchars($_GET['query']);
Открываем файл modules/Links/search.php, находим там 16 строку:
$pagetitle = _M_LINKS44." : ".$_GET['query'];
заменяем ее на:
$pagetitle = _M_LINKS44." : ".htmlspecialchars($_GET['query']);
header.php
ищем такие строки:
if ($config['http_ref'])
{
$referer = getenv("HTTP_REFERER");
if ($referer != "" AND !eregi("^unknown", $referer) AND !eregi("^bookmark",$referer) AND !strpos("$referer",$_SERVER["HTTP_HOST"]))
Заменяем на:
if ($config['http_ref'])
{
$referer = getenv("HTTP_REFERER");
$referer = htmlspecialchars($referer);
if ($referer != "" AND !eregi("^unknown", $referer) AND !eregi("^bookmark",$referer) AND !strpos("$referer",$_SERVER["HTTP_HOST"]))