level14 문제와 유사하며 buf오버플로우를 이용하여 *check 포인터 변수에 0xdeadbeef 가 위치한
주소를 넣어주면 level15 shell에 접근할 수 있다.
위 와 그림과 같이 쓰기 권한이 있는 tmp 디렉터리로 attackme 파일을 복사한다.
위 disassembler를 스택으로 표현하면 아래와 같다.
위 그림의 빨간 박스에서 0xdeadbeef가 위치한 주소는 0x080484b0 이다.
실제로는 2byte 더한 주소에 위치에 있다. 아래그림을 참고한다.
0xdeadbeef 가 위치한 0x080484b2 주소를 *check 포인터 변수 주소에 넣어주면 위와 같이
level16의 password를 획득할 수 있다.
[ftz] hcaker school level17 풀이 (0) | 2020.04.28 |
---|---|
[ftz] hacker school level16 풀이 (0) | 2020.04.28 |
[ftz] hacker school level14 풀이 (0) | 2020.04.28 |
[ftz] hacker school level13 풀이 (0) | 2020.04.28 |
[ftz] hacker school level12 풀이 (0) | 2020.04.27 |