shell bypass 403
<?php /** * @package akeebabackup * @copyright Copyright (c)2006-2024 Nicholas K. Dionysopoulos / Akeeba Ltd * @license GNU General Public License version 3, or later */ /** @var \Akeeba\Component\AkeebaBackup\Administrator\View\Schedule\HtmlView $this */ // Protect from unauthorized access defined('_JEXEC') || die(); use Akeeba\Engine\Platform; use Joomla\CMS\Language\Text; ?> <div class="card mb-3"> <h3 class="card-header"> <?= Text::_('COM_AKEEBABACKUP_SCHEDULE_LBL_JSONAPIBACKUP') ?> </h3> <div class="card-body"> <div class="alert alert-info"> <p> <?= Text::_('COM_AKEEBABACKUP_SCHEDULE_LBL_JSONAPIBACKUP_INFO') ?> </p> </div> <?php if(!$this->croninfo->info->jsonapi): ?> <div class="alert alert-danger"> <p> <?= Text::_('COM_AKEEBABACKUP_SCHEDULE_LBL_JSONAPI_DISABLED') ?> </p> <p> <a href="<?= $this->enableJsonApiURL ?>" class="btn btn-primary"> <?= Text::_('COM_AKEEBABACKUP_SCHEDULE_BTN_ENABLE_JSONAPI') ?> </a> </p> </div> <?php elseif(!trim($this->croninfo->info->secret)): ?> <div class="alert alert-danger"> <p> <?= Text::_('COM_AKEEBABACKUP_SCHEDULE_LBL_FRONTEND_SECRET') ?> </p> <p> <a href="<?= $this->resetSecretWordURL ?>" class="btn btn-primary"> <?= Text::_('COM_AKEEBABACKUP_SCHEDULE_BTN_RESET_SECRETWORD') ?> </a> </p> </div> <?php else: ?> <h4><?= Text::_('COM_AKEEBABACKUP_SCHEDULE_LBL_JSONAPI_ARCCLI') ?></h4> <p> <?= Text::_('COM_AKEEBABACKUP_SCHEDULE_LBL_JSONAPI_ARCCLI_INTRO') ?> </p> <p> <?= Text::_('COM_AKEEBABACKUP_SCHEDULE_LBL_JSONAPI_ARCCLI_DOCKER') ?> </p> <p> <code><?= sprintf( 'docker run --rm ghcr.io/akeeba/remotecli backup --profile=%d --host="%s/%s" --secret="%s"', Platform::getInstance()->get_active_profile(), $this->escape($this->croninfo->info->root_url ), $this->escape($this->croninfo->json->path ), $this->escape($this->croninfo->info->secret ) ) ?></code> </p> <p> <?= Text::_('COM_AKEEBABACKUP_SCHEDULE_LBL_JSONAPI_ARCCLI_PHAR') ?> </p> <p> <code><?= sprintf( 'php remote.phar backup --profile=%d --host="%s/%s" --secret="%s"', Platform::getInstance()->get_active_profile(), $this->escape($this->croninfo->info->root_url ), $this->escape($this->croninfo->json->path ), $this->escape($this->croninfo->info->secret ) ) ?></code> </p> <h4> <?= Text::_('COM_AKEEBABACKUP_SCHEDULE_LBL_JSONAPI_OTHER') ?> </h4> <p> <?= Text::_('COM_AKEEBABACKUP_SCHEDULE_LBL_JSONAPI_INTRO') ?> </p> <table class="table table-striped"> <tbody> <tr> <td> <?= Text::_('COM_AKEEBABACKUP_SCHEDULE_LBL_JSONAPI_ENDPOINT')?> </td> <td> <?= $this->escape($this->croninfo->info->root_url )?>/<?= $this->escape($this->croninfo->json->path) ?> </td> </tr> <tr> <td> <?= Text::_('COM_AKEEBABACKUP_SCHEDULE_LBL_JSONAPI_SECRET') ?> </td> <td> <?= $this->escape($this->croninfo->info->secret) ?> </td> </tr> </tbody> </table> <p> <small> <?= Text::_('COM_AKEEBABACKUP_SCHEDULE_LBL_JSONAPI_DISCLAIMER') ?> </small> </p> <?php endif ?> </div> </div>