|
http://www.hackerschool.org/HS_Boards/zboard.php?AllArticle=true&no=20127 [복사]
버퍼오버플로우 관련 질문있습니다
혼자서 도저히 모르겠습니다 ㅠㅠ
1. SYSTEM함수를 RET에 덮어쓸대
| BUF | SFP | RET | AAAA | */bin/sh" |
이런식으로 하는데
RET에서 system을 콜하면
| BUF | system.ebp | system.ret | AAAA | */bin/sh |
콜한 자리에 ret를 쓰고 SFP를 깔고 시작하는거 아닙니까?
저렇게되면 ebp+8 위치에 잇는건 AAAA인데 .... 이부분이 햇갈립니다..
2. 그리고 GOT주소의 끝은 항상 NULL이라는게 이해가안됩니다.
EXECL의 인자로 사용할때 GOT - 8의 주소를 주고 사용하지않습니까
이렇게하면 *GOT의 값으로 심볼릭링크를 걸어서 사용하는데
그 후에 NULL이 어디있습니가? |
Hit : 8408 Date : 2011/03/06 04:45
|