코드를 보면 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

+ Recent posts