|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|


1576, 1/79 |
![]() |
![]() |
![]() |
![]() |
|
garbage0192 | ||||||
|
BOF 원정대 goblin(level 4) 다시 한 번 더 질문이요!! | ||||||
|
http://www.hackerschool.org/HS_Boards/zboard.php?AllArticle=true&no=1663 [복사]
Hit : 4878 Date : 2013/04/05 11:03
|
|||||||
| ![]() |
| |
| cd80 | 질문해주신 내용은 글보다 그림으로 보시는게 훨씬 이해가 쉽습니다 http://cd80.tistory.com/3 15~18쪽을 보시면 됩니다 문서에서 그 이외의 내용은 풀이이니 공부하실 목적으로 lob를 풀고 계신거라면 안보시는게 좋습니다 프로그램명의 길이가 메모리상 쉘코드의 위치에 영향을 미치는 이유는 메모리의 마지막부분에 환경변수가 존재하는데 환경변수 맨 마지막부분에 프로그램명도 같이 들어가있기 때문입니다 [root@localhost /root]# gdb -q ./test (gdb) b main Breakpoint 1 at 0x80483d3 (gdb) r Starting program: /root/./test Breakpoint 1, 0x80483d3 in main () (gdb) x/s 0xbfffffff-500 0xbffffe0b: "" (gdb) 0xbffffe0c: "LANG=en_US" (gdb) 0xbffffe17: "OSTYPE=Linux" (gdb) 0xbffffe24: "SHLVL=1" (gdb) 0xbffffe2c: "LS_COLORS=no=00:fi=00:di=01;34:ln=01;36:pi=40;33:so=01;35:bd=40;33;01:cd=40;33;01:or=01;05;37;41:mi=01;05;37;41:ex=01;32:*.cmd=01;32:*.exe=01;32:*.com=01;32:*.btm=01;32:*.bat=01;32:*.sh=01;32:*.csh=01"... (gdb) 0xbffffef4: ";32:*.tar=01;31:*.tgz=01;31:*.arj=01;31:*.taz=01;31:*.lzh=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.gz=01;31:*.bz2=01;31:*.bz=01;31:*.tz=01;31:*.rpm=01;31:*.cpio=01;31:*.jpg=01;35:*.gif=01;35:*.bmp=01;3"... (gdb) 0xbfffffbc: "5:*.xbm=01;35:*.xpm=01;35:*.png=01;35:*.tif=01;35:" (gdb) 0xbfffffef: "/root/./test" (gdb) |
2013/04/06 | |
| garbage0192 | //cd80 감사합니다! 결국 푸시를 사용하는 쉘코드와 esp가 너무 가까이 있어서 그랬던거군요! 또 하나 배우고 갑니다. |
2013/04/06 | |
| garbage0192 | 쉘코드에서 esp값을 바꾸니 NOP을 어떻게 넣든지 잘 되네요! | 2013/04/06 | |
|
|