mirror of
https://github.com/aaPanel/aaPanel.git
synced 2026-09-23 18:04:53 +02:00
1. Added Mail Marketing Automation trigger tasks 2. Added Mail Marketing Groups Import, Export, Merge 3. Added Mail Marketing Subscribers to support paste import 4. Added Mail Marketing Template Import Export Duplicate 5. Added Mail server add timed automatic reply 6. Added HTTPS Protection function for Website (disables automatic HTTP to HTTPS redirection when enabled) 7. Optimize Website Interface Button Integration 8. Optimize the response speed of WP Toolkit interface
71 lines
2.9 KiB
Python
71 lines
2.9 KiB
Python
#!/usr/bin/python
|
|
# coding: utf-8
|
|
# -------------------------------------------------------------------
|
|
# aapanel
|
|
# -------------------------------------------------------------------
|
|
# Copyright (c) 2015-2099 aapanel(http://www.aapanel.com) All rights reserved.
|
|
# -------------------------------------------------------------------
|
|
# Author: lwh <lwh@bt.cn>
|
|
# -------------------------------------------------------------------
|
|
# Time: 2023-08-07
|
|
# -------------------------------------------------------------------
|
|
# PHP.ini挂马
|
|
# -------------------------------------------------------------------
|
|
|
|
|
|
import sys, os
|
|
|
|
os.chdir('/www/server/panel')
|
|
sys.path.append("class/")
|
|
|
|
import public, re, os
|
|
|
|
_title = 'PHP configuration file failure detection'
|
|
_version = 1.0 # 版本
|
|
_ps = "Check if PHP config file is suspended" # 描述
|
|
_level = 3 # 风险级别: 1.提示(低) 2.警告(中) 3.危险(高)
|
|
_date = '2023-8-7' # 最后更新时间
|
|
_ignore = os.path.exists("data/warning/ignore/sw_php_backdoor.pl")
|
|
_tips = [
|
|
"According to the risk description, find the corresponding version of PHP plugin in [Software Store] - [Running Environment]. ",
|
|
"On the [Configuration] page, go to auto_prepend_file or auto_append_file, delete the rest, save and restart PHP."
|
|
]
|
|
|
|
_help = ''
|
|
_remind = 'This solution removes malicious code from php configuration files and suggests a full Trojan scan of the server to remove backdoor files and fix website vulnerabilities. '
|
|
_type = 'web'
|
|
|
|
|
|
def check_run():
|
|
path = "/www/server/php"
|
|
# 获取目录下的文件夹
|
|
dirs = os.listdir(path)
|
|
result = {}
|
|
for dir in dirs:
|
|
if dir in ["52", "53", "54", "55", "56", "70", "71", "72", "73", "74", "80", "81"]:
|
|
file_path = path + "/" + dir + "/etc/php.ini"
|
|
if os.path.exists(file_path):
|
|
# 获取文件内容
|
|
try:
|
|
php_ini = public.readFile(file_path)
|
|
if re.search("\nauto_prepend_file\\s?=\\s?(.+)", php_ini):
|
|
prepend = re.findall("\nauto_prepend_file\\s?=\\s?(.+)", php_ini)
|
|
if "data:;base64" in prepend[0]:
|
|
result[dir] = ["auto_prepend_file"]
|
|
if re.search("\nauto_append_file\\s?=\\s?(.+)", php_ini):
|
|
append = re.findall("\nauto_append_file\\s?=\\s?(.+)", php_ini)
|
|
if "data:;base64" in append[0]:
|
|
if dir in result:
|
|
result[dir].append("auto_append_file")
|
|
else:
|
|
result[dir] = ["auto_append_file"]
|
|
except:
|
|
pass
|
|
if result:
|
|
ret = ""
|
|
for i in result:
|
|
ret += "【PHP" + i + "】A field where malicious code is present:" + ",".join(result[i]) + "\n"
|
|
return False, ret
|
|
else:
|
|
return True, "Risk-free"
|