我在一些被黑客入侵的 JavaScript 文件中发现了以下两种不同的模式。
<!--2d3965--> some code <!--/2d3965-->
/*2d3965*/ some code /*/2d3965*/
我可以使用以下命令从文件中删除第一个模式:
sed -i 's/<!--2d3965-->.*<!--\/2d3965-->//g' javascript_file.js
但无法使用类似命令删除第二种模式:
sed -i 's/\/\*2d3965\*\/.\+\/\*\/2d3965\*\///g' javascript_file.js
删除第二种模式的正确语法是什么?
答案1
我针对 .php、.js 和 .html 文件进行此类攻击所使用的代码是:
perl -p -i.orig -0 -e 's/<\?\s*#([0-9a-z]{6})#.*#\/\1#\s*\?>//gs; s/<\!--([0-9a-z]{6})-->.*<!--\/\1-->//gs;'
烦人……你应该弄清楚攻击者是如何进入的,并检查备份的健康状况。我不得不对 400 万个文件运行上述操作一次,因为备份也受到了污染。