有人可以通过我的网站运行shell命令,我怎样才能阻止它们?

我相信有人通过我的网站在我的服务器上运行shell命令。

  1. 用户如何做到这一点?
  2. 我怎样才能阻止他们这样做?

我会说,寻找未经validation的用户input的evals。 一般来说,查找未经validation的用户input。

检查你的代码中是否有对eval函数的调用。 当你有了它,检查评估什么,如果用户input是使用它是你的罪魁祸首。

然后,检查你的fopen,fwrite,error_log和file_put_contents调用。 任何使用用户input来创build文件path($ _FILES数组是用户input)? 另一个可能的攻击媒介

检查你的包含,并要求:你使用用户input来创build你正在加载的文件的path?

让我们去看另一个:你有任何让用户上传的东西?

你是否在任何地方使用exec和它的朋友? 在那里检查。

我相信有人通过我的网站在我的服务器上运行shell命令。

你知道什么样的命令正在运行? 如果是的话,你可以看看你的networking访问日志,并确定是否有任何可疑的活动。

你使用数据库吗? MS SQL Server具有相当于exec()的命令,允许攻击者运行shell命令。 即使有了MySQL,也可以运行shell命令,前提是你有一个具有写入/执行权限的目录。 看到这篇文章 – http://www.greensql.net/publications/backdoor-webserver-using-mysql-sql-injection