코드를 살펴보면 buf의 오버플로우를 이용하여 return 주소에 접근하여 shellcode를
실행시키면 level20 shell에 접근할 수 있다.
gdb 분석을 위해 쓰기권한이 있는 tmp 디렉터리로 attackme 파일을 복사한다.
위 disassembler 를 스택으로 표현하면 아래와 같다.
export 명령을 사용하여 41byte shell code 환경변수에 등록한다.
환경변수 shellcode의 주소를 출력하는 코드를 위와 같이 작성하여 주소를 확인한다.
위 와같이 스택을 토대로 44byte 후 return 이 위치하는 주소에 환경변수 shellcode 주소를
넣으면 level20 Password를 획득할 수 있다.
[Fedora] 메모리 보호 기법 확인 (0) | 2020.05.08 |
---|---|
[ftz] hacker school level20 풀이 (0) | 2020.04.28 |
[ftz] hacker school level18 풀이 (0) | 2020.04.28 |
[ftz] hcaker school level17 풀이 (0) | 2020.04.28 |
[ftz] hacker school level16 풀이 (0) | 2020.04.28 |