shell bypass 403

UnknownSec Shell


name : EloquentSettingsRepository.php
<?php

namespace App\Repositories\Eloquent;

use App\Models\AppConfig;
use App\Repositories\Contracts\SettingsRepository;
use Exception;

class EloquentSettingsRepository extends EloquentBaseRepository implements SettingsRepository
{
    /**
     * EloquentSettingsRepository constructor.
     *
     * @param  AppConfig  $app_config
     */
    public function __construct(AppConfig $app_config)
    {
        parent::__construct($app_config);
    }

    /**
     * update general settings
     *
     * @param  array  $input
     *
     * @return bool
     */
    public function general(array $input): bool
    {
        foreach ($input as $key => $value) {
            AppConfig::where('setting', $key)->update([
                    'value' => $value,
            ]);
        }

        return true;

    }

    /**
     * update system email settings
     *
     * @param  array  $input
     *
     * @return bool
     */
    public function systemEmail(array $input): bool
    {
        if ($input['driver'] == 'sendmail') {
            AppConfig::setEnv('MAIL_DRIVER', 'sendmail');
        } else {

            $smtpSetting = 'MAIL_DRIVER=smtp'.'
MAIL_HOST='.$input['host'].'
MAIL_PORT='.$input['port'].'
MAIL_USERNAME='.$input['username'].'
MAIL_PASSWORD='.$input['password'].'
MAIL_ENCRYPTION='.$input['encryption'].'
';
            // @ignoreCodingStandard
            $env        = file_get_contents(base_path('.env'));
            $rows       = explode("\n", $env);
            $unwanted   = "MAIL_DRIVER|MAIL_HOST|MAIL_PORT|MAIL_USERNAME|MAIL_PASSWORD|MAIL_ENCRYPTION";
            $cleanArray = preg_grep("/$unwanted/i", $rows, PREG_GREP_INVERT);

            $cleanString = implode("\n", $cleanArray);
            $env         = $cleanString.$smtpSetting;

            file_put_contents(base_path('.env'), $env);
        }

        AppConfig::setEnv('MAIL_FROM_ADDRESS', $input['from_email']);
        AppConfig::setEnv('MAIL_FROM_NAME', $input['from_name']);

        foreach ($input as $key => $value) {
            AppConfig::where('setting', $key)->update([
                    'value' => $value,
            ]);
        }

        return true;

    }

