tailieunhanh - Buffer overflow: Module 17

Tài liệu "Buffer overflow: Module 17" trình bày 5 chủ đề chính: Tổng quan về buffer overflow shell code, Khai thác buffer overflow, tìm kiếm lỗi tràn bộ đệm, minh họa khai thác lỗi tràn bộ đệm. Mời các bạn tham khảo. | Module 17 Buffer Overflow Các Chủ Đề Chính Trong Chương Này Tổng Quan Về Buffer Overflow Shell Code khai thác buffer overflow Tìm Kiếm Lỗi Tràn Bộ Đệm Minh Họa Khai Thác Lỗi Tràn Bộ Đệm 1 Tổng Quan Về Buffer Overflow Buffer Overflow hay BoF là lỗi tràn bộ đệm, có nguyên nhân gần giống với tình huốn tấn công SQL injection khi người dùng hay hacker cung cấp các biến đầu vào hay dữ liệu vượt quá khả năng xử lý của chương trình làm cho hệ thống bị treo dẫn đến từ chố dịch vụ (DoS) hay có khả năng bị các hacker lợi dụng chèn các chỉ thị trái phép nhằm thực thi các đoạn mã nguy hiểm từ xa. Có hai dạng lỗi tràn bộ đệm là stack-based và heapbased. Cả hai thành phần stack và heap đều được sử dụng để lưu trữ các biến người dùng khi chạy chương trình. Khi một chương trình được nạp vào bộ nhớ được chia thành 6 giai đoạn tương ứng với sơ đồ phân đoạn trong bộ nhớ như hình minh họa bên dưới : Hình - Sơ đồ các phân đoạn trong bộ nhớ Đầu tiên, các chỉ thị lệnh hay mã máy (phần tập tin thực thi nhị phân) sẽ được nạp qua phân đoạn text để thực thi các tác vụ của ứng dụng, vùng này được gán giá trị chỉ đọc có kích thước cố định tùy thuộc vào giá trị khởi tạo khi chương trình được nạp. Tiếp theo là phân doạn data chưa các biến toàn cục có giá trị khởi tạo ban đầu. Sau đó là vùng bss (below stack session) cũng dùng để lưu các biến toàn cục nhưng không có giá trị khởi tạo, kích thươc của vùng này và data cũng cố định khi chương trình được nạp. Và cuối cùng là vùng ENV, dùng để nạp các biến môi trường và đối số, cũng là giai đoạn sau cùng khi ứng dụng được nạp và thực thi. Trong các phân đoạn trên thì phân doạn heap và stack là những nơi mà hacker sẽ tiến hành khai thác lỗi tràn bộ đệm, vùng heap dùng để cấp phát các biến động trong khi thực thi bở các lời gọi hàm như malloc(). Heap phát triển từ vùng bộ nhớ có địa chỉ từ thấp đến cao theo nguyên tắt FIFO (Firt in first out, biến nào nạp trước sẽ lấy ra sử dụng trước). Như hình dưới minh họa một nội dung của Heap : Hình –

TỪ KHÓA LIÊN QUAN
crossorigin="anonymous">
Đã phát hiện trình chặn quảng cáo AdBlock
Trang web này phụ thuộc vào doanh thu từ số lần hiển thị quảng cáo để tồn tại. Vui lòng tắt trình chặn quảng cáo của bạn hoặc tạm dừng tính năng chặn quảng cáo cho trang web này.