Các lượt nộp
    Danh sách bài
    Trang chủ
    Báo lỗi

    solution

    Đề bài: [An toàn thông tin] Kiểm tra tràn bộ đệm

    Kiểm tra tràn bộ đệm (buffer overflow)

    Khái niệm. Tràn bộ đệm xảy ra khi chương trình ghi lượng dữ liệu lớn hơn kích thước vùng nhớ (bộ đệm) đã cấp phát. Đây là một trong những lớp lỗ hổng kinh điển. Ở góc độ phòng thủ, ta chỉ phân tích xem một đầu vào có khả năng gây tràn hay không, bằng cách so sánh độ dài dữ liệu với sức chứa bộ đệm.

    Cho sức chứa bộ đệm cap (số byte) và một chuỗi dữ liệu, nếu độ dài chuỗi lớn hơn cap thì có nguy cơ tràn.

    Ví dụ. cap = 8, dữ liệu helloworld (10 ký tự) → TRAN.

    • Định dạng đầu vào:

      Dòng 1: số nguyên cap là sức chứa bộ đệm. Dòng 2: chuỗi dữ liệu (có thể rỗng).

    • Ràng buộc đầu vào:

      0 ≤ cap ≤ 10^6, độ dài dữ liệu ≤ 10^6.

    • Định dạng đầu ra:

      Một dòng: TRAN nếu độ dài dữ liệu > cap, ngược lại AN TOAN.

    Ví dụ:

    Đầu vào:

    8
    hello

    Đầu ra:

    AN TOAN

    Giải thích:

    Chuỗi 'hello' dài 5, không vượt sức chứa 8 nên AN TOAN.

    Đang tải editor...