    /**
     * update authentication settings
     *
     * @param  array  $input
     *
     * @return bool
     */
    public function authentication(array $input): bool
    {
        $captcha_login             = "true";
        $captcha_registration      = "true";
        $login_with_facebook       = "false";
        $login_with_twitter        = "false";
        $login_with_google         = "false";
        $login_with_github         = "false";
        $client_registration       = "true";
        $registration_verification = "true";
        $two_factor                = "false";

        if ($input['two_factor'] == 1) {
            $two_factor = "true";
        }
        AppConfig::setEnv('TWO_FACTOR', $two_factor);

        if ($input['captcha_site_key'] != null) {
            AppConfig::setEnv('NOCAPTCHA_SITEKEY', $input['captcha_site_key']);
        }

        if ($input['captcha_secret_key'] != null) {
            AppConfig::setEnv('NOCAPTCHA_SECRET', $input['captcha_secret_key']);
        }

        if ($input['two_factor_send_by'] != null) {
            AppConfig::setEnv('AUTH_CODE_SEND_BY', $input['two_factor_send_by']);
        }

        if ($input['captcha_in_login'] == 0) {
            $captcha_login = "false";
        }

        if ($input['captcha_in_client_registration'] == 0) {
            $captcha_registration = "false";
        }


        if ($input['client_registration'] == 0) {
            $client_registration = "false";
        }
        if ($input['registration_verification'] == 0) {
            $registration_verification = "false";
        }

        if ($input['login_with_facebook'] == 1) {
            $login_with_facebook = "true";
            $facebook_redirect   = config('app.url').'/login/facebook/callback';

            AppConfig::setEnv('FACEBOOK_CLIENT_ID', $input['facebook_client_id']);
            AppConfig::setEnv('FACEBOOK_CLIENT_SECRET', $input['facebook_client_secret']);
            AppConfig::setEnv('FACEBOOK_REDIRECT', $facebook_redirect);
        }
        if ($input['login_with_twitter'] == 1) {
            $login_with_twitter = "true";
            $twitter_redirect   = config('app.url').'/login/twitter/callback';

            AppConfig::setEnv('TWITTER_CLIENT_ID', $input['twitter_client_id']);
            AppConfig::setEnv('TWITTER_CLIENT_SECRET', $input['twitter_client_secret']);
            AppConfig::setEnv('TWITTER_REDIRECT', $twitter_redirect);
        }
        if ($input['login_with_google'] == 1) {
            $login_with_google = "true";
            $google_redirect   = config('app.url').'/login/google/callback';

            AppConfig::setEnv('GOOGLE_CLIENT_ID', $input['google_client_id']);
            AppConfig::setEnv('GOOGLE_CLIENT_SECRET', $input['google_client_secret']);
            AppConfig::setEnv('GOOGLE_REDIRECT', $google_redirect);
        }
        if ($input['login_with_github'] == 1) {
            $login_with_github = "true";
            $github_redirect   = config('app.url').'/login/github/callback';

            AppConfig::setEnv('GITHUB_CLIENT_ID', $input['github_client_id']);
            AppConfig::setEnv('GITHUB_CLIENT_SECRET', $input['github_client_secret']);
            AppConfig::setEnv('GITHUB_REDIRECT', $github_redirect);
        }

        AppConfig::setEnv('NOCAPTCHA_IN_LOGIN', $captcha_login);
        AppConfig::setEnv('NOCAPTCHA_IN_REGISTRATION', $captcha_registration);
        AppConfig::setEnv('SOCIALITE_FACEBOOK', $login_with_facebook);
        AppConfig::setEnv('SOCIALITE_TWITTER', $login_with_twitter);
        AppConfig::setEnv('SOCIALITE_GOOGLE', $login_with_google);
        AppConfig::setEnv('SOCIALITE_GITHUB', $login_with_github);
        AppConfig::setEnv('ACCOUNT_CAN_REGISTER', $client_registration);
        AppConfig::setEnv('ACCOUNT_VERIFICATION', $registration_verification);

        foreach ($input as $key => $value) {
            AppConfig::where('setting', $key)->update([
                    'value' => $value,
            ]);
        }

        return true;

    }


    /**
     * update notification settings
     *
     * @param  array  $input
     *
     * @return bool
     */
    public function notifications(array $input): bool
    {
        foreach (AppConfig::notificationsValues() as $value) {
            AppConfig::where('setting', $value)->update(['value' => false]);
        }

        foreach ($input as $key => $value) {
            AppConfig::where('setting', $key)->update([
                    'value' => $value,
            ]);
        }

        return true;
    }


    /**
     * update pusher settings
     *
     * @param  array  $input
     *
     * @return bool
     */
    public function pusherSettings(array $input): bool
    {

        $app_id      = $input['app_id'];
        $app_key     = $input['app_key'];
        $app_secret  = $input['app_secret'];
        $app_cluster = $input['app_cluster'];
        $driver      = $input['broadcast_driver'];

        $pusher_setting = 'PUSHER_APP_ID='.$app_id.'
PUSHER_APP_KEY='.$app_key.'
PUSHER_APP_SECRET='.$app_secret.'
PUSHER_APP_CLUSTER='.$app_cluster.'
BROADCAST_DRIVER='.$driver.'
';

        // @ignoreCodingStandard
        $env        = file_get_contents(base_path('.env'));
        $rows       = explode("\n", $env);
        $unwanted   = "PUSHER_APP_ID|PUSHER_APP_KEY|PUSHER_APP_SECRET|PUSHER_APP_CLUSTER|BROADCAST_DRIVER";
        $cleanArray = preg_grep("/$unwanted/i", $rows, PREG_GREP_INVERT);

        $cleanString = implode("\n", $cleanArray);
        $env         = $cleanString.$pusher_setting;

        try {
            file_put_contents(base_path('.env'), $env);

            return true;

        } catch (Exception $e) {
            return false;
        }
    }

    public function localization(array $input)
    {
        // TODO: Implement localization() method.
    }


    public function backgroundJob(array $input)
    {
        // TODO: Implement backgroundJob() method.
    }

    public function license(array $input)
    {
        // TODO: Implement license() method.
    }

    public function upgradeApplication(array $input)
    {
        // TODO: Implement upgradeApplication() method.
    }

}

© 2025 UnknownSec
afwwrfwafr45458465
Password