我相信有人正在通过我的网站在我的服务器上运行 shell 命令。
- 用户怎么会这样做呢?
- 我该如何停止停止阻止他们这样做?
答案1
答案2
我想说的是寻找未经验证的用户输入的评估。一般来说,寻找未经验证的用户输入。
答案3
检查代码中是否有对 eval 函数的调用。如果有,请检查 eval 中的内容,如果使用了任何用户输入,则可能是问题所在。
然后,检查您的 fopen、fwrite、error_log 和 file_put_contents 调用。是否有任何使用用户输入来创建文件路径($_FILES 数组是用户输入)?另一个可能的攻击媒介。
检查您的包含和要求:您是否使用用户输入来创建您正在加载的文件的路径?
让我们再讨论一下:您是否有任何东西可以让用户上传?
答案4
我相信有人正在通过我的网站在我的服务器上运行 shell 命令。
您知道正在运行什么类型的命令吗?如果知道,您可以查看您的 Web 访问日志并确定是否存在任何可疑活动。
您使用数据库吗?MS SQL Server 具有与 exec() 命令等效的功能,允许攻击者运行 shell 命令。即使使用 MySQL,也有方法运行 shell 命令,前提是您有一个具有写入/执行权限的目录。请参阅本文 -http://www.greensql.net/publications/backdoor-webserver-using-mysql-sql-injection