본문 바로가기
ftz 풀이 level11 ftz level11을 풀어보겠습니다. 우선 힌트 조회 입니다. 힌트에는 C언어가 있습니다. strcpy 명령을 보니 버퍼오버플로를 생각할 수 있습니다. 그리고 attackme라고 자신을 공격해 달라는 파일이 떡하니 있습니다. 힌트로 코딩된 파일로 유추할 수 있습니다. attackme 파일을 실행해보면 뒤에 나오는 인자를 그냥 그대로 출력해 줍니다. 배열의 크기가 256이니 그 보다 큰 인자를 넣어서 버퍼 오버플로를 일으킨다고 생각하면 될거같습니다. 본격적인 작업을 하기전에 디버깅을 위해서 attackme 파일을 tmp 디렉터리 안으로 옮겨줍니다. 저는 attack이라는 파일로 복사하였습니다. 메모리 분석을 위하여 gdb [파일명] 을 사용하였습니다. gdb에 관한 명령어는 아래 URL을 참조하시기 바랍.. 2016. 12. 28.
ftz 풀이 level10 ftz level10을 풀어보겠습니다. 우선 힌트를 조회해 보니 대화방이 있는데 공유메모리를 이용하여 만들어 졌고 key의 값을 알려주었습니다. 그리고 대화를 도청하여 패스워드를 도출하라는 문제 입니다. 레벨을 다 풀면 소스를 지워달라고 하는 군요.. 우선 이번 문제에서는 공유메모리와 key_t 에 포커스가 맞추어져 있는거 같습니다. 그리고 소스를 지우라는거 보니 코딩도 하는거 같습니다. 우선 공유메모리에 대해 짚고 넘어가겠습니다. 공유메모리 : 보통 프로세스는 각자의 메모리공간을 가지게 되는데, 프로세스간의 통신이 필요해져 여러프로세스가 한 메모리 공간을 사용하며, 서로 통신을 하고 수행 속도도 원할하게 만드는 메모리 기술 입니다.쉽게 말해 한 메모리공간을 여러 프로세스(프로그램)가 사용하는 것 입니다.. 2016. 12. 12.
ftz 풀이 level9 ftz level9를 풀어보겠습니다. /usr/bin/bof 의 소스가 나오면서 이를 이용하여 level10의 권한을 얻으라고 합니다. 간단한 소스 분석부터 하겠습니다. #include #include #include main(){ char buf2[10]; //char 형으로 buf2 배열 선연 10바이트 char buf[10]; //char 형으로 buf 배열 선연 10바이트 printf("It can be overflow : "); //해당 문장 출력 fgets(buf,40,stdin); //입력받은값을 buf에 저장하는데 크기는 40바이트 이하여야 합니다. if ( strncmp(buf2, "go", 2) == 0 ) //buf2의 앞 2바이트와 "go" 를 비교했을때 같으면 { printf("G.. 2016. 12. 7.
ftz 풀이 level8 ftz level8 을 알아보겠습니다 힌트를 조회해 보니 level9 의 shadow 파일이 숨겨져 있고 알려진것은 이파일의 크기가 2700 이라는 것 뿐이라고 합니다. shadow 파일에 관한 설명은 아래를 참고하면 됩니다. 2016/10/27 - [Linux] - 2. Linux 기본 명령어(사용자 파일) 키워드가 파일 크기가 2700 이라는 것 밖에 없습니다. find 명령으로 조회해 보는 방법을 생각할 수 있습니다. find명령은 아래의 글을 참고 하시기 바랍니다. 2016/11/08 - [Linux] - 6. Linux 기본 명령어(파일관련 ls, mv, cp, rm, touch, file, find) $ find / -size 2700c 2>/dev/null find 명령으로 크기가 2700바.. 2016. 12. 1.
ftz 풀이 level7 ftz level7 을 풀어보겠습니다. 힌트조회를 해보니 level7을 실행하면 패스워드 입력을 요청한다고 합니다. 패스워드는 가까운 곳에 있으니 상상력을 총동원하라고 하고, 2진수를 10진수로 바꾸고, 계산기는 공학용으로 하라네요. 우선 level7을 실행시켜줬습니다. 그랬더니 패스워드는 가까운곳에 있다면서 작대기가 나옵니다. 위/아래로 나오는데 2진수라는 키워드가 있었습니다. 위를 1로 잡고, 아래를 0으로잡아 2진수로 바꾸어 보겠습니다. --_--_- --____- ---_-__ --__-_- 자세히 보면 작대기가 7개쓰고 스페이스바가 들어가 있습니다. 일단 2진수로 바꾸면, 1101101 1100001 1110100 1100101 힌트에 2진수 -> 10진수라고 나와 있었으니 10진수로 바꾸어 보.. 2016. 11. 29.
ftz 풀이 level6 ftz level6 를 풀어보겠습니다. level6 로 로그인하자마자 hint가 나옵니다. 인포샵 bbs 의 텔넷접속에서 많이 사용되는 해킹방법 이라고 나왔습니다. 여기서 bbs 는 쉽게 말해 전자게시판 이라고 보시면 됩니다. 그러나 너무 오래전에 쓰던 방식이라 지금은 생소합니다.. 사실저도 직접 써본적이 없습니다. 텔넷은 다들 아시다시피 원격접속 서비스를 제공하는 네트워크 프로토콜 입니다. bbs 사용당시에 많이 쓰인 해킹 기법이라는데 우선 엔터를 치니 아래와 같이 나옵니다. 하이텔, 나우누리, 천리안 다 예전에 사용하던 PC 통신 방식입니다. 1, 2, 3 번 다 선택해 봤는데 접속이 안되는 것을 볼 수 있습니다. 터미널이 그냥 종료가 되었습니다. 그러면 다시 접속해서 이번에는 엔터를 누르지 않고 종.. 2016. 11. 28.