Тема: Уязвимость в SMF 1.1.4
Rarih [Off] [#] (18.05.2008 / 03:06) |
При помощи специального SQL запроса можно получить хэш пароля в алгоритме sha1(strtolower($username).$password) после чего сбрутить его с помощью одной программки. Если у кого то включен register globals лучше его отключите!!!
PS (от Simple Machines Russian Community)
Судя по тому что код в smf 2.0 и smf 1.1.4 для данного участка почти идентичен, то делаем вывод что линейка smf 2.0 тоже имеет данную уезвимость. Исходя из анализа кода можно сделать вывод что фиксом данном проблемы будет добавление небольшого изменения в код файла Sources/QueryString.php
// We’ve got topic!
if (isset($_REQUEST[‘topic’]))
{
// Make sure its a string and not something else like an array
$_REQUEST[‘topic’] = (string) $_REQUEST[‘topic’];
// Slash means old, beta style, formatting. That’s okay though, the link should still work.
if (strpos($_REQUEST[‘topic’], ‘/’) !== false)
list ($_REQUEST[‘topic’], $_REQUEST[’start’]) = explode(‘/’, $_REQUEST[‘topic’]);
// Dots are useful and fun ;). This is ?topic=1.15.
elseif (strpos($_REQUEST[‘topic’], ‘.’) !== false)
list ($_REQUEST[‘topic’], $_REQUEST[’start’]) = explode(‘.’, $_REQUEST[‘topic’]); $topic = (int) $_REQUEST[‘topic’]; // Now make sure the online log gets the right number.
$_GET[‘topic’] = $topic;
}
после добавить
else
$topic = 0;
PSS поскольку я не программист то могу ошибаться но уязвимость связана именно с тем что не определена переменная $topic вследствии чего при
Цитата: Журнал Хакер
register_globals = ON можно определить $topic через COOKIE и обойти фильтрацию.
Данная Новость опубликована по материалам журнала Хакер!!!