버퍼 오버플로란? 먼저 이 글은 pwnable.kr에 bof 문제를 처음 접하게 되면서 한번 정리해야 겠다는 생각이 들어 정리하게 되었습니다. 버퍼 오버플로(buffer overflow)란?? 버퍼오버플로 어디서 한번쯤은 들어보셨을 것이라고 생각합니다.버퍼오버플로에 대해서 알아보기 전에 buffer와 overflow의 사전적 의미를 알아봅시다. buffer 란? 데이터를 한 곳에서 다른 한 곳으로 전송하는 동안 그 데이터를 보관하는 메모리의 영역입니다. overflow 란? 사전적으로 넘쳐흐른다는 뜻 입니다. (buffer+overflow)버퍼 오버플로 란? 할당된 메모리 영역이 아닌 다른 영역을 침범하는 공격 이라는 이야기 입니다. 이번에는 버퍼오버플로중에서 주로 스택 오버플로에대해서 다루어 보려고 합..
문제를 처음 본 순간 미루고 미루던 gdb 공부를 해야겠구나 라는 생각이 들었다. 그렇게 문제를 처음 본지 하루 정도가 지나서야 간단한 gdb명령어를 익히고 bof 문제를 제대로 풀기 시작했다. 여기서 사용된 개념인 gdb, 버퍼오버플로우, python을 통한 인자 전달은 다른 포스팅에서 설명하겠습니다. 사전조사 해당 문제는 소스파일과 문제파일 두개를 주었고, 문제의 정답은 nc pwnable.kr 9000을 통해서 입력해 주면 될듯 합니다. bof.c소스파일 해당 문제의 소스 파일을 먼저 간단하게 해석해보면 key값이 0xcafebabe와 같아지면 쉘을 실행시켜주고 그 실행된 쉘을 통해서 flag파일을 찾으면 될 듯 합니다. 하지만 key의 값을 입력하는 곳은 어디에도 없고 func에서 overflow..