Wargame

이번에 풀이할 문제는 pwnable.kr의 bof 문제다. 이번 문제는 앞선 문제들과 다르게 nc 접속이다. 일단 주어진 링크에서 bof 파일과 bof.c 파일을 다운받고 bof 파일을 실행해봤다. 이름처럼 입력을 통해 bof 시켜서 문제를 푸는 것이 목적인 것 같다. #include #include #include void func(int key){ char overflowme[32]; // 32 크기의 char형 배열 선언 printf("overflow me : "); gets(overflowme);// bof가 일어나는 함수 gets로 입력을 받음 if(key == 0xcafebabe){ // 매개변수의 값이 0xcafebabe라면 쉘 획득 system("/bin/sh"); } else{ print..
이번에 풀이할 문제는 pwnable.kr의 collision 문제다. 이 문제 역시 fd와 마찬가지로 putty에서 풀이했다. 서버에 접속한 후 ls 명령어를 사용해보니 col, col.c, flag가 존재하는 것을 알 수 있다. 이 문제 역시 col 프로그램을 풀면 flag를 읽어 출력해줄 것 같다. 일단 주어진 프로그램인 col을 실행해봤다. 여러 번 실행해봤을 때 이 프로그램은 인자가 필요하고, 이 인자는 20byte 크기의 passcode로 이 passcode가 일치해야지 flag을 읽어준다는 것을 추측할 수 있다. #include #include unsigned long hashcode = 0x21DD09EC; unsigned long check_password(const char* p){ in..
이번에 풀이할 문제는 pwnable.kr의 fd 문제다. 다른 사이트의 문제들과 달리 문제 파일 없이 ssh 서버 주소만 주어져 있다. 주어진 주소로 putty를 통해 접속했다. 접속하고 ls 명령어를 쳐보니 fd(문제 파일), fd.c(c언어 소스 코드), flag가 주어져 있다. 일단 문제 파일을 실행해 봤다. 인자 없이 실행하니 인자를 달라는 문구가 나와서 더미 값으로 1234를 주고 실행해 봤다. 1234를 주고 실행하니 learn about Linux file IO(리눅스 파일 io에 대해 공부해라)라는 문구가 나온다. 일단 혹시 모르니 flag를 cat 명령어로 한 번 확인해봤다. 당연하게도 flag를 볼 수 없었기 때문에 문제를 풀기 위해 fd.c를 cat 명령어로 확인해봤다. #includ..
· Wargame/FTZ
-Level6- 뭔가 많이 황당했던 문제다. 로그인하자마자 쉘 없이 hint가 뜨길래 뭔가 잘못됐나싶어서 종료 명령어인 ctrl c를 누르니 level6 폴더에 바로 password가 있었다. 처음에는 문제 오류인줄 알고 writeup을 찾아봤는데(ctrl c를 누르면 안되는줄 알았다.) 이 방법이 맞았다... level7 password : come together -Level7- 이 문제는 오류가 있었다. 원래대로라면 /bin/level7을 실행하고 잘못된 password를 입력했을 경우 /bin/wrong.txt에서 무언가를 보여주는 것 같은데, 정작 이 txt 파일이 없어서 풀 수 없었다. 할 수 없이 해답을 보고 풀었다. level8 password : break the world -level8..
· Wargame/FTZ
-Level1- level1 / level1으로 접속한 후 ls 명령어를 통해 해당 디렉토리를 탐색하면 hint 파일이 있다. 이를 cat 명령어로 확인하면 level2 권한에 setuid가 걸린 파일을 찾는다. 라는 문구를 출력해준다. level2 권한에 setuid를 찾는 것이 목적이므로 ftz training에서 배웠던 find 명령어를 쓰면 될 것 같다. find -user -perm 형식으로 find 명령어를 사용해서 level2 권한에 setuid가 걸린 파일을 찾았다.(참고 : rapperwoo.tistory.com/64) 최상위 디렉토리부터 찾아야하므로 위치에는 /를 써줬고 사용자 명은 level2를 써줬다. 권한의 경우 setuid는 4000 이상이기 때문에 +4000을 써줬다. /bin..
보호되어 있는 글입니다.
보호되어 있는 글입니다.
보호되어 있는 글입니다.
보호되어 있는 글입니다.
이번에 풀이할 문제는 HackCTF의 x64 Buffer Overflow다. 지금까지는 32bit 문제에서 exploit을 진행했지만, 문제 명으로도 알 수 있듯이 이번 문제는 64bit 문제에서 exploit을 진행한다. file 명령어로 문제 파일의 정보를 확인해보면 64bit라는 것을 알 수 있다. 실행해보면 첫 줄에 입력을 받는데, 이 입력한 값을 바탕으로 두 번째 줄에서 Hello 으로 문구를 출력해준다. 일단 ida로 문제 파일을 열어봤다. char형 변수(배열로 추정) s, int형 변수 v5를 선언하고 scanf 변수를 통해 문자열을 입력 받은 후, v5는 s의 문자열 길이를 담고, printf 함수를 사용해 Hello 형식으로 출력해준다. bof를 일으킬 수 있는 취약한 함수인 scanf..
dyp4r
'Wargame' 카테고리의 글 목록 (6 Page)