恶意 PHP request/POST

Malicious PHP request/POST

我的一个网站最近遭到攻击。我已经尽可能地清理了所有代码,但我真的无法弄清楚他们是如何创建文件甚至注入文件的。我已经关闭了所有的写作权,即使对我来说也是如此。我决定从现在开始记录所有请求,直到我解决这个问题。

现在我已经得到了一个结果,肯定是把事情搞砸了。但是我就是不知道发生了什么..

请求可以在这里找到: https://pastebin.com/TQGnvQjz

文件开头:

bsbcy=vasa&txhw=LCRrLzY6ZXVjbDoxLSZmIHdqNSI1LGA0NXYvLnFwf2NjIS4vfiR8YSk6fX8qdGkpNCY9N

我应该注意打印给我的方式,以及 URL 的样子。 首先,url 是 /index.php?bsbcy=vasa 所以第一个变量是GET变量。

第二个变量,是POST变量。 现在这看起来像一些 base64。我尝试解码它,但 base64decode.org 要么吐出一个充满乱码的 .bin 文件,要么如果我打开实时转换,它吐出同样的乱码但我不必下载它。

有人知道什么是乱码吗?我敢打赌这是应该注入或创建文件的东西。但我无法知道,直到我能够解码它。

提前致谢!

此致, 桑德贝博。

首先,永远不要使用任何用户直接发送给您的任何东西。通过 GET 或 POST 或其他方式收到的任何内容,对其进行消毒。您面临的问题并不能通过阻止写入权限来解决。阻止权总是可以用代码改变。攻击你的人可以攻击你,因为你还活着,给他一个入口。

现在我不确定您的代码是什么样子,但您可能真的想在处理之前清理所有数据输入。此外,您可能想使用密钥加密和解密所有数据。这样一来,如果有任何数据进入并且它与您的加密不符,它 returns null 并且根本不会处理。看起来工作量很大,但当攻击来临时你会做更多的工作。

考虑一下这篇文章,它可能会有用。 https://www.dreamhost.com/blog/php-security-user-validation-sanitization/

我现在正在使用 cloudflare,从那以后,没有再感染。

同时进行更多检查,即如果 POST 值太长则拒绝进一步的连接。不知道它是否像我希望的那样工作,但它不会伤害普通访客,而且应该会惹恼机器人。那很好。

感谢大家的建议、信息和帮助!