shell bypass 403

UnknownSec Shell


name : UpdateController.php
<?php

namespace App\Http\Controllers;

use App\Helpers\DatabaseManager;
use App\Helpers\EnvironmentManager;
use App\Helpers\MigrationsHelper;
use App\Helpers\PermissionsChecker;
use App\Helpers\RequirementsChecker;
use App\Library\Tool;
use App\Models\AppConfig;
use Database\Seeders\Countries;
use Exception;
use Illuminate\Http\RedirectResponse;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Validator;
use Illuminate\Support\Facades\Artisan;
use Symfony\Component\Console\Output\BufferedOutput;


class UpdateController extends Controller
{
    use MigrationsHelper;

    /**
     * @var RequirementsChecker
     */
    protected $requirements;
    protected $EnvironmentManager;


    /**
     * @param  RequirementsChecker  $checker
     * @param  EnvironmentManager  $environmentManager
     * @param  DatabaseManager  $databaseManager
     */
    public function __construct(RequirementsChecker $checker, EnvironmentManager $environmentManager, DatabaseManager $databaseManager)
    {
        $this->requirements       = $checker;
        $this->EnvironmentManager = $environmentManager;
        $this->databaseManager    = $databaseManager;
    }

    public function welcome()
    {
        if (config('app.stage') == 'demo') {
            return redirect()->back()->with([
                    'status'  => 'error',
                    'message' => 'Sorry!! This feature is not available in demo mode',
            ]);
        }

        if (config('app.version') == '3.4.0') {
            return redirect()->back()->with([
                    'status'  => 'success',
                    'message' => 'You are already in latest version',
            ]);
        }

        $phpSupportInfo = $this->requirements->checkPHPversion(
                config('installer.core.minPhpVersion')
        );
        $requirements   = $this->requirements->check(
                config('installer.requirements')
        );

        $pageConfigs = [
                'bodyClass' => "bg-full-screen-image",
                'blankPage' => true,
        ];

        $getPermissions = new PermissionsChecker();

        $permissions = $getPermissions->check(
                config('installer.permissions')
        );

        return view('Installer.update.welcome', compact('requirements', 'phpSupportInfo', 'pageConfigs', 'permissions'));
    }


    /**
     * @param  Request  $request
     * @param  BufferedOutput  $outputLog
     *
     * @return RedirectResponse
     */
    public function verifyProduct(Request $request, BufferedOutput $outputLog): RedirectResponse
    {

        $v = Validator::make($request->all(), [
                'purchase_code' => 'required|string|min:15',
        ]);

        if ($v->fails()) {
            return redirect()->route('Updater::welcome')->withErrors($v->errors());
        }

        $purchase_code = $request->input('purchase_code');
        $domain_name   = config('app.url');
        $input         = trim($domain_name, '/');
        $urlParts      = parse_url($input);
        $domain_name   = preg_replace('/^www\./', '', $urlParts['host']);

        $post_data = [
                'purchase_code' => $purchase_code,
                'domain'        => $domain_name,
        ];


        $ch = curl_init();
        curl_setopt($ch, CURLOPT_URL, 'https://ultimatesms.codeglen.com/verify/');
        curl_setopt($ch, CURLOPT_POST, 1);
        curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($post_data));
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
        curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
        curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
        $data = curl_exec($ch);
        curl_close($ch);

        $get_data = json_decode($data, true);

        if (is_array($get_data) && array_key_exists('status', $get_data)) {
            if ($get_data['status'] == 'success') {

                try {

                    Artisan::call('optimize:clear');
                    Artisan::call('migrate', ['--force' => true], $outputLog);
                    Tool::versionSeeder(config('app.version'));

                    AppConfig::setEnv('APP_VERSION', '3.4.0');

                    return redirect()->route('login')->with([
                            'status'  => 'success',
                            'message' => 'You have successfully updated your application.',
                    ]);
                } catch (Exception $e) {

                    return redirect()->route('Updater::welcome')->with([
                            'status'  => 'error',
                            'message' => $e->getMessage(),
                    ]);

                }
            }

            return redirect()->route('Updater::welcome')->with([
                    'message' => $get_data['msg'],
                    'status'  => 'error',
            ]);
        }

        return redirect()->route('Updater::welcome')->with([
                'message' => 'Invalid request',
                'status'  => 'error',
        ]);
    }
}

© 2025 UnknownSec
afwwrfwafr45458465
Password