Chức năng tìm kiếm của trang mua sắm F có xử lý gắn trực tiếp chuỗi người dùng nhập vào câu lệnh SQL rồi thực thi nguyên trạng. Một người dùng đã nhập vào ô tìm kiếm một chuỗi đặc biệt được diễn giải như một phần của câu lệnh SQL thay vì từ khóa tìm kiếm thông thường, khiến thông tin cá nhân của người dùng khác lẽ ra không được hiển thị lại xuất hiện trên màn hình.
Thiệt hại cơ sở dữ liệu do SQL injection
Từ khóa
SQLインジェクションえすきゅーえるいんじぇくしょんSQL injection
プレースホルダぷれーすほるだplaceholder (tham số ràng buộc)
Câu hỏi
1
Lỗ hổng nào đã bị khai thác trong tình huống này?
Lựa chọn
- SQL injection
- Cross-site scripting
- Tràn bộ đệm (buffer overflow)
- Đầu độc bộ nhớ đệm DNS
Xem giải thích
Khai thác xử lý gắn trực tiếp dữ liệu người dùng vào câu lệnh SQL, khiến câu lệnh SQL ngoài ý muốn được thực thi, gọi là SQL injection.
2
Biện pháp nào phù hợp nhất để phòng ngừa loại thiệt hại này?
Lựa chọn
- Không nối trực tiếp dữ liệu người dùng vào câu lệnh SQL, dùng placeholder (tham số ràng buộc) thay thế
- Giới hạn số kết quả tìm kiếm hiển thị
- Đơn giản hóa giao diện màn hình
- Tăng số lượng máy chủ
Xem giải thích
Truyền giá trị nhập vào an toàn qua placeholder thay vì nối trực tiếp vào câu lệnh SQL sẽ ngăn chuỗi nhập bị diễn giải như mã SQL.
3
Thiệt hại nào có thể xảy ra do SQL injection?
Lựa chọn
- Xem, sửa hoặc xóa trái phép dữ liệu trong cơ sở dữ liệu
- Chỉ làm chậm tốc độ mạng
- Chỉ làm lỗi bố cục màn hình
- Hệ điều hành không khởi động được
Xem giải thích
SQL injection có thể khiến các câu lệnh SQL ngoài ý muốn được thực thi, dẫn đến khả năng xem, sửa hoặc xóa trái phép dữ liệu trong cơ sở dữ liệu.
Đăng nhập để lưu kết quả
Bạn có thể đọc miễn phí nội dung, câu hỏi và giải thích. Hãy đăng nhập để lưu kết quả và đưa vào hàng ôn tập cùng phân tích điểm yếu.
Đăng nhập để lưu