【问题标题】:How to compare different files from 2 servers with rsync? [closed]如何使用 rsync 比较来自 2 个服务器的不同文件? [关闭]
【发布时间】:2015-10-02 09:19:32
【问题描述】:
我遇到了一些黑客,他们入侵了我们的网站,所以我将我们的服务器克隆到一个新的服务器上,然后在该服务器上重置 github。
我听说 rsync 可以找出 2 个服务器的不同之处。 rsync 可以吗?我可以将该文件列表导出到文本文件吗?
感谢您的帮助,被旧版本的 wordpress 破解了 >_
【问题讨论】:
标签:
php
linux
wordpress
server
rsync
【解决方案1】:
Marty 的评论很好 - 编写的 rsync 命令将进行试运行 (-n) 以显示在 $TARGET 和 $SOURCE 位置之间添加/删除/更改了哪些文件,以便您可以然后检查或区分它们以查看是否有任何恶意代码。
此外,在过去,当我处理被黑的 WordPress 安装时,找到利用向量很重要。 PHP shell 通常是通过一些不安全的脚本或插件上传的,这为攻击者提供了一个基于命令的 web shell 来查看文件和运行命令等。
要查找这些文件,以下命令很有帮助:
grep -E '(?:(shell_)?exec|system|eval)' /path/to/wordpress/* -R
这可能会产生类似的结果:
wpte.php: eval($_POST['p1']);
在这种情况下,wpte.php 是一个恶意 PHP shell 脚本,它被上传到我的客户端服务器之一,然后有人用来运行命令和上传更多文件。这些脚本通常使用eval 或shell_exec 等一个或多个函数来运行从Web shell 输入的命令。
从那里开始,您可以检查服务器访问日志中是否存在恶意脚本的命中,然后进一步搜索日志以查找访问该脚本的 IP 地址,以可能找到上传的脚本或其他命中资源的方式访问。