level2의 login은 gremlin이고 password는 level1으로 얻어진 값 hello bof world이다!!
우선 로그인을 한 다음 bash2를 이용해서 오류를 방지하고 ls -l을 이용하여 어떤 파일과 디렉토리가 있는지 확인하였다.
다음 cat 명령을 이용하여 cabolt.c의 코드를 확인하였다. 여기에서 buffer의 크기는 16이라는 것을 확인할 수 있었다.
gdb를 이용해서 cobolt을 열어보니 <main+56>번째의 [%ebp-16]으로 dummy가 없다는 것을 알 수 있었다.
mkdir 명령어를 이용하여 tmp 디렉토리를 만들어주고 cd 명령어를 이용하여 gremlin 디렉토리에서 tmp 디렉토리로 이동하였다.
환경변수를 41바이트 쉘코드로 추가하였다. 따라서 환경변수의 주소를 0xbffff16이라는 것을 알 수 있었다.
이 주소를 리턴 값에 넣어주면 다음 레벨의 답을 찾아낼 수 있다.
hacking exposed
'LOB' 카테고리의 다른 글
LOB level 6 (0) | 2020.08.19 |
---|---|
LOB level 5 (0) | 2020.08.19 |
LOB level 4 (0) | 2020.08.19 |
LOB level3 (0) | 2020.08.18 |
LOB level1 (0) | 2020.08.14 |