Xóa nội dung được chèn trong nhiều tệp trên máy chủ linux


1

Tôi thường gặp vấn đề với các trang web bị hack. Thông thường, họ kết thúc với tập lệnh được chèn trong các tập tin khác nhau. Có cách nào, trên linux, để tìm kiếm nội dung này và tự động delte nó không? Thông thường nội dung này bắt đầu bằng, và kết thúc bằng một cái gì đó như thế này.

<!--2d3965--><script type="text/javascript" language="javascript">
</script><!--/2d3965-->

Nó sẽ có thể sử dụng một số loại kết hợp của grep để tìm kiếm cho các tập tin chứa nội dung này và sau đó pipeing nó để sed để xóa tất cả mọi thứ từ

đến

Câu trả lời:


2

Tôi đã viết kịch bản như vậy, nó có thể hữu ích.

#!/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)

Bạn nên cho:

  1. tên tệp có vi-rút
  2. chuỗi, đánh dấu virus bắt đầu chuỗi
  3. chuỗi, đánh dấu kết thúc virus

    Đừng quên thay đổi quyền trở lại, nếu tập tin yêu cầu. btw, tôi nghĩ rằng, nó chỉ đáng khen ngợi cho các tệp văn bản.

Vui lòng kiểm tra và sao lưu trước khi sử dụng.

Sử dụng nó theo cách này:

python cleaner.py index.html js/jquery.js

1

Tôi sẽ thêm các tệp này vào subversion hoặc git và tự động so sánh phiên bản chính thức của các tệp này với các tệp trên các trang web một cách thường xuyên. Nếu bạn thấy một sự khác biệt bạn biết bạn đã bị hack và có thể tìm kiếm rò rỉ. Trong khi đó, bạn có thể khôi phục tệp gốc từ công cụ tạo phiên bản.


Thật không may, tôi không nghĩ rằng nó sẽ hoạt động vì tôi có một máy chủ webhosting với sự phân bổ của người dùng. Tôi sẽ cần phải thêm tất cả các trang web của khách hàng để git cho việc này hoạt động + người dùng thường thay đổi tập tin của họ. :(
Pracovek

Sau đó, làm thế nào để bạn biết những gì hợp pháp và những gì không? Khách hàng của bạn có thể thêm các tập tin chính xác vào git? Lợi thế cho họ là họ cũng có thể trở lại nếu có chuyện không hay xảy ra.
Hartmut
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.