我經常遇到被駭客攻擊的網站問題。通常他們最終會在不同的文件中插入腳本。有沒有辦法在Linux上搜尋此內容並自動刪除它?通常此內容以這樣的方式開始和結束。
<!--2d3965--><script type="text/javascript" language="javascript">
</script><!--/2d3965-->
是否可以使用 grep 的某種組合來搜尋包含此內容的文件,然後將其通過管道傳輸到 sed 以刪除從 到
的所有內容
答案1
我寫了這樣的腳本,它可能很有用。
#!/usr/bin/env python
import os
import sys
for infile in sys.argv[1:]:
print infile
filetmp=infile+'.tmp'
BEGIN='<!--2d3965-->'
END='<!--/2d3965-->'
f = open(infile, 'r')
ftmp = open(filetmp, 'w')
skip=False
for line in f:
if BEGIN in line:
#print line.partition(BEGIN)[0]
ftmp.write(line.partition(BEGIN)[0])
skip=True
if END in line:
#print line.partition(END)[2]
ftmp.write(line.partition(END)[2])
skip=False
else:
if not skip:
ftmp.write(line)
#you can add save restrictions here
os.rename(filetmp, infile)
你應該給出:
- 帶病毒的檔案名
- 字串,它標記病毒開始細繩
字串,它標記病毒結束
如果文件需要,請不要忘記更改回權限。順便說一句,我認為它僅適用於文字檔案。
請測試一下,使用前請備份。
以這種方式使用它:
python cleaner.py index.html js/jquery.js
答案2
我會將此文件添加到 subversion 或 git 中,並定期自動將此文件的正式版本與網站上的文件進行比較。如果您看到差異,您就知道您已被駭客攻擊,並且可以搜尋洩漏資訊。同時您可以從版本控制工具還原原始檔案。