Chủ đề của DBS401 - An ninh cơ sở dữ liệu

DBS401 - Chương 7: Nhận diện SQL injection

SQL injection và việc định vị lỗ hổng được xem qua ứng dụng web, hoạt động phân tích mã và công cụ hỗ trợ khảo sát. Người học nhận diện những điểm cần kiểm tra trong mã nguồn và liên hệ chúng với các điểm yếu SQL của ứng dụng. Các chủ đề này giúp kết nối cấu trúc truy vấn với những nguy cơ phát sinh khi hệ thống xử lý yêu cầu. Việc phân tích mã và tìm lỗ hổng bổ sung cho nhau khi đánh giá nguy cơ SQL injection. Công cụ khảo sát hỗ trợ xem xét mã ứng dụng có hệ thống, còn bối cảnh web làm rõ nơi các truy vấn được sử dụng. Chương 8 tiếp tục xem xét khai thác, thu thập thông tin và chiến lược phòng vệ.

Xem danh sách câu hỏi6 câu hỏi100% có giải thích

Bắt đầu bằng Chế độ học nếu bạn muốn đáp án và giải thích hiện ngay sau mỗi câu — không bấm giờ, dừng lúc nào cũng được. Chọn Thi thử khi muốn biết mình đang ở đâu: có bấm giờ, chấm điểm ở cuối, và giải thích chỉ mở sau khi nộp.

Học ngân hàng câu hỏi của chủ đề

Luyện tập theo chủ đề này

6Câu hỏi hiện có

Câu hỏi của chủ đề

6/6 câuHết danh sách
AMixed mode
BMiddleware
CCommunicator
DLogical
Lời giải
Đáp án đúng: "Middleware". Middleware (phần mềm trung gian) nằm giữa ứng dụng bên ngoài và hệ quản trị cơ sở dữ liệu, có thể tiếp nhận yêu cầu, chuyển tiếp chúng và quan sát phản hồi để hỗ trợ kiểm soát hoặc giám sát truy cập. "Mixed mode" thường chỉ chế độ xác thực kết hợp trong SQL Server, không phải loại ứng dụng trung gian; "Communicator" là từ chung cho thành phần giao tiếp, không xác định lớp phần mềm có vai trò này; "Logical" là tính từ chỉ khía cạnh logic, không phải tên một loại ứng dụng giám sát yêu cầu truy cập cơ sở dữ liệu.
Mở trang câu hỏi này →
AData flow analysis tools
BLexical analysis scanning tools
CSeveral tools
DString-based matching tools
Lời giải
Đáp án đúng: "Lexical analysis scanning tools". Phân tích từ vựng (lexical analysis) tách mã nguồn thành token, tức các đơn vị như từ khóa, tên định danh và toán tử; bộ quét có thể nhóm token theo tiêu chí để tìm mẫu mã nguy hiểm. "Data flow analysis tools" theo dõi cách giá trị được truyền qua chương trình, hữu ích để phát hiện luồng dữ liệu rủi ro nhưng không phải công cụ được mô tả bằng việc nhóm token. "Several tools" không chỉ ra loại phân tích cụ thể. "String-based matching tools" tìm chuỗi ký tự khớp trực tiếp, không hiểu mã như chuỗi token theo quy tắc từ vựng.
Mở trang câu hỏi này →
Adynamic analysis
Bstatic SQL statement
CStatic analysis
DNone of the mentioned.
Lời giải
Đáp án đúng: "dynamic analysis". Phân tích động (dynamic analysis) kiểm tra chương trình khi nó đang chạy, quan sát hành vi và trạng thái thực tế để phát hiện lỗi hoặc điểm yếu phụ thuộc vào đường thực thi. "static SQL statement" là câu lệnh SQL tĩnh, không phải phương pháp phân tích chương trình đang thực thi; "Static analysis" phân tích mã mà không chạy chương trình; "None of the mentioned." không đúng vì dynamic analysis chính là thuật ngữ khớp với mô tả trong câu hỏi.
Mở trang câu hỏi này →
AChecking for adherence to coding standards and style guidelines
BIdentifying potential buffer overflows and memory leaks in an application
CAnalyzing the complexity and maintainability of a codebase
DVerifying the correctness of mathematical algorithms and logic
Lời giải
Đáp án đúng: "Identifying potential buffer overflows and memory leaks in an application". Phân tích động quan sát chương trình khi thực thi, nên công cụ có thể theo dõi truy cập bộ nhớ, phát hiện một số trường hợp tràn bộ đệm hoặc vùng nhớ được cấp phát nhưng không giải phóng. Khả năng phát hiện phụ thuộc ca chạy và công cụ, nên không bảo đảm tìm mọi lỗi. "Checking for adherence to coding standards and style guidelines" thường phù hợp với phân tích tĩnh; "Analyzing the complexity and maintainability of a codebase" chủ yếu cần phân tích cấu trúc mã; "Verifying the correctness of mathematical algorithms and logic" đòi hỏi chứng minh hoặc kiểm thử logic, không phải mục tiêu đặc trưng của phân tích động.
Mở trang câu hỏi này →
AUser input always improves query performance
BGeneric error messages that provide no details
CError messages that specifically mention SQL syntax issues
DMessages that confirm successful database updates
Lời giải
Đáp án đúng: "Error messages that specifically mention SQL syntax issues". Thông báo lỗi nêu rõ cú pháp SQL có thể cho thấy đầu vào đã ảnh hưởng tới cách truy vấn được phân tích, qua đó là dấu hiệu cần điều tra khả năng chèn SQL; bản thân dấu hiệu này chưa đủ chứng minh lỗ hổng nhưng có thể làm lộ chi tiết nội bộ. "User input always improves query performance" là khẳng định không liên quan và không thể hiện lỗi; "Generic error messages that provide no details" thường giảm rò rỉ thông tin, không phải dấu hiệu đặc trưng được hỏi; "Messages that confirm successful database updates" chỉ báo thao tác thành công, không chỉ ra vấn đề cú pháp truy vấn.
Mở trang câu hỏi này →
AStatic SQL statements, because they cannot be modified at runtime
BDynamic SQL statements, because they're built on-the-fly from user input
CEncrypted SQL statements, due to weak encryption algorithms
DHardcoded SQL statements, because they are visible to the attacker
Lời giải
Đáp án đúng: "Dynamic SQL statements, because they're built on-the-fly from user input". Dynamic SQL (SQL động) được tạo lúc chạy; nếu ứng dụng nối đầu vào không tin cậy trực tiếp vào chuỗi truy vấn thay vì tham số hóa và kiểm tra phù hợp, dữ liệu đầu vào có thể bị diễn giải thành cú pháp SQL, gây injection. "Static SQL statements, because they cannot be modified at runtime" thường có cấu trúc cố định nên không dễ bị thay đổi bằng cách nối đầu vào; vẫn cần xử lý đầu vào an toàn nhưng lý do nêu không làm chúng dễ tổn thương hơn. "Encrypted SQL statements, due to weak encryption algorithms" mã hóa yếu không phải đặc điểm chung của câu lệnh SQL và không giải thích cơ chế injection. "Hardcoded SQL statements, because they are visible to the attacker" việc câu lệnh được viết sẵn không đồng nghĩa kẻ tấn công nhìn thấy hay sửa được nó; rủi ro chủ yếu đến từ cách dữ liệu không tin cậy được đưa vào truy vấn.
Mở trang câu hỏi này →

Đề có câu hỏi của chủ đề này

2 đề chứa ít nhất một câu thuộc chủ đề — mở đề để làm cả bộ, không chỉ từng câu.