shell bypass 403

Cubjrnet7 Shell

: /usr/share/lve/modlscapi/user/__pycache__/ [ drwxr-xr-x ]

name : stat_utils.cpython-39.pyc
a

ABMf�$�@s�ddlZddlZddlZddlZddlZddlZddlmZddlm	Z	ddl
Z
Gdd�de�Zdd�Z
dd	�Zd
d�Zdd
�Zd%dd�Zd&dd�Zd'dd�Zd(dd�Zdd�Zdd�Zdd�Zd)d d!�Zd*d#d$�ZdS)+�N)�StringIO)�quotec@seZdZdS)�StatUtilsExceptionN)�__name__�
__module__�__qualname__�rr�+/usr/share/lve/modlscapi/user/stat_utils.pyrsrcKs�d�dd�|��D��}t�dj||d��}zt�d�|��}Wn*tyjtd�||d�|����Yn0z
|dWSty�td	�|���Yn0d
S)z�
    Perform cPanel WHM API console request and return data from result
    :param cmd: whm api command
    :return: data dict from result
    � cSs g|]\}}td�||���qS)z{0}={1})r�format��.0�k�vrrr	�
<listcomp>$�z!cpanel_whmapi.<locals>.<listcomp>z*/usr/sbin/whmapi1 {cmd} {kw} --output json��cmd�kw�z>Failed to get JSON from this API request: {0} {1}; output: {2}�dataz,Failed to get data from this API result: {0}N)	�join�items�exec_commandr�json�loads�
ValueErrorr�KeyError)r�kwargs�
joined_kwargs�resultZdict_resultrrr	�
cpanel_whmapis��

r!cKsnd�dd�|��D��}t�dj||d��}zt�d�|��WStyhtd�||d�|����Yn0dS)	z�
    Perform Plesk php_handler utility console request and return result
    :param cmd: php_handler command
    :return: dict result
    r
cSs g|]\}}d�|t|���qS)z-{0} {1})rrrrrr	r=rz)plesk_bin_php_handler.<locals>.<listcomp>z6/usr/local/psa/bin/php_handler --{cmd} {kw} -json truerrzJFailed to get JSON from this API request: php_handler {0} {1}; output: {2}N)rrrrrrrr)rrrr rrr	�plesk_bin_php_handler6s
���r"c	Cs�d}d}t�|�}t�|�}zZ|D]P}t|j|d�d��*}tdd�|��D��||<Wd�q"1sh0Yq"Wn.tt	fy�t
d�t�
��d	����Yn0|S)
ze
    Get domains per user
    :return: dict(
                user: list of domains
            )
    z!/usr/local/directadmin/data/usersz5/usr/local/directadmin/data/users/{user}/domains.list)�user�rcSsg|]}|���qSr)�strip�r
�lrrr	rXrz"get_da_domains.<locals>.<listcomp>Nr�
)�os�listdir�dict�fromkeys�openr�set�	readlines�OSError�IOErrorrr�	traceback�
format_exc�split)Z
da_users_pathZda_domains_pathZda_users�domainsr#Zdomains_list_filerrr	�get_da_domainsIs

>r6cCs�d}z@t|�\}}|�|d�}|�|d�}|�|d�}|�|d�}Wn2tjyvtd�d�t���	d�����Yn0||d	kr�d
n|d�||d	kr�d
n|d�d�S)
z�
    Get php settings from options.conf
    :return: dict(
                first php setting: {version, mode},
                second php setting: {version, mode},
            )
    z//usr/local/directadmin/custombuild/options.confZphp1_releaseZphp2_releaseZ	php1_modeZ	php2_modezNo option found: {0}rr(�lsphp�lsapi)�version�handler)��)
�read_da_config�get�configparser�
NoOptionErrorrrrr2r3r4)Zoptions_path�
config_parser�global_section�php1_ver�php2_ver�php1_handler�php2_handlerrrr	�get_da_php_options^s $���rG�
dummy_sectionc	Cs�zZt|��(}tdj|d�|���}Wd�n1s80Ytjdd�}|�|�Wn.ttfy�t	d�
t���
d����Yn0||fS)z�
    Read DA config file with ConfigParser.
    Need to add dummy section for success
    :param conf_file: config file name
    :param append_section_name: name of section to place in the beginning of file
    :return: RawConfigParser instance
    z[{s}]
)�sNF)�strictrr()r-rr�readr?�RawConfigParser�	read_filer0r1rrr2r3r4)Z	conf_fileZappend_section_name�fZfile_contentrArrr	r=}s
6r=�phpcCs:d�|�}z|t|�d��WSty4|YS0dS)z�
    Convert simple php versions to pretty format
    :param php_ver: {major}.{minor} version
    :param pre: desired key start
    :return: alt-php{major}{minor} or desired `pre`{major}{minor}
    z{0}%s%s�.N)r�tupler4�	Exception)Zphp_ver�pre�templaterrr	�pretty_version_keys�s

