В некоторых взломанных файлах 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
Какой правильный синтаксис для удаления второго шаблона?
Код, который я использовал для этого типа атаки на файлы .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;'
Раздражает ... Вы должны выяснить, как злоумышленник проник, а также проверить состояние ваших резервных копий. Один раз мне пришлось запустить описанное выше для 4 миллионов файлов, потому что резервные копии тоже были испорчены.