BOF 3단계 입니다. 이전 문제풀이와 마찬가지로 bash가 아닌 bash2 에서 실행하도록 하겠습니다. 홈 디렉토리로 가보면 goblin.c 와 goblin 실행파일이 있습니다. 우선 goblin.c 를 까보겠습니다.Colored By Color Scripter™123456789101112/* The Lord of the BOF : The Fellowship of the BOF - goblin - small buffer + stdin*/ int main(){ char buffer[16]; gets(buffer); printf("%s\n", buffer);} argc와 argv를 사용하고 않은 표준입력으로 buffer에 데이터를 받습니다. gets 는 입력길이를 검사하지 않으므로 BOF 취약함수 이므로 ..
BOF 원정대 2단계 입니다. 1단계와 마찬가지로 bash 쉘이 아니 bash2 쉘에서 진행됩니다. 홈 디렉토리에 가면 cobolt.c 와 cobolt 실행 파일이 있습니다. 우선 cobolt.c 를 까보도록 하겠습니다. Colored By Color Scripter™12345678910111213141516/* The Lord of the BOF : The Fellowship of the BOF - cobolt - small buffer*/ int main(int argc, char *argv[]){ char buffer[16]; if(argc Colored By Color Scripter™1234567891011121314150x8048453 : mov %eax,DWORD PTR [%ebp+12]0x..
해커스쿨에서 제공하는 BOF 원정대 1단계입니다. 우선 gate / gate로 로그인 하면 gremlin.c 파일과 gremlin 실행 파일이 있습니다. BOF 원정대 서버에서 기본적으로 뜨는 쉘은 bash 쉘입니다. 근데 이 놈의 bash 쉘 버전이 너무 낮아 문제가 발생하므로 bash2 명령어를 입력하고 bash2 쉘 상태에서 진행해야합니다.(bash1 에서 메모리상 0xff 값을 0x00 으로 처리해버림) 우선 gremlin.c를 까보겠습니다. Colored By Color Scripter™12345678910111213141516/* The Lord of the BOF : The Fellowship of the BOF - gremlin - simple BOF*/ int main(int argc, ..