TAILIEUCHUNG - Cách làm tràn bộ đệm bằng 1 byte

Làm tràn bộ đệm bằng 1 byte trang này đã được đọc Giới thiệu Bộ đệm chương trình có thể bị làm tràn, ghi đè lên các dữ liệu quan trọng lưu trên vùng nhớ của tiến trình và từ đó chúng ta có thể đổi hướng thực thi của nó. | Làm tràn bộ đệm bằng 1 byte trang này đã được đọc lần Giới thiệu Bộ đệm chương trình có thể bị làm tràn ghi đè lên các dữ liệu quan trọng lưu trên vùng nhớ của tiến trình và từ đó chúng ta có thể đổi hướng thực thi của nó. Điều này không có gì mới. Bài viết này không đề cập nhiều đến việc làm thế nào để khai thác lỗi tràn bộ đệm cũng như không dành để giải thích về lỗi này. Nó chỉ để làm rõ rằng có thể khai thác lỗi tràn bộ đệm kể cả trong những điều kiện xấu nhất chẳng hạn bộ đệm chỉ có thể bị làm tràn bởi một byte. Có nhiều kỹ thuật kỳ bí với mục đích khai thác các tiến trình có đặc quyền trong những tình huống khó khăn nhất kể cả khi đặc quyền của tiến trình đã bị tước bỏ. Chúng ta sẽ chỉ đề cập đến tràn bộ đệm một byte trong bài viết này. Mục tiêu tấn công Hãy viết một chương trình suid giả bị lỗi chúng ta sẽ đặt tên là suid . Chương trình sẽ được viết sao cho bị tràn bộ đệm chỉ một byte duy nhất. ipdev tests cat include func char sm char buffer 256 int i for í 0 i 256 i buffer i sm i main int argc char argv if argc 2 printf missing args n exit -1 func argv 1 AD ipdev tests gcc -o suid ipdev tests Như đã thấy chúng ta không có nhiều khoảng trống để khai thác chương trình này. Thực sự là tràn bộ đệm cũng chỉ bị gây ra bởi một byte vượt ngoài kích thước vùng lưu trữ của bộ đệm. Chúng ta sẽ phải sử dụng byte này một cách thật khéo léo. Trước khi khai thác lỗi chúng ta nên xem qua byte này sẽ thực sự ghi đè lên những gì bạn có thể đã biết điều đó . Hãy tập hợp những thông tin trên stack bằng gdb vào lúc tràn bộ đệm xảy ra. ipdev tests gdb . suid . gdb disassemble func Dump of assembler code for function func 0x8048134 func pushl ebp 0x8048135 func 1 movl esp ebp 0x8048137 func 3 subl 0x104 esp 0x804813d func 9 nop 0x804813e func 10 movl 0x0 0xfffffefc ebp 0x8048148 func 20 cmpl 0x100 0xfffffefc ebp 0x8048152 func 30 jle 0x8048158 func 3ô 0x8048154 func 32 jmp 0x804817c func 72 0x8048156 func 34 leal esi esi 0x8048158 func 36 leal 0xffffffÓ0 .

TAILIEUCHUNG - Chia sẻ tài liệu không giới hạn
Địa chỉ : 444 Hoang Hoa Tham, Hanoi, Viet Nam
Website : tailieuchung.com
Email : tailieuchung20@gmail.com
Tailieuchung.com là thư viện tài liệu trực tuyến, nơi chia sẽ trao đổi hàng triệu tài liệu như luận văn đồ án, sách, giáo trình, đề thi.
Chúng tôi không chịu trách nhiệm liên quan đến các vấn đề bản quyền nội dung tài liệu được thành viên tự nguyện đăng tải lên, nếu phát hiện thấy tài liệu xấu hoặc tài liệu có bản quyền xin hãy email cho chúng tôi.
Đã 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.