Buffer Overflow

Note lại bài Buffer Overflow
Note lại bài.
EIP: Thanh ghi con trỏ lệnh hiện hành., có người hiểu là lệnh tiếp theo, chuẩn bị được thực hiện.
ESP: Thanh ghi luôn trỏ đến đỉnh hiện thời ngăn xếp
EBP: Con trỏ cơ sở, nó sẽ là chuẩn để truy cập trong bộ nhớ.
Stack có địa chỉ phát từ trên cao xuống thấp.
Quá trình gọi hàm sẽ là:
Push các tham số ( đối số) của hàm vào stack.
Push EIP, đây là địa chỉ chương trình trả về sau khi thực hiện xong CT
Push giá trị EBP cũ ( của chương trình trước) vào stack
Push tiếp các biễn cục bộ.
Giá trị stack từ cao xuống thấp.
Giả sử trong CT có biến có độ dài 40 bytes, tuy nhiên ta nhập vào 1 dữ liệu lớn hơn 40 byte, phần dư sẽ được ghi đè lên 2 thanh ghi là EBP và EIP. Vấn đề là EIP sẽ chứa lệnh của chương trình trả về. Từ đó, attacker sẽ tìm cách nạp địa chỉ của đoạn code exploit vào EIP.
Khi đó, CT sẽ chuyển hướng, thực thi đoạn code CT exploit.

------------------------------------------------------------
Thanks for reading
--------------------------------------------------------------------------
All my Lab:
Linux Lab -- window and Cisco Lab
to be continued - I will update more.

Nam Habach