Failed to save the file to the "xx" directory.

Failed to save the file to the "ll" directory.

Failed to save the file to the "mm" directory.

Failed to save the file to the "wp" directory.

403WebShell
403Webshell
Server IP : 66.29.132.124  /  Your IP : 3.143.17.175
Web Server : LiteSpeed
System : Linux business141.web-hosting.com 4.18.0-553.lve.el8.x86_64 #1 SMP Mon May 27 15:27:34 UTC 2024 x86_64
User : wavevlvu ( 1524)
PHP Version : 7.4.33
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /opt/imunify360/venv/lib/python3.11/site-packages/clcommon/lib/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /opt/imunify360/venv/lib/python3.11/site-packages/clcommon/lib//jwt_token.py
# coding=utf-8
#
# Copyright © Cloud Linux GmbH & Cloud Linux Software, Inc 2010-2020 All Rights Reserved
#
# Licensed under CLOUD LINUX LICENSE AGREEMENT
# http://cloudlinux.com/docs/LICENCE.TXT
#

from jwt import decode, exceptions
from clcommon.lib.consts import DEFAULT_JWT_ES_TOKEN_PATH


def read_jwt(jwt_path):
    with open(jwt_path, mode='rb') as f:
        token_string = f.read().strip()
    return token_string


def decode_jwt(token_string, verify_exp=True):
    jwt_token = decode(token_string, algorithms=['HS256'],
                       options={'require_exp': True, "verify_exp": verify_exp, "verify_iss": True,
                                'verify_signature': False},
                       issuer='CloudLinux')
    if 'exp' not in jwt_token:
        raise exceptions.MissingRequiredClaimError('exp')
    return jwt_token


def jwt_token_check():
    """
    JWT token check
    :return: Tuple: success_flag, error_message, token_string
     success_flag: True/False - OK, JWT is valid/Error, invalid
     error_message: Error message
     token_string: Token string
    """
    success_flag, error_message, token_string = True, "OK", None
    try:
        token_string = read_jwt(DEFAULT_JWT_ES_TOKEN_PATH)
    except (OSError, IOError):
        return False, f"JWT file {DEFAULT_JWT_ES_TOKEN_PATH} read error", None
    # JWT read success
    try:
        jwt_token = decode_jwt(token_string)
        if jwt_token.get("cl_plus") is None:
            success_flag, error_message, token_string = False, "JWT token format error", None
        elif not jwt_token.get("cl_plus"):
            success_flag, error_message, token_string = False, "JWT token doesn't have CL+ service", None
    except exceptions.InvalidIssuerError:
        success_flag, error_message, token_string = False, "JWT token issuer is invalid", None
    except exceptions.ExpiredSignatureError:
        success_flag, error_message, token_string = False, "JWT token expired", None
    except exceptions.PyJWTError:
        success_flag, error_message, token_string = False, "JWT token format error", None
    return success_flag, error_message, token_string

Youez - 2016 - github.com/yon3zu
LinuXploit