자세한 설명1 해커스쿨 F.T.Z Level 18 level 18 로그인 후 hint를 본다. 엄청나게 긴 hint가 나온다. 코드가 긴 만큼 gdb 분석도 길어서 겁먹기에 십상이다. 모르는 함수들이 많고 코드가 길어도 시스템 해킹에서는 언제나 "root의 권한으로 쉘을 실행시킨다"라고 생각하면 쉽다. 위와 같이 생각하고 코드를 보게 되면 변수들이 선언되고 변수 check 값이 0xdeadbeef면 shellout 함수가 실행되는 아주 간단한 코드가 된다. 여기서 알아야 할 것은 "먼저 선언된 변수가 높은 메모리 주소를 가진다"는 것이다. 이것을 알면 스택 구조도 쉽게 파악할 수 있다. 스택 구조를 보게 되면 아래와 같다. 스택 구조 fds 4byte count 4byte x 4byte check 4byte string[100] 100byte SFP 4.. 2020. 2. 29. 이전 1 다음