!C99Shell v. 2.0 [PHP 7 Update] [25.02.2019]!

Software: Apache. PHP/5.6.40 

uname -a: Linux cpanel06wh.bkk1.cloud.z.com 2.6.32-954.3.5.lve1.4.80.el6.x86_64 #1 SMP Thu Sep 24
01:42:00 EDT 2020 x86_64
 

uid=851(cp949260) gid=853(cp949260) groups=853(cp949260) 

Safe-mode: OFF (not secure)

/opt/alt/python37/lib/python3.7/site-packages/clconfig/   drwxr-xr-x
Free 234.04 GB of 981.82 GB (23.84%)
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Feedback    Self remove    Logout    


Viewing file:     db_info_lib.py (3.47 KB)      -rw-r--r--
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
# -*- coding: utf-8 -*-

# Copyright © Cloud Linux GmbH & Cloud Linux Software, Inc 2010-2019 All Rights Reserved
#
# Licensed under CLOUD LINUX LICENSE AGREEMENT
# http://cloudlinux.com/docs/LICENSE.TXT
from __future__ import absolute_import
import re
import os
from clcommon.utils import run_command, ExternalProgramFailed


class MysqlInfo(object):
    def __init__(self):
        self.mysqld_v = self.retrieve_server_info()

    @staticmethod
    def get_binary():
        """
        Find mysql server binary
        :return: path to mysql binary
        """
        try:
            os.stat('/usr/sbin/mysqld')
            return '/usr/sbin/mysqld'
        except OSError:
            return '/usr/libexec/mysqld'

    def retrieve_server_info(self):
        """
        Get server information through `<mysql_server_binary> -V` command
        :return: full command output
        """
        try:
            return run_command([self.get_binary(), '-V'])
        except ExternalProgramFailed:
            # may be no such file or unknown error happen
            return None

    def get(self):
        """
        Return gathered data
        :return: dict(
            'vendor': MySQL|MariaDB|Percona,
            'version': server version in the form of {major}.{minor} or {major}.{minor}-{release} for percona,
            'cll-lve': patches from CL applied or not (True|False)
        )
        """
        return {
            'vendor': self.get_vendor(),
            'version': self.get_version(),
            'cll-lve': self.is_patched()
        }

    def get_vendor(self):
        """
        Extract MySQL vendor from server info
        :return: MySQL|MariaDB|Percona or
                `unknown` if failed to apply regex or
                None if there is no server info (this usually means that there are no MySQL installed)
        """
        if self.mysqld_v is None:
            return None
        # regex to find vendor -- something, starting from round bracket and followed by `Server`
        # (see test_clconfig_db_info_lib.py for detailed examples)
        p = re.compile(r'(?<=\().+(?=\sServer)')
        try:
            # we need only first word of first element
            return p.findall(self.mysqld_v)[0].split()[0]
        except IndexError:
            return 'unknown'

    def get_version(self):
        """
        Retrieve MySQL server version from server info
        :return: X.X.X e.g. 10.2.16|5.6.39, includes release for percona (X.X.X-X.X e.g. 5.6.40-84.0) or
                `unknown` if failed to apply regex or
                None if there is no server info (this usually means that there are no MySQL installed)
        """
        if self.mysqld_v is None:
            return None
        # regex to find version -- numbers, divided by `.` or `-` which go after `Ver`
        # (see test_clconfig_db_info_lib.py for detailed examples)
        p = re.compile(r'(?<=Ver\s)[0-9\.\-]+')
        try:
            # we need first element, also should sanitize from trailing `-`
            return p.findall(self.mysqld_v)[0].rstrip('-')
        except IndexError:
            return 'unknown'

    def is_patched(self):
        """
        Retrieve information about CL patch by `cll-lve` in server info
        :return: True if contains `cll-lve` seq
                False otherwise or
                None if there is no server info (this usually means that there are no MySQL installed)
        """
        if self.mysqld_v is None:
            return None
        return 'cll-lve' in self.mysqld_v

:: Command execute ::

Enter:
 
Select:
 

:: Search ::
  - regexp 

:: Upload ::
 
[ Read-Only ]

:: Make Dir ::
 
[ Read-Only ]
:: Make File ::
 
[ Read-Only ]

:: Go Dir ::
 
:: Go File ::
 

--[ c99shell v. 2.0 [PHP 7 Update] [25.02.2019] maintained by KaizenLouie | C99Shell Github | Generation time: 0.0138 ]--