코드를 보면 ultra argv hunter 라고 argv를 모두 초기화 시키는 부분이 추가되었다.
처음에는 어떻게 할지 모르겠어서 일단 코드를 보고 심볼릭링크가 필요하다는 것을 알았다.
gdb 권한문제 때매 파일 명 길이가 같은 새 파일에 복사 후 심볼릭 링크를 걸어주었다.
쉘코드는 이것을 사용하였다.
\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
구글링을 통해 스택 레이아웃을 다시 한번 살펴보았다.
https://www.win.tue.nl/~aeb/linux/hh/stack-layout.html
마지막 부분에 program name이 남는 것을 볼 수 있었다.
혹시나 해서 한번 시도해보았다.
정말로 마지막 부분에 프로그램 이름이 남아있었다.
그래서 이부분에서 nop 주소중 하나를 골라서 ret에 덮었더니 성공하였다.
Flag : shellcoder
'IT > LOB' 카테고리의 다른 글
[LOB] skeleton (0) | 2016.07.24 |
---|---|
[LOB] troll (0) | 2016.07.17 |
[LOB] orge (0) | 2016.07.17 |
[LOB] darkelf (0) | 2016.07.17 |
[LOB] wolfman (0) | 2016.07.17 |