IT/C

buffer overflow

u149_cinderella 2023. 9. 6. 22:14

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

 

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

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