일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 | 31 |
- leetcode 5
- leetcode 344
- leetcode
- MapReduce 실습
- 빅데이터를 지탱하는 기술
- airflow docker
- 올바른 변수명 짓기
- 데이터레이크와 데이터웨어하우스
- 문자열 조작
- ctf-d
- 배열
- Hortonworks Sandbox
- leetcode 561
- Python
- 스파크 완벽 가이드
- leetcode 819
- leetcode 937
- leetcode 234
- docker로 airflow 설치하기
- 블로그 이전했어요
- 컴퓨터구조
- leetcode 238
- webcrawler
- leetcode 121
- leetcode125
- 머신러닝
- Hadoop
- wargame.kr
- leetcode 15
- leetcode 49
- Today
- Total
목록Wargame/FTZ (3)
HyeM

id: level3 pw : can you fly? ㄴ 드래그 ㄱㄱ 1. ls -l 2. cat명령어로 hint 파일 읽기 해석 : argc : 프로그램을 시작했을 때 전해지는 인자의 갯수. 첫번째 인수는 실행파일의 경로로 고정되어 있음. argv : 프로그램이 시작되었을때 넘겨받은 인자. 문자열로 처리함 argv[0]은 파일경로의 값, argv[1]부터 차례대로 인자들이 들어감 만약 프로그램 실행시 전해지는 인자의 개수가 2개가 아니면, "Usage: ~ host" 에러 메시지 띄우고 종료 2개라면, strcpy( cmd, "dig @"); //cmd 배열에 dig @ 복사하고, strcat( cmd, argv[1] ); // cmd 배열에 입력 두번째 인자([1])를 추가하고, strcat( cmd,..

id: level2 pw : hacker or cracker ㄴ 드래그 ㄱㄱ 1. ls -l 명령어로 파일 목록을 본다. 2. cat명령어로 hint 파일 읽기 텍스트 파일편집 (ex. vi editor) 중에 쉘의 명령어를 실행하라는 힌트.. 우선 넘어가자 3. find 명령어를 통해 level3의 권한을 가진 파일이 있는지 살펴본다. 4. 위의 파일( /usr/bin/editor )을 실행해본다 5. 위에서 봤던 힌트를 생각해보면, 이 파일이 level3의 권한을 갖고있으니, :sh 명령어로 쉘로 이동해보자. 6. 이동한 쉘의 프롬프트를 보니까 level3이다. 7. my-pass를 이용하여 level3의 pw 획득! level3의 pw : can you fly?

ID : Level1 PW : level1 ㄴ 드래그 ㄱㄱ 1. ls -l 2. hint파일의 내용보기 cat hint 3. find 명령어를 이용하여, 사용자가 level2이고, setuid가 걸린 파일을 찾는다. setuid : 일시적으로 파일 소유자의 권한을 얻어 실행. -4000 4. 위의 결과로 나온것을 실행하면, 다음과 같이 나옴 이때, bash를 이용하여 레벨2 권한의 배시쉘 실행시킨다. 이유 : setuid를 통해 일시적으로 권한을 얻은 순간 쉘을 실행시키면, level2 소유의 정상적인 쉘에 머무르게 됨. -> 완전한 level2의 권한을 얻게됨. 5. pwd로 위치를 확인해보면, level2인것 확인 가능 6. my-pass 명령어를 통해 level2의 pw 획득! level2 의 pa..