我们有内部的Linux(Ubuntu)开发服务器。 几天前,可疑的代码被注入。 这里要提的是,我们有300多个项目。 代码几乎被recursion地注入到每个文件中。
我们试图在局域网上的Windows上使用Dreamweaver进行search和replace,但发现了另一个使用DreamWeaver无法使用的原因;
注入代码开始使用PHP启动TAG:
<?php $ldtxxk
之间有很多encryption的代码,但所有文件都有不同的代码,但以PHP结束TAG结尾。 所以由于在所有文件中完全改变了代码,我们无法使用任何软件来清除和replace。
所以我们需要在SSH中使用正则expression式的某种SED命令,它可以在特定的导向器上执行一个recursion的工作
从中find
<?php $ldtxxk
至
?>
并删除包括PHP开始和结束TAG之间的一切。
提前致谢。
起初尝试这样的事情。 它删除(d)两个模式之间的文本(用斜杠分隔):
sed '/<?php $ldtxxk/,/?>/d' file_with_injected_code.php
如果输出看起来不错,可以插入一个“-i”,以便replace文件的内容:
sed '/<?php $ldtxxk/,/?>/d' file_with_injected_code.php
然后,您可以将sed命令与find命令组合起来,以recursion方式search从工作目录开始的php文件:
find -name '*.php' -exec sed -i '/<?php $ldtxxk/,/?>/d' '{}' \;
如果你修复了php文件,你应该调查攻击者是如何访问的。 检查日志文件!
您的机器是否可以通过互联网访问?