stack destroyer을 보니 모든 스택을 다 초기화 할 것 같다.
다음과 같이 env, buf, argv 모두 사용할 수 없다. 그렇다면 어떻게 해야할까?
stack보다 더 낮은 영역에 쓰면 되겠다.
여기서 우리는 공유 라이브러리를 사용 할 수있다.
그렇다고 한다. 그러면 공유라이브러리 이름을 쉘코드로 만들어서 LD_PRELOAD를 환경변수에 추가해보자.
이제 해당 지역이 지워지는지 확인해보자.
해당영역은 초기화되지 않았으므로 사용할 수 있다. 해당 주소로 ret을 덮어보자.
다음 단계로 넘어가보자.
13. darkknight -> bugbear (0) | 2020.03.10 |
---|---|
12. golem -> darknight (0) | 2020.03.10 |
10. vampire -> skeleton (0) | 2020.03.10 |
09. troll -> vampire (0) | 2020.03.10 |
08. orge -> troll (0) | 2020.03.09 |
댓글 영역