일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 비동기배열
- 홍대 카페 장쌤
- graphql
- 금별맥주
- 잠실새내
- 운정 소바동
- graphql with reactnative
- promise처리
- 신촌 소문난집
- 화이트 해커를 위한 웹 해킹의 기술
- 잠실새내 도그존
- 고르드
- 홍대 예술
- 홍대 토라비
- useMutation error
- typescript
- 지보싶 신촌점
- 토라비
- apolloclient
- graphql 400
- 앙버터마카롱
- 화이트해커를 위한 웹 해킹의 기술
- graphql react native
- 예쁜술집 예술
- graphql mutation error
- promise메서드
- 도그존
- apollo react native
- 비동기배열처리방법
- graphql with RN
- Today
- Total
yehey's 공부 노트 \n ο(=•ω<=)ρ⌒☆
FTZ level2 풀이 본문
id: level2
pw: hacker or cracker
level1과 마찬가지로 ls -l을 이용해서 디렉토리 정보를 가져온다.
hint 파일이 존재한다! hint 파일을 읽어보자! (cat hint)
리눅스에서 텍스트 파일 편집은 vi (vi editor)이다. vi editor를 사용해서 쉘 명령을 실행시킬 방법을 찾아보자!
우리가 원하는건 level3의 pw이기 때문에 소유주가 level3인 파일을 find를 이용해 검색해보자!
find / -user level3 2> /dev/null을 입력해준다.
(검색의 편리함을 위해 오류가 나는 파일은 휴지통으로 버린다.)
검색 조건에 해당하는 파일 2가지가 출력되었다!
우리는 실행파일인 editor를 사용할 것이다.
.swp : 스왑파일, vi나 vim이 비정상적으로 종료되었을 때를 대비해 복구를 가능하게 하기 위해 임시로 저장되는 파일
->즉, 지금은 필요없는 파일!
editor가 존재하는 /usr/din으로 이동하자 (cd /usr/bin)
이동 후 ls -al 명령어를 이용해 editor 파일 존재여부와 권한을 확인해보았다.
-rwsr-x---에서 owner의 실행자리에 x나 -가 아닌 s가 있는 것을 확인할 수 있다.
=>setuid가 적용되어있다!
setuid: 파일 실행시 파일의 소유자 권한이 적용
즉, 사용자가 권한이 없어도 소유자 권한으로 실행이 가능하다는 뜻!
권한 표현 숫자모드: 맨 앞자리가 4nnn
권한 표현 문자모드: owner의 실행에 s 가 추가된다.
이제 editor를 실행시켜보자! (./editor)
vi editor가 실행되었다!
editor 파일에는 setuid가 걸려있어서 셸을 실행하면 level3의 권한으로 셸이 실행된다!
vi의 ex모드(명령 모드에서 ':' 입력 시에 화면 아래에 입력창이 뜨는 모드)에서 !를 사용하면
리눅스 명령어가 실행된다고 한다!
(ex) :!ls -al, :!cd , :!bash 등
시험삼아 ls -al 명령어를 입력해보자!
editor 상에서 ls -al 명령어가 잘 실행된 것을 볼 수 있다!
이제 my-pass를 이용해 비밀번호를 얻어보자!
my-pass 입력 외에도 셸을 띄울 수도 있다.
그렇지만 우리가 원하는 건 level3 의 pw 이므로 굳이 셸을 사용하지 않겠음
level3의 비밀번호를 얻었다!
level3 pw: "can you fly?"
'wargame 풀이 > FTZ' 카테고리의 다른 글
FTZ level6 풀이 (0) | 2020.09.15 |
---|---|
FTZ level5 풀이 (0) | 2020.09.14 |
FTZ level4 풀이 (0) | 2020.09.13 |
FTZ level3 풀이 (0) | 2020.09.12 |
FTZ level1 풀이 (0) | 2020.09.12 |