일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- gui
- 자료구조
- JUCE library
- JUCE 튜토리얼
- C++ gui
- C++
- 알고리즘
- JUCE라이브러리
- go
- LOB
- tour of go
- C++ gui 라이브러리
- C++ library
- c++ heap
- a tour of go
- 연결리스트
- OS
- 공룡책
- Docker
- 백준
- 운영체제
- vim-go
- 리듬게임
- go channel
- C언어
- 코딩
- JUCE
- Nebula
- 프로그래밍
- BOJ
Archives
- Today
- Total
CafeM0ca
[Nebula]level00 본문
반응형
ID:level00
PW:level00
이 레벨은 요구한다 당신이 찾을것을 Set User ID(SUID)프로그램을 그 프로그램은 "flag00"계정으로 실행될 것이다. 당신은 또한 이것(SUID가 걸린 프로그램)을 찾을 수 있을것이다. 신중히 보는것으로써 최상위 레벨 디렉토리 /에 의심스러워 보이는 디렉토리에서 (발번역이라 이해해주시길..)
음음..힌트가 SUID와 flag00와 /이다.
find 명령으로 SUID가 걸린 flag00유저의 프로그램을 찾으면 될꺼같다.
리눅스 find 명령어 쓰는 방법을 참고하자.
위 내용에 권한에 대한 내용은 없는데 설명하자면
리눅스에서는 권한(permission)이 있다.
각각 r(읽기권한), w(쓰기권한), x(실행권한)이 있다. read,write execute
그리고 특수권한이라는게 있는데
suid(유저ID설정 권한),guid(그룹ID설정 권한), sticky bit(디렉토리 접근 권한)이 있다.
2진수로 표현하고 권한이 있으면 1, 없으면 0이다.
즉 3개의 권한이 모두 있으면 111이고 이를 8진수로 표현하면 4+2+1 = 7이다.
suid권한만 있으면 4다.
다시 문제로 돌아가서 아래 명령을 실행하면
find / -user flag00 -perm -4000
/rofs/bin/.../flag00 하나가 보인다.
실행해보면 권한이 flag00으로 바뀌였다.
getflag를 입력하면 끝~
반응형
'Hacking > Nebula' 카테고리의 다른 글
[Nebula]시작하기전 환경구축 (0) | 2018.02.10 |
---|
Comments