删除或替换3500个php文件的第一行

时间:2016-07-13 19:52:23

标签: linux security server malware

我有一台旧服务器,所有php文件都被所有文件第一行上的恶意代码所破坏。 我会用包含<?php

的简单行替换第一行

你可以告诉我一个linux命令吗?

谢谢

3 个答案:

答案 0 :(得分:1)

检查

grep '\$efidomat.*\$otunim);'   *.php

在目录中删除

sed -i 's/\$efidomat.*\$otunim);//'   *.php

在目录树中删除

find . -type f -exec  sed -i 's/\$efidomat.*\$otunim);

<强>参数

$efidomat - “我的”恶意代码的开头。

$otunim - “我的”恶意代码的结尾。

答案 1 :(得分:0)

这是一个小的python脚本,它将在其文件夹中的所有* .php文件中运行,并在名为new_files的子文件夹中创建一个修改版本。不要忘记在运行脚本之前创建该子文件夹!

    import glob

    for f in glob.glob("*.php"):
        f_in=open(f,"r")
        f_out=open("new_files/"+f,"w")
        f_out.write("<?php\n")
        for l in f_in.readlines()[1:]:
            f_out.write(l)
        f_out.close()
        f_in.close()

我知道这不是linux命令,但如果你创建一个名为“script.py”的文件并安装python,那么linux命令将是“python script.py”。哈哈开个玩笑,我希望它仍然有用;)

答案 2 :(得分:0)

我写这个:

    grep 'create_";global' -rl | xargs sed '1 s/^.*$/<?php/g' -i

我认为它正在完成这项工作