Tôi đã được giao nhiệm vụ duy trì một trang web phi lợi nhuận gần đây đã trở thành nạn nhân của một cuộc tấn công SQL injection. Ai đó đã khai thác một biểu mẫu trên trang web để thêm văn bản vào mọi trường văn bản có sẵn trong cơ sở dữ liệu (varchar, nvarchar, v.v.), khi được hiển thị dưới dạng HTML, bao gồm và thực thi tệp JavaScript.Cách tốt nhất để dọn dẹp sau khi SQL Injection là gì?
Tìm kiếm trên Google của URL cho biết rằng từ tìm kiếm spam của email dựa trên Rumani hoặc Trung Quốc, nhưng đó không phải là điều quan trọng ngay bây giờ.
Tôi đã xem xét và xóa thông tin khỏi các trường văn bản hiển thị trên hầu hết các trang hiển thị và phổ biến trên trang web nhưng tôi tò mò muốn biết cách nào là cách tốt nhất để loại bỏ văn bản khỏi văn bản khác các trường trên trang web. Rõ ràng là có nhiều thứ cần phải được thực hiện (làm cứng trang web chống lại việc tiêm SQL, sử dụng thứ gì đó như markdown thay vì lưu trữ HTML, v.v.) và tôi đang làm việc trên những điều đó, nhưng trong thời gian tôi thực sự cần cách để đi vào và lập trình loại bỏ các văn bản tiêm. Tôi biết văn bản chính xác là gì, nó giống nhau mỗi lần và nó luôn được nối vào cuối bất kỳ trường văn bản nào. Tôi không đủ khả năng để loại bỏ tất cả HTML trong cơ sở dữ liệu tại thời điểm này và tôi không biết khi nào điều này xảy ra chính xác nên tôi không thể quay lại bản sao lưu. Ngoài ra, trang web là trên lưu trữ được chia sẻ và tôi không thể kết nối với cơ sở dữ liệu trực tiếp với các công cụ SQL Server. Mặc dù vậy, tôi có thể thực hiện các truy vấn chống lại nó, vì vậy nếu có bất kỳ cách nào để xây dựng câu lệnh cập nhật SQL với hiệu ứng "hey tìm tất cả các trường văn bản trong tất cả các bảng trong toàn bộ cơ sở dữ liệu và làm điều này để làm sạch chúng" tốt.
"Tôi đã viết về nó cũng" liên kết (http://jcoehoorn.vox.com/library/post/sql-injection-part -2.html) được chuyển hướng đến trang web hiển thị "Vox hiện đã bị đóng. Cảm ơn bạn đã dành tình yêu và sự ủng hộ của Vox qua nhiều năm" –