암호

    [해커스쿨] FTZ level12 풀이과정

    [해커스쿨] FTZ level12 풀이과정

    2017/01/11 - [Study :)/FTZ] - [해커스쿨] FTZ level11 풀이과정 자.. 뭘해야될지.. 알지?...요? 힌트를 보장~ level11이랑 비슷하게 보이지만, 다르다.(당연히 다르니까 level12겠지!!)level11은 인자값으로 문자열을 입력받았다면, level12은 gets함수를 통해서 문자열을 입력 받는다. level12도 str(256) + dummy(8) + SFP(4) + RET(4) 이렇게 메모리 구조가 되겠다.level11과 똑같은 구조이지만, 입력받는 방식이 다르다는 차이점이다. 와 을 비교해보면 알 수 있다. 따라서, 문자열을 입력시키는 방법만 다르게 하면 문제는 level11과 똑같이 풀릴것이다.그래서 우린 Pipe('|')를 이용할 것이다. Pipe명령어..

    [해커스쿨] FTZ level11 풀이과정

    [해커스쿨] FTZ level11 풀이과정

    2017/01/11 - [Study :)/FTZ] - [해커스쿨] FTZ level10 풀이과정 힌트!!! 보자고~ attackme 라는 파일이 보이고, 힌트에는 어떤 소스코드가 들어있다. attackme 를 실행시켜 보니. 역시 소스코드데로 실행된다. 즉, 힌트가 attackme의 소스코드 인것이다. 그러면 이 문제는 어떻게 풀어야 될까... 소스 코드를 보니 단순히 256byte의 str배열을 선언하고 setreuid를 실행하고 argv[1]의 인자값을 str에 복사하고 str를 출력하는게 끝이다. 그런데.. strcpy를 사용하는 것을 보니 이또한 버퍼 오버플로우에 취약하다. level9 풀이(http://eunice513.tistory.com/54)를 보면 Buffer Overflow에 대한 설명..

    [해커스쿨] FTZ level10 풀이과정

    [해커스쿨] FTZ level10 풀이과정

    2017/01/11 - [Study :)/FTZ] - [해커스쿨] FTZ level9 풀이과정 힌트를 보자...(맨날 똑같은 시작문구 ㅋㅋㅋ) 공유메모리... key_t의 값이 7530... 뭔지 모르겠지만, 일단 공유 메모리에 대해서 검색해보자. 공유 메모리에 대하여 : http://www.joinc.co.kr/w/Site/system_programing/IPC/SharedMemory 위의 그림과 링크를 참조해보면, 2가지 이상의 프로세스들이 공유하는 메모리공간을 말한다. 그리고 공유메모리에 접근을 하기 위해서는 고유의 공유메모리 key 를 통해서 접근가능해지며, 이 key값을 통해서 다른 여러개의 공유메모리들과 구분되어 질수 있다.또, ipcs 명령어로 공유메모리 정보를 알 수 있으며, int shm..

    [해커스쿨] FTZ level9 풀이과정

    [해커스쿨] FTZ level9 풀이과정

    2017/01/11 - [Study :)/FTZ] - [해커스쿨] FTZ level8 풀이과정 힌트를 봐야 겠지? 힌트를 보니 Buffer Overflow 문제인 것같다. 버퍼 오버플로우는 어떻게 발생하는가? 버퍼 오버플로우를 이해하기 위해서는 먼저 프로그램이 데이터를 어떻게 저장하고 어떻게 함수가 호출되는지 알아야 한다. 하나의 프로그램은 수 많은 함수로 구성되어 있는데 이 함수가 호출될 때, 지역 변수와 복귀 주소(Return Address)가 스택(Stack)이라 하는 논리 데이터 구조에 저장된다. 복귀 주소가 저장되는 이유는 함수가 종료될 때 운영체제가 함수를 호출한 프로그램에 제어권을 넘겨야 하는데, 이 복귀주소가 없으면 함수가 종료된 후 어떤 명령어를 수행해야 할 지 모르기 때문이다. 버퍼 오..

    [해커스쿨] FTZ level8 풀이과정

    [해커스쿨] FTZ level8 풀이과정

    힌트를 보자... 용량이 2700크기의 파일을 찾으면 될것같다. find 명령어를 시용하면 될것 같은데... 앞에선 permision과 user에 대한 옵션만 사용했을뿐... 용량에 관한 검색은 모르겠다... 당연.. find 명령어 옵션에 대해 검색해보자. - 빈 파일(크기가 0 인 파일) 찾기 find / -empty -print | more 또는 find / -size 0 -print | more - 파일 크기가 100M 이상인 파일을 찾기 find / -size +102400k -print | xargs ls -hl 이런 글을 찾게 되었다. 저기서 more이라는 명령어는 페이지 단위별로 출력하는 명령어 이다. xargs에 대한 내용은 (http://www.dreamy.pe.kr/zbxe/CodeC..

    [해커스쿨] FTZ level7 풀이과정

    [해커스쿨] FTZ level7 풀이과정

    2017/01/11 - [Study :)/FTZ] - [해커스쿨] FTZ level6 풀이과정 자... 힌트를 보자.. /bin/level7 을 실행시켜 보자 /bin/wrong.txt 파일이라는게 없덴다... 뭔가 이상해서 검색해보니.. 해커스쿨 FTZ에 오류랜다.. 그래서 이 문제를 풀려면 /bin 디렉토리에 wrong.txt라는 파일을 추가해줘야 된다. 일단 root로 접속해서 해당 디렉토리에 wrong.txt를 만들고 내용은 이렇게 저장하자. Can't Password. Near the Password!--_--_- --____- ---_-__ --__-_- 이렇게 내용을 저장하고 다시 level7계정으로 접속후 /bin/level7을 실행시켜보자. 이미 /bin/level7을 실행시키면 /bin..

    [해커스쿨] FTZ level6 풀이과정

    [해커스쿨] FTZ level6 풀이과정

    2017/01/11 - [Study :)/FTZ] - [해커스쿨] FTZ level5 풀이과정 level6의 힌트를 보자. 힌트를 보니 많이 사용하는 해킹 방법 이랜다... 그런데.. password라는 파일이 보인다... 뭐지.. 열어 보았다. 뭐지.. 바로 level7의 패스워드가 들어있다. 뭔가.. 문제가 잘못된듯 하다.문제의 의도대로 다시 풀어보기로 했다.password파일 말고도 tn이라는 파일이 보여서 한번 실행 시켜 보았다. 이러한 화면이 출력된다. 하이텔, 나우누리, 천리안 이렇게 번호를 선택해서 엔터를 쳐보면.. 해당 ip로 접속되는것 처럼 보이면서 아무런 반응이 보이지 않는다... 어떻게 해야 될까... 힌트에서 보았듯이 인포샵 bbs의 해킹방법을 검색해 보기로 했다.... 인포샵 bb..

    [해커스쿨] FTZ level5 풀이과정

    [해커스쿨] FTZ level5 풀이과정

    2017/01/11 - [Study :)/FTZ] - [해커스쿨] FTZ level4 풀이과정 level5의 힌트를 보자. '/usr/bin/level5'프로그램은 level5.tmp라는 임시파일을 생성한다고 하니... 일단 실행해 보기로 했다. 'level5'파일을 실행했는데 '/tmp'디렉토리에 생성된 파일이 없다.숨긴파일로 생성된걸까? 숨긴파일도 아니다... 뭐지... 힌트가 거짓말인가...? 그럴일은 없을 텐데..일단 '/usr/bin/level5'파일의 정보를 보기로 했다. 'level5'파일 또한 setuid로 설정되어 있다. level5파일의 내용을 보고 싶었지만, 권한이 실행을 가능하지만, 읽어볼 수는 없었다.그럼 도대체 왜 임시파일이 생기지 않은 걸까.... 설마 생겼다가 바로 없어지나 ..