2023-09-06 22:14:49

문자열에 데이터를 넣을때 항상 마지막 문자에는 '\0'이 들어간다.

 

void main(void){
	char str[10] = {"bufferover"};
    return;
}

그러나 이런 코드의 경우에는 메모리 마지막 주소에 r이 들어가기 때문에 '\0'이 들어갈 자리가 없다. 이렇게 되면 원격코드실행이 가능해지는 취약점이 발생한다. 이를 보고 buffer overflow라 한다

'IT > C' 카테고리의 다른 글

short curcuit tip  (0) 2023.09.12
divide zero  (0) 2023.09.07
VLA  (0) 2023.09.06
c의 long double  (0) 2023.09.06