Stack Buffer overflow

    [Dreamhack] Memory Corruption: Stack Buffer Overflow 정리

    [Dreamhack] Memory Corruption: Stack Buffer Overflow 정리

    먼저 스택 오버플로우와 스택 버퍼 오버플로우의 차이점. 스택 오버 플로우는 스택 영역이 너무 많이 확장돼서 발생하는 버그를 뜻하며, 스택 버퍼 오버플로우는 스택에 위치하 버퍼에 버퍼의 크기보다 많은 데이터가 입력되어 발생하는 버그를 뜻한다. 스택 버퍼 오버플로우 스택의 버퍼에서 발생하는 오버플로우를 뜻한다. 버퍼(Buffer)란? 데이터가 목적지로 이동되기 전에 보관되는 임시 저장소이다. 데이터의 처리속도가 다른 두 장치가 있을 때, 둘 사이에 오가는 데이터를 임시로 저장해 두는 것은 일종의 완충 작용을 한다. 예시로 키보드 입력보다 데이터 처리 속도가 더 느릴경우 데이터가 유실 될 수 있수 있어, 수신 송신 측 사이에 버퍼라는 임시 저장소를 두고 간접적으로 데이터를 전달한다. 빠른 속도로 이동하던 데이..