다수의 악성 코드를 제거하기 위해 bash 스크립트를 수정하려고합니다. 파일.복수의 htm 파일에서 <script.aa = ([]. slice + 'hjkbghkj')를 반복적으로 정리하는 스크립트를 작성하려고 시도합니다.
커뮤니티 그래서 여기있다,이 도움이됩니다 :
#!/bin/bash
grep -r -l 'var createDocumentFragm' /home/user/Desktop/infected_site/* > /home/user/Desktop/filelist.txt
for i in $(cat /home/user/Desktop/filelist.txt)
do
cp -f $i $i.bak
done
for i in $(cat /home/user/Desktop/filelist.txt)
do
$i | sed 's/createDocumentFragm.*//g' > $i.awk
awk '/<\/SCRIPT>/{p=1;print}/<\/script>/{p=0}!p'
이 메시지와 함께 밖으로 스크립트 폭탄 곳입니다 :
+ for i in '$(cat /home/user/Desktop/filelist.txt)'
+ sed 's/createDocumentFragm.*//g'
+ /home/user/Desktop/infected_site/index.htm
나는이 에러가 발생하고 스크립트가 중지됩니다.
/home/user/Desktop/infected_site/index.htm: line 1: syntax error near unexpected token `<'
/home/user/Desktop/infected_site/index.htm: line 1: `<html><head><script>(function(){ '
나는 처음 두 부분을 완성했습니다.
createDocumentfragm을 포함하는 파일이 텍스트 파일에 올바르게 열거되었습니다.
textfile.txt의 파일이 원래 위치에 .bak가 추가되어 IE : infected_site/some_directory/infected_file.htm 및 infected_file.htm.bak 이 효과적으로 백업되었는지 확인합니다.
필자가해야 할 일은 filelist.txt에있는 파일 목록을 사용하고 전체 악성 텍스트 패턴을 패턴으로 사용하여 파일에서 제거하는 AWK 명령을 작성하는 것입니다. 대문자 스크립트를 시작점으로 사용하고 소문자 스크립트가 너무 일반적이고 합법적 인 텍스트를 삭제할 수 있습니다.
이것이 도움이 될 것으로 생각되지만 올바르게 사용하는 방법을 모르겠습니다.
http://backreference.org/2010/03/13/safely-escape-variables-in-awk/
나는이 부분을 파악하고이 파일을 사용하면 박 파일을 청소하기 위해이 작업을 수행 할 수 있습니다 엉망이되지 않았 음을 확인한 후에 일단 :
for i in $(cat /home/user/Desktop/filelist.txt)
do
rm -f $i.bak
done
다른 가능한 답변을 찾은 것 같습니다. [link] http://backreference.org/2010/03/13/safely-escape-variables-in-awk/ AWK에 ** 전체 악성 glob **, 안에 포함 된 모든 변수에 관계없이, 나는 안전하게 악성 텍스트를 제거 할 수 있어야합니다. 그래도 그런 스크립트를 만드는 데 필요한 기술이 부족합니다 ... ( –
OP는 여기에 몇 가지 의견을 달았습니다 : http://stackoverflow.com/suggested-edits/239391 – Kevin