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.
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).
0 ≤ cap ≤ 10^6, độ dài dữ liệu ≤ 10^6.
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:
Đang tải editor...