Heap overflow là gì?
Phrase
Security
- ★
- ★
- ★
- ★
- ★
heap smashing heap overrun
Heap overflow là một loại của buffer overflow xảy ra trong vùng nhớ heap. Có hai tình huống có thể dẫn đến heap overflow:
1. Nếu chúng ta liên tục cấp phát (allocate) bộ nhớ (memory) và chúng ta không giải phóng dung lượng bộ nhớ đó sau khi sử dụng, nó có thể dẫn đến rò rỉ bộ nhớ (memory leak) - bộ nhớ vẫn đang được sử dụng nhưng không khả dụng cho các tiến trình (process) khác.
// C program to demonstrate heap overflow
// by continuously allocating memory
#include
int main()
{
for (int i=0; i
2. Nếu chúng ta phân bổ động một số lượng lớn các biến (variable).
// C program to demonstrate heap overflow
// by allocating large memory
#include
int main()
{
int *ptr = (int *)malloc(sizeof(int)*10000000));
}
Learning English Everyday