Tìm hiểu đầy đủ về tràn bộ đệm

Tràn bộ đệm là một trong những lỗ hỏng bảo mật lớn nhất hiện nay. Vậy tràn bộ đệm là gì? Làm thế nào để thi hành các mã lệnh nguy hiểm qua tràn bộ đệm.? ***Lưu ý*** một ít kiến thức về Assembly, C, GDB và Linux là điều cần thiết đối với bạn! | Tìm hiểu đầy đủ về tràn bộ đệm ĐT - Vicki s real fan Lời mở đầu Tràn bộ đệm là một trong những lỗ hỏng bảo mật lớn nhất hiện nay. Vậy tràn bộ đệm là gì Làm thế nào để thi hành các mã lệnh nguy hiểm qua tràn bộ đệm. Lưu ý một ít kiên thức về Assembly C GDB và Linux là điều cần thiêt đôi với bạn Sơ đồ tổ chức bộ nhớ của một chương trình -------------------- địa chỉ vùng nhớ cao _ . . I I Stack I I I I------------------I I Initialized I I Data I I Uninitialized I I-------------------I I _ . I I Text I I i -------------------- địa chỉ vùng nhớ thấp Stack và Heap Heap là vùng nhớ dùng để cấp phát cho các biến tỉnh hoặc các vùng nhớ được cấp phát bằng hàm malloc Stack là vùng nhớ dùng để lưu các tham số và các biến cục bộ của hàm. Các biến trên heap được cấp phát từ vùng nhớ thấp đến vùng nhớ cao. Trên stack thì hoàn toàn ngược lại các biến được cấp phát từ vùng nhớ cao đến vùng nhớ thấp. Stack hoạt động theo nguyên tắc vào sau ra trước Last In First Out -LIFO . Các giá trị được đẩy vào stack sau cùng sẽ được lấy ra khỏi stack trước tiên. PUSH và POP Stack đổ từ trên xuống duới từ vùng nhớ cao đến vùng nhớ thấp . Thanh ghi ESP luôn trỏ đến đỉnh của stack vùng nhớ có địa chỉ thấp . đỉnh của bộ nhớ I I 1 - I I 1 đáy của stack 1 I I . . . . . I đáy của bộ nhớ I I I I -- -- ESP đỉnh của stack PUSH một value vào stack đỉnh của bộ nhớ I I - I I đáy của stack I I I I ----- 2 - value I I I --I I - ESP cũ - ESP mới ESP cũ - sizeof value 1 đáy của bộ nhớ -- đỉnh của stack 1 ESP ESP-sizeof value 2 value được đẩy vào stack POP một value ra khỏi stack đỉnh của bộ nhớ I I - I I đáy của stack I I . I sizeof value 2 I 1 - value đáy của bộ nhớ I I I --I I -- - ESP mới ESP cũ - ESP cũ đỉnh của stack 1 value được lấy ra khỏi stack 2 ESP ESP sizeof value Khác nhau giữa các lệnh hợp ngữ AT T với Intel Khác với MSDOS và WINDOWS NIX dùng các lệnh hợp ngữ AT T. Nó hoàn toàn ngược lại với chuẩn của Intel Microsoft. Ví dụ Intel mov eax esp push 7 mov esp 5 eax inc ah push 7 AT T movl esp eax push

Không thể tạo bản xem trước, hãy bấm tải xuống
TỪ KHÓA LIÊN QUAN
TÀI LIỆU MỚI ĐĂNG
Đã 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.