Strict Standards: Resource ID#39 used as offset, casting to integer (39) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/fm.class.php on line 401

Strict Standards: Resource ID#41 used as offset, casting to integer (41) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/fm.class.php on line 401

Strict Standards: Resource ID#42 used as offset, casting to integer (42) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/fm.class.php on line 401
ТвойWeb :: Версия для печати :: Обнаружена новая уязвимость в форуме ExBB [7]
ТвойWeb » » ExBB - лучший форум на файлах » Обнаружена новая уязвимость в форуме ExBB

Страниц (12): В начало « ... 3 4 5 6 [7] 8 9 10 11 ... » В конец
 

61. bestbets - 29 Апреля, 2006 - 07:02:15 - перейти к сообщению
да есть:
<meta name="description" content="ExBB Full Mods 0.1.3 Форум на PHP">
62. bestbets - 29 Апреля, 2006 - 07:04:44 - перейти к сообщению
Наверное толку уже от всего этого... Огорчение
Я поставил себе уже Invision Power Board v2.1.4 Улыбка
Тем не много на старом было немного около 30 штук и 200 сообщений, все вставил в виде цитат на новый форум
все равно спасибо Подмигивание
63. TvoyWeb - 29 Апреля, 2006 - 10:43:31 - перейти к сообщению
sawork
Эта проблема и ее решение описано в теме про фулл версии 0.1.4
64. fedorovych2 - 22 Мая, 2006 - 12:46:33 - перейти к сообщению
Я извеняюсь, но я не хакер и ничего не ломаю. На форумах я только зарегилса, но даже поста никакого не писал. Возможно я немного спамер но не хакер.
65. nokia6230 - 19 Июня, 2006 - 13:08:30 - перейти к сообщению
fedorovych2, слуш, я столько не курю, чтоб понять твой пост. Ха-ха
Ты хоть сам понял, что ты написал, и какое этот пост имеет отношение к этой теме? Не понял
66. _3V - 04 Августа, 2006 - 16:03:27 - перейти к сообщению
bestbets пишет:
Помогите пожалуйста Огорчение
все обнулилось к чертовой матери, при заходе в любой раздел форума все темы называются: [ # ]
Бэкапа нету...
переименовывал и перезаливал файл allforums_bak.php...
пробовал через админку и в опциях темы восстанавливать эффекта 0
Пробовал перезаливать файлы: List.php
Я в шоке... что теперь делать Огорчение

У меня на днях была та же проблемка.
в List.php - почти ничего.
Не пожалел времени, написал небольшой скриптец для восстаносления List.php из старого List.php (из бекапа) + из файлов тредов недостающую инфу (то чего нет в старом List.php).
Вроде заработало Улыбка
67. ETC - 04 Августа, 2006 - 16:58:57 - перейти к сообщению
ну раз написал -- делись с общественностью
68. TEiD - 04 Августа, 2006 - 17:05:22 - перейти к сообщению
ETC, _3V +1
69. _3V - 05 Августа, 2006 - 16:45:38 - перейти к сообщению
ETC пишет:
ну раз написал -- делись с общественностью


Вобщем, вот полностью листинг.
Так как делалось для себя, то сделано абы как, сорри Недовольство, огорчение
Я восстанавливал только один форум, соответственно и скрипт работает для одной папки с файлами топиков. Пеерменная $dirtoopen - путь к папке с топиками конкретного форума. Старый list.php я просто кинул в корень форума, назвал его __list.php (я все на локалхосте восстанавливал). Можно поправить путь к нужному list.php поправив строку
CODE:
$__topics = get_file($exbb['home_path'].'/__list.php')

Скрипт создает (опять же в корне файл !_list.php с данными, которые удалось взять из топиков и старого __list.php.
Если надо, могу дописать скрипт, чтобы он был более универсальным.
Но, вроде в full mods 0.1.4 с этим что то было сделано ? Собираюсь ставить на днях 0.1.4 .
CODE:
<body><pre>
<?
error_reporting(E_ALL);

$exbb = array();

include ('./data/boardinfo.php');
include('lib.php');

// --


// $dirtoopen = "/home/softmkcr/www/forum/forum1";
$dirtoopen = "x:/home/softmaker.com.ru/forum/forum1";

$__topics = get_file($exbb['home_path'].'/__list.php');

$topic_ids = get_dir($dirtoopen, '*-thd.php');
$topic_ids = str_replace("-thd.php", "", $topic_ids);

for($i = 0; $i < count($topic_ids); $i++)
$topic_ids[$i] = (int) $topic_ids[$i];

print("Topics in __list.php: ".count($__topics)."\r\n");

arsort($topic_ids);
$_t = Array();
reset($topic_ids);
for($i = 0; $i < count($topic_ids); $i++, next($topic_ids))
$_t[] = current($topic_ids);
$topic_ids = $_t;
unset($_t);



// var_dump($topic_ids);
// var_dump($__topics);

$del = array();

foreach($__topics as $key => $value)
{
if(array_search($key, $topic_ids) === false)
{
print($key."\r\n");
$del[] = $key;
}
}

for($i = 0; $i < count($del); $i++)
unset($__topics[$del[$i]]);

unset($del);
print("Topics in __list.php after clear: ".count($__topics)."\r\n");

// --

print("\r\n");

$__new_topics = Array();

for($i = 0; $i < count($topic_ids); $i++)
{
$nID = $topic_ids[$i];

if(!array_key_exists($nID, $__topics))
$__topics[$nID] = Array();

$aTop = $__topics[$nID];

$topic = get_file($exbb['home_path'].'forum1/'.$nID.'-thd.php');

// --

$_t = reset($topic);
$_e = end($topic);

if(!isset($aTop['name']))
{
if(isset($_t['name']))
$aTop['name'] = $_t['name'];
else
$aTop['name'] = '!!! for rename';
}

if(!isset($aTop['desc']))
{
if(isset($_t['desc']))
$aTop['desc'] = $_t['desc'];
}

if(!isset($aTop['state'])) $aTop['state'] = 'open';
$aTop['posts'] = count($topic);
if(!isset($aTop['views'])) $aTop['views'] = (int) round(rand(10, 50)) + (245 - $nID) * 2;


if(!isset($aTop['a_id']) || !isset($aTop['author']))
{
if(isset($_t['p_id']))
{
$_aID = $_t['p_id'];

$author = get_file($exbb['home_path'].'members/'.$_aID.'.php');

if(is_array($author))
{
$aTop['a_id'] = $_aID;
$aTop['author'] = $author['name'];
}
else
{
$aTop['a_id'] = 0;
$aTop['author'] = false;
}
}
else
{
$aTop['a_id'] = 0;
$aTop['author'] = false;
}
}

if(!isset($aTop['date'])) $aTop['date'] = -1;

if(!isset($aTop['p_id']) || !isset($aTop['poster']))
{
if(isset($_e['p_id']))
{
$_aID = $_e['p_id'];

$author = get_file($exbb['home_path'].'members/'.$_aID.'.php');

if(is_array($author))
{
$aTop['p_id'] = $_aID;
$aTop['poster'] = $author['name'];
}
else
{
$aTop['p_id'] = 0;
$aTop['poster'] = false;
}
}
else
{
$aTop['p_id'] = 0;
$aTop['poster'] = false;
}
}

if(!isset($aTop['postdate']))
{
$a = array_keys($topic);
$aTop['postdate'] = $a[0];
}

$__new_topics[$nID] = $aTop;
}

save_file($exbb['home_path'].'/!_list.php', $__new_topics);

?>
</pre></body>


Да, вот еще.
В строке
CODE:
if(!isset($aTop['views'])) $aTop['views'] = (int) round(rand(10, 50)) + (245 - $nID) * 2;

число 245 - количество тем в восстанавливаемом топике. Эта строчка - чтобы колическво просмотров в случайное число восстанавливалось. Можно написать:
CODE:
if(!isset($aTop['views'])) $aTop['views'] = 0;

чтобы было 0 просмотров.

Сорри, если объяснение сумбурно.
70. Alex_ - 13 Августа, 2006 - 02:47:49 - перейти к сообщению
Пользователь установил себе права админа и указал на эту статью, решение на форуме через поисковик не нашел, понятно что закачку аватар отключить, но все же кто ни будь уже подымал этот вопрос, а главное есть ли патч?


Цитата:
From: Алексей Кулаев <kaffeinmd_(at)_rambler.ru>
Date: 20 февраля 2006 г.
Subject: Уязвимость в форуме ExBB

Здравствуйте! Хотел бы поделится уязвимостью в форуме ExBB. Пока нигде
не видел, чтобы эта уязвимость была опубликована. Уязвимость вроде бы
должна существовать в любых версиях (но я тестировал ее на 1.9.1). Вот
сама уязвимость, которая существует, если на форуме включена поддержка
загрузки собственных аватар:
В файле "profile.php" не фильтруется переменная $vars['default_lang']
на наличие посторонних символов.
Таким образом, если залить на форум свою аватарку в виде, например,
PHP веб-шелла с расширением .jpg или каким-либо другим
(gif,jpg,bmp,png,jpeg,pjpeg), то затем эту аватарку можно исполнить
как PHP код. Для этого необходимо передать скрипту редактирования
профиля параметр "default_lang" (через POST) с относительным путем до
нашей аватарки и в конце вставить символ "%00" (без кавычек,
естественно). После того, как форум проглотит все это, он запишет
$vars['default_lang'] в переменную $inuser['lang'], которая, в свою
очередь, передаст значение в $exbb['default_lang']. В форуме язык
подключается следующим образом:
include('./language/' . $exbb['default_lang'] . '/lang.php'Подмигивание;

А это значит, что уязвимость действительно существует, ведь можно из
этого сделать следующее:
include('./language/../im/avatars/personal/5-avatar.jpg%00/lang.
php'Подмигивание;

Здесь 5-avatar.jpg - имя файлика с нашей аватаркой.

С уважением, Кулаев Алексей aka KaffeiN.

Форум на AlfaSpace.NET


Powered by ExBB
ExBB FM 1.0 RC1 by TvoyWeb.ru
InvisionExBB Style converted by Markus®

[Script Execution time: 0.0481]     [ Gzipped ]