【问题标题】:Remove string/script from all files (recursive)从所有文件中删除字符串/脚本(递归)
【发布时间】:2013-01-24 22:48:19
【问题描述】:

我的一个网站被黑了,所有的 index.html 和 index.php 文件都被某种 Javascript 感染了。我想要一个 unix 命令来从所有文件中删除这个脚本。

脚本在这里:http://pastie.org/private/6osrvd5zhphe372gblrc6w

我正在尝试用 sed 解决这个问题,但到目前为止没有运气

谢谢!

【问题讨论】:

    标签: sed


    【解决方案1】:
    sed -i 's/<script>.*<\/script>//' fileName
    

    将删除标记脚本及其所有内容。

    如果您只有一个 &lt;script&gt; 标记,则此方法有效。

    如果你没有一个,用try关键字扩展它,方法如下

    sed -i 's/<script>try.*<\/script>//' fileName
    

    编辑

    如果您想以递归方式对所有文件执行此操作,可以使用find 命令,如下所示:

    find . -name "index.html" -print | xargs sed -i 's/<script>try.*<\/script>//' fileName
    

    . 是当前目录

    【讨论】:

    • 谢谢,zxc 部分是恶意软件脚本独有的。我试过这个: sed -i 's/
    • 其实我想通了。 sed -i 's/
    【解决方案2】:

    你可以试试这个

    find src/ -name "index.html" -print | xargs sed -i 's/<script>try{document.body++}catch(dgsgsdg){zxc=12;ww=window;}if(zxc).*<\/scri‌​pt>//
    

    【讨论】:

      【解决方案3】:
      perl -pi -e 's/<script>.*<\/script>//g' index.html
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2017-01-25
        • 1970-01-01
        • 2013-10-20
        • 1970-01-01
        • 2014-12-19
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多