Rate this post

Buffer Overflows phát sinh khi một chương trình cố gắng lưu trữ nhiều dữ liệu hơn trong vùng lưu trữ dữ liệu tạm thời (bộ đệm) so với dự định lưu trữ. Vì bộ đệm được tạo ra để chứa một lượng dữ liệu hữu hạn, thông tin bổ sung có thể tràn vào bộ đệm liền kề, do đó làm hỏng dữ liệu hợp lệ được giữ trong chúng.

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

Thí dụ

Đây là một ví dụ cổ điển về Buffer Overflows. Nó cho thấy một sự cố Buffer Overflows đơn giản gây ra bởi tình huống đầu tiên dựa vào dữ liệu bên ngoài để kiểm soát hành vi của nó. Không có cách nào để giới hạn số lượng dữ liệu mà người dùng đã nhập và hành vi của chương trình phụ thuộc vào số lượng ký tự mà người dùng đã nhập vào bên trong.

char bufr[BUFSIZE]; 
   gets(bufr);

Kiểm tra lỗ hổng bảo mật

Bước 1 – Chúng ta cần đăng nhập với tên và số phòng để truy cập internet. Đây là ảnh chụp nhanh kịch bản.

Bước 2 – Chúng tôi cũng sẽ bật “Hiện các trường biểu mẫu ẩn” trong Burp Suite như hình dưới đây –

Bước 3 – Bây giờ chúng tôi gửi một đầu vào trường tên và số phòng. Chúng tôi cũng thử và đưa một số khá lớn vào trường số phòng.

Bước 4 – Các trường ẩn được hiển thị như hình dưới đây. Chúng tôi nhấp vào chấp nhận các điều khoản.

Bước 5 – Cuộc tấn công thành công, chẳng hạn như do Buffer Overflows, nó bắt đầu đọc các vị trí bộ nhớ liền kề và hiển thị cho người dùng như hình dưới đây.

Bước 6 – Bây giờ chúng ta hãy đăng nhập bằng dữ liệu được hiển thị. Sau khi ghi nhật ký, thông báo sau được hiển thị:

Cơ chế phòng ngừa

  • Đánh giá mã
  • Đào tạo nhà phát triển
  • Công cụ biên dịch
  • Phát triển các chức năng An toàn
  • Quét định kỳ

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *

Contact Me on Zalo
Call now