Rate this post

CSV Injection, còn được gọi là Formula Injection, xảy ra khi các trang web nhúng vào không đáng tin cậy bên trong tệp CSV.

Các bài viết liên quan:

Khi một chương trình bảng tính như Microsoft Excel hoặc LibreOffice Calc được sử dụng để mở CSV, bất kỳ ô nào bắt đầu bằng = sẽ được phần mềm giải thích dưới dạng công thức. Các công thức được chế tạo độc hại có thể được sử dụng cho ba cuộc tấn công chính:

  • Đánh cắp máy tính của người dùng bằng cách khai thác các lỗ hổng trong phần mềm bảng tính.
  • Đánh cắp máy tính của người dùng bằng cách khai thác xu hướng của người dùng là bỏ qua các cảnh báo bảo mật trong bảng tính mà họ đã tải xuống từ trang web của chính họ.
  • Lọc nội dung từ bảng tính hoặc các bảng tính đang mở khác.

Xem thêm Kiểm tra lỗ hổng bảo mật Code injection

Cuộc tấn công này rất khó giảm thiểu và rõ ràng là không được phép từ khá nhiều chương trình. Để sửa nó, hãy đảm bảo rằng không có ô nào bắt đầu bằng bất kỳ ký tự nào sau đây:

  • Bằng (=)
  • Cộng (+)
  • Dấu trừ (-)
  • Tại (@)
  • Tab (0x09)
  • Carriage return(0x0D)

Hãy nhớ rằng không đủ để đảm bảo rằng đầu vào của người dùng không đáng tin cậy không bắt đầu bằng các ký tự này. Bạn cũng cần quan tâm đến dấu phân tách trường (ví dụ: ‘,’ hoặc ‘;’) và dấu ngoặc kép (ví dụ: ‘hoặc “), vì những kẻ tấn công có thể sử dụng dấu này để bắt đầu một ô mới và sau đó đưa ký tự nguy hiểm vào ở giữa đầu vào của người dùng, nhưng ở đầu ô.

Ngoài ra, hãy áp dụng cách làm sạch sau cho từng trường của CSV để nội dung của chúng sẽ được trình chỉnh sửa bảng tính đọc dưới dạng văn bản:

  • Đặt mỗi trường ô trong dấu ngoặc kép
  • Thêm trước mỗi trường ô bằng một dấu ngoặc kép
  • Thoát khỏi mọi trích dẫn kép bằng cách sử dụng một trích dẫn kép bổ sung

Hai ví dụ:

Xem thêm SQL injection attack là gì?

Leave a Reply

Call now
%d bloggers like this: