ret에 덮을 주소가 0xbfff로 시작하면 안된다. 즉 ff보다 낮은 주소에 있어야 한다.
스택은 높은주소에서 낮은주소로 자라기 때문에 인자값을 길게 주면 0xbffe 주소까지 쓸 수 있을 것 이다.
확인해보자.
다음과 같이 argv[1]의 인자를 길게 주었을때, 0xbffe주소에서 입력한 A와 \x90 + 쉘코드를 찾을 수 있었다.
이 주소로 ret을 덮으면 되겠다.
다음 단계로 넘어가보자.
11. skeleton -> golem (0) | 2020.03.10 |
---|---|
10. vampire -> skeleton (0) | 2020.03.10 |
08. orge -> troll (0) | 2020.03.09 |
07. darkelf -> orge (0) | 2020.03.09 |
06. wolfman -> darkelf (0) | 2020.03.09 |
댓글 영역