rU�/usr/sbin/httpdcCs>t�dj|d��}ztdd�|D��WSt�YS0dS)a+
    Get `httpd -t -D DUMP_RUN_LSAPI` info
    For httpd24 this default path is `/opt/rh/httpd24/root/usr/sbin/httpd`, generated in make_from_templates.sh script
    :param ctl_path: path to httpd (also apachectl may be used)
    :return: dict(
                lsapi_option: value
            )
    z{ctl} -t -D DUMP_RUN_LSAPI�ZctlcSsg|]}|���d��qS�r
��lowerr4r&rrr	r�rzdump_lsapi.<locals>.<listcomp>N�rrr+)�ctl_pathZapache_conf_datarrr	�
dump_lsapi�s
	r]cCs>t�dj|d��}ztdd�|D��WSt�YS0dS)a
    Get `httpd -M`
    For httpd24 this default path is `/opt/rh/httpd24/root/usr/sbin/httpd`, generated in make_from_templates.sh script
    :param ctl_path: path to httpd (also apachectl may be used)
    :return: dict(
                apache_module: value
            )
    z{ctl} -MrWcSsg|]}|���d��qSrXrYr&rrr	r�rz'dump_loaded_modules.<locals>.<listcomp>Nr[)r\�apache_modulesrrr	�dump_loaded_modules�s
	r_cCstjdk}dj|rdndd�S)zR
    Retrieve path to liblsapi, depends on arch
    :return: path to liblsapi
    lz/usr/lib{a}/liblscapi.soZ64r)�a)�sys�maxsizer)Z	is_64bitsrrr	�
liblsapi_path�s
rccCsVz<d�t�d|d���d�\}}dj||�d�dd�WStyPYd	S0d	S)
zr
    Get version-release from rpm -q `pkg`
    :param pkg: package name to query
    :return: version-release
    rz/bin/rpm -q z --qf %{v}-%{r}�-z{ver}-{rel}rPr)�ver�relN)rrr4rr)Zpkgrerfrrr	�	rpm_query�s
"rgc
sJz*�fdd�t|�D�d���d��WStttfyDYdS0dS)z�
    Filter strings by given template
    Also split string upon given template
    :param fname: path to file
    :param template: template to find in string
    :return: first template occurrence splitted by template
    csg|]}�|vr|�qSrrr&�rTrr	r�rz!query_strings.<locals>.<listcomp>rr;N)�stringsr4r%�
IndexErrorr1r0)�fnamerTrrhr	�
query_strings�s*rl�ccs~t|dd��^}d}|��D].}|tjvr2||7}qt|�|krD|Vd}qt|�|kr\|VWd�n1sp0YdS)z�
    Strings utility analog.
    Finds printable strings in executable
    :param fname: path to file
    :param n: minimum string length
    :return: generator, yeilds string
    �ignore)�errorsrN)r-rK�stringZ	printable�len)rk�nrNr �crrr	ri�s
riTcCsrt�}|��D]"\}}tdd�|��D��||<qz|r@|dn|WStylt�dd�|D�d�YS0dS)a�
    Count domains
    :param handler_struct: handler: version: set_of_domains structure
    :param default_keys: sequence of keys to add as default if no `lsapi` found
    :param only_lsapi: return only lsapi statistics
    :return: statistics - number of lsapi domains per version if only_lsapi=True
                          number of lsapi domains per version per handler otherwise
    css|]\}}|t|�fVqdS)N)rqrrrr	�	<genexpr>rz count_domains.<locals>.<genexpr>r8cSsg|]}|dkr|�qS)�nor)r
�xrrr	rrz!count_domains.<locals>.<listcomp>rN)r+rrr,)Zhandler_structZdefault_keysZ
only_lsapi�result_stat�hrrrr	�
count_domains�s	ry)rH)rO)rV)rV)rm)T)rprar)r2rr?�iorZpipesrrrRrr!r"r6rGr=rUr]r_rcrgrlriryrrrr	�<module>s,



	



© 2025 Cubjrnet7