본문 바로가기

ETC/EVI$ION

EVI$ION 7기 심화스터디 과제 - [ ftz level 6~10 ]

ftz Level 6

접속하자마자 나오는 힌트다.

내가 이런 걸 알리가 없으니 검색을 해보았다.

ctrl + c가 bbs의 텔넷 접속 메뉴에서 많이 사용되던 해킹 방법이라고 한다.

일단 저 화면에서 엔터를 누르니 이런 화면이 나왔고

뭘 눌러도 반응이 없다가 갑자기 접속이 종료됐다.

다시 접속해서 ctrl + c를 누르니 이렇게 창이 떴다.

파일을 확인해보니 password라는 파일이 있어서

cat을 이용해 열어보니 pw가 나왔다.

 

ftz Level 7

 

찾아보니 개인이 ftz 서버를 열면 오류가 생긴다고 한다.

--_--_- --____- ---_-__ --__-_- 

 

정상이라면 이런게 떠야한다고 한다.

 

8bit씩 끊어서 - 은 1, _은 0으로 생각해서 pw를 구하면

--_--_-  1101101(2) = 109(10) = m

--____-  1100001(2) = 97(10) = a

---_-__  1110100(2) = 116(10) = t

--__-_-  1100101(2) = 101(10) = e

(긁어옴)

 

ftz Level 8

 

용량을 알려줬으니 find 명령어를 이용하면 쉽게 찾아진다.

 

저 텍스트 파일을 열어보니

 

이렇게 이상한 게 나온다.

shadow 파일이라 john-the-ripper 사용해서 pw를 찾아야하는 문제이다.

john-the-ripper 다운 받는데 너무 오래 걸려서

그냥 넘어가는 거로...

 

ftz Level 9

 

버퍼오버플로우 문제이다.

buf의 크기는 10인데, 40만큼 입력을 받고있다.

buf 크기 넘게 입력을 받으면 buf 다음에 선언된 buf2에 넘어가게되는데

buf2가 "go"이면 level10의 권한을 주는 것이다.

 

일단 이런 건 잘 몰라서 풀이를 따라해 보았다.

 

저 힌트의 소스코드 파일을 만들어 주었다.

 

앞에서 만든 파일을 디스어셈블하면

0x0804844b <main+43>:   lea    eax,[ebp-40]  - > buf의 시작점
0x08048461 <main+65>:   lea    eax,[ebp-24]  - > buf2의 시작점

이 둘의 차이가 16이므로 16바이트를 채우면 그 다음 바이트는 오버플로우 되어서 buf2 값이 된다.

 

ftz Level 10

 

공유 메모리에 관한 문제라는데 뭔지 모른다.

그래서 그냥 풀이 따라했다.