Linux sh52.ich-4.com 5.14.0-611.26.1.el9_7.x86_64 #1 SMP PREEMPT_DYNAMIC Thu Jan 29 05:24:47 EST 2026 x86_64
LiteSpeed
Server IP : 198.143.147.58 & Your IP : 216.73.217.21
Domains :
Cant Read [ /etc/named.conf ]
User : actualbuzz
Terminal
Auto Root
Create File
Create Folder
Localroot Suggester
Backdoor Destroyer
Readme
/
opt /
cpanel /
ea-wappspector /
src /
Matchers /
Delete
Unzip
Name
Size
Permission
Date
Action
CakePHP.php
1.02
KB
-rw-r--r--
2026-05-12 18:46
CodeIgniter.php
1.14
KB
-rw-r--r--
2026-05-12 18:46
Composer.php
1.09
KB
-rw-r--r--
2026-05-12 18:46
DotNet.php
1.05
KB
-rw-r--r--
2026-05-12 18:46
Drupal.php
1.63
KB
-rw-r--r--
2026-05-12 18:46
Duda.php
1.72
KB
-rw-r--r--
2026-05-12 18:46
EmDash.php
813
B
-rw-r--r--
2026-05-12 18:46
Joomla.php
3.79
KB
-rw-r--r--
2026-05-12 18:46
Laravel.php
1.9
KB
-rw-r--r--
2026-05-12 18:46
MatcherInterface.php
343
B
-rw-r--r--
2026-05-12 18:46
NodeJs.php
866
B
-rw-r--r--
2026-05-12 18:46
Php.php
1.07
KB
-rw-r--r--
2026-05-12 18:46
Prestashop.php
1.41
KB
-rw-r--r--
2026-05-12 18:46
Python.php
742
B
-rw-r--r--
2026-05-12 18:46
Ruby.php
713
B
-rw-r--r--
2026-05-12 18:46
Sitejet.php
976
B
-rw-r--r--
2026-05-12 18:46
Siteplus.php
1.79
KB
-rw-r--r--
2026-05-12 18:46
Sitepro.php
980
B
-rw-r--r--
2026-05-12 18:46
Symfony.php
905
B
-rw-r--r--
2026-05-12 18:46
Typo3.php
1.77
KB
-rw-r--r--
2026-05-12 18:46
UpLevelMatcherTrait.php
982
B
-rw-r--r--
2026-05-12 18:46
WebPresenceBuilder.php
1.97
KB
-rw-r--r--
2026-05-12 18:46
Wordpress.php
1.48
KB
-rw-r--r--
2026-05-12 18:46
Yii.php
1.64
KB
-rw-r--r--
2026-05-12 18:46
Save
Rename
<?php namespace Plesk\Wappspector\Matchers; use League\Flysystem\Filesystem; use League\Flysystem\FilesystemException; use Plesk\Wappspector\MatchResult\EmptyMatchResult; use Plesk\Wappspector\MatchResult\Joomla as MatchResult; use Plesk\Wappspector\MatchResult\MatchResultInterface; class Joomla implements MatcherInterface { private const CONFIG_FILE = 'configuration.php'; /** * Joomla has changed the way how the version number is stored multiple times, so we need this comprehensive array */ private const VERSION = [ "files" => [ "/includes/version.php", "/libraries/joomla/version.php", "/libraries/cms/version/version.php", "/libraries/src/Version.php", ], "regex_release" => "/\\\$?RELEASE\s*=\s*'([\d.]+)';/", "regex_devlevel" => "/\\\$?DEV_LEVEL\s*=\s*'([^']+)';/", "regex_major" => "/\\\$?MAJOR_VERSION\s*=\s*([\d.]+);/", "regex_minor" => "/\\\$?MINOR_VERSION\s*=\s*([\d.]+);/", "regex_patch" => "/\\\$?PATCH_VERSION\s*=\s*([\d.]+);/", ]; /** * @throws FilesystemException */ private function isJoomla(Filesystem $fs, string $path): bool { $configFile = rtrim($path, '/') . '/' . self::CONFIG_FILE; if (!$fs->fileExists($configFile)) { return false; } $configContents = $fs->read($configFile); if ( stripos($configContents, 'JConfig') === false && stripos($configContents, 'mosConfig') === false ) { return false; } // False positive "Akeeba Backup Installer" if (stripos($configContents, 'class ABIConfiguration') !== false) { return false; } // False positive mock file in unit test folder if (stripos($configContents, 'Joomla.UnitTest') !== false) { return false; } // False positive mock file in unit test folder return stripos($configContents, "Joomla\Framework\Test") === false; } /** * @throws FilesystemException */ private function detectVersion(Filesystem $fs, string $path): ?string { // Iterate through version files foreach (self::VERSION['files'] as $file) { $versionFile = rtrim($path, '/') . '/' . $file; if (!$fs->fileExists($versionFile)) { continue; } $fileContents = $fs->read($versionFile); preg_match(self::VERSION['regex_major'], $fileContents, $major); preg_match(self::VERSION['regex_minor'], $fileContents, $minor); preg_match(self::VERSION['regex_patch'], $fileContents, $patch); if (count($major) && count($minor) && count($patch)) { return $major[1] . '.' . $minor[1] . '.' . $patch[1]; } if (count($major) && count($minor)) { return $major[1] . '.' . $minor[1] . 'x'; } if ($major !== []) { return $major[1] . '.x.x'; } // Legacy handling for all version < 3.8.0 preg_match(self::VERSION['regex_release'], $fileContents, $release); preg_match(self::VERSION['regex_devlevel'], $fileContents, $devlevel); if (count($release) && count($devlevel)) { return $release[1] . '.' . $devlevel[1]; } if ($release !== []) { return $release[1] . '.x'; } } return null; } /** * @throws FilesystemException */ public function match(Filesystem $fs, string $path): MatchResultInterface { if (!$this->isJoomla($fs, $path)) { return new EmptyMatchResult(); } return new MatchResult($path, $this->detectVersion($fs, $path)); } }