BOF원정대 - 1탄(gate -> gremlin)
1단계씩 몬스터를 쓰러트리면서 던전을 클리어 하는 TheLordOfBOF - BOF 원정대 워게임이다. 우선 문제에 대해서 확인해보자. strcpy 에서 문자열 길이에 대한 검증을 하지 않았으므로 버퍼 오버플로우를 일으킬 수 있는 기초적인 문제였다. 우선 gdb로 메모리 구성을 살펴보도록 하자. 스택의 메모리 확보량이 정확히 256으로 더미가 존재하지 않는다. 따라서 버퍼 오버플로우 공격을 해보도록 하겠다. 환경변수에 shellcode를 등록한 후 gremlin에 대하여 환경변수가 위치하는 메모리 주소를 알아보았다. 스택의 구조는 buf[256] + SFP[4] +RET로 구성되어 있으므로 260바이트를 다른 값으로 적은 다음 RET 주소를 쉘코드가 위치한 주소로 덮어씌워주면 된다. ./gremlin `..
[Hackerschool] The Lord Of The BOF
2017. 11. 18. 02:44