Hackerschool FTZ Write-up
FTZ Level14 Write-up(FTZ Level14 풀이)
Dork94
2018. 3. 24. 06:40
안녕하세요!!!!
벌써 14번이네요 ㅎㅎㅎ
시작하죠!
이번에는 check의 값을 0xdeadbeef로 초기화하는 문제이네요!
저번 문제를 자의로 푸셨으면 쉬울 것이라 생각합니다.
우선 스택의 분석을 위해서 tmp폴더에 복사한 후 gdb로 열어서 보게 되면 deadbeef와 비교하는 저부분이 check의 주소라는 것을 추론할 수 있습니다.
그리고 fets을 부르기 전 인자로 전달하는 저 주소는 buf라는 것을 짐작할 수 있죠!
그래서 주소의 차이를 계산해 보면 f0 - c8 = 0x28이라는 것을 알 수 있습니다.
즉, 버퍼에 0x28(40)만큼 채운 후 그 뒤 값을 deadbeef로 채우면 될 것 같군요.
그래서 아래와 같이 코드를 작성 할 수 있습니다.
마찬가지로 프로그램 실행 후 버퍼의 값을 입력 받으므로 아래와 같이 명령을 적으면 되겠죠!
잘 모르신다면 아래 게시글을 참조하세요!
2018/03/24 - [Develop] - Python, Perl Bufferover Flow 인자 전달 명령어 Command Line command
마찬가지로 프롬포트가 이상하긴하지만 명령어를 적으면 정상적으로 수행하는 모습을 보여주네요!
그럼 다음문제로 귀 귀 싱!