이 힌트를 통해 저 /usr/bin/bof 파일로 다음으로 넘어갈 수 있다는 것을 알 수 있습니다.

버퍼 오버플로우로 buf2에 go를 입력하라고 하네요..

 

이 파일을 바로 gdb 분석할 수는 없으므로, 저 코드로 된 파일을 만들어 분석하겠습니다.

코드를 복사 붙여넣기 한 다음에, buf2와 buf의 주솟값을 출력하도록 했습니다.

 

대충 이렇게 생겼다고 하네요..

우선 스택을 만들어주는데, 0x28 즉 40만큼의 크기를 배당합니다.

그리고 할당된 주솟값을 찾아보니, 16만큼의 크기차이가 존재한다는 것을 알 수 있습니다.

이를 통해 우리는 buf에 16개의 문자를 집어넣으면, 그 다음부터는 buf2에 들어간다는 것을 알 수 있습니다.

 

따라서 A16개와 go를 입력하면?

해결할 수 있습니다!

+ Recent posts