일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Unable to find the global bin directory
- GeoJSON object too complex/large
- 이미지 맵
- AWS CodePipeline
- node
- credential error
- AWS
- ERR_PNPM_NO_GLOBAL_BIN_DIR
- 설치완료안됨
- 반응형 페이지 좌표 변환
- S3
- 어셈블리어
- can't getting credentials
- expo
- NODE_VERSION
- nodejs
- netlify variables
- Sequelize Error: Dialect needs to be explicitly supplied as of v4.0.0
- aws ec2
- ogr2ogr
- CSS
- 김골라
- 이미지 좌표 추출
- SASS
- EC2
- Error:error:0308010C:digital envelope routines::unsupported
- rwdImageMaps
- react
- AWS CodeBuild
- C언어
- Today
- Total
ImFe's study
FTZ training 6~10 정리 본문
Trainer6
/etc/passwd : 한 서버를 사용하는 사용자들의 모든 정보를 기록해 놓은 파일
cat 파일이름 : 파일의 내용을 출력
ex) root:x:0:0:Admin:/root:/bin/bash
:로 필드를 구분하며 왼쪽부터 필드1
1. 로그인 할 때 사용된 사용자 아이디
2. 패스워드(/etc/shadow 파일에 암호화되어 있음)
3. 사용자 계정 uid
4. 사용자 계정 gid
5. 사용자 계정 이름
6. 로그인 성공 시 기본으로 위치하게 되는 사용자 계정 홈 디렉토리
7. 사용자 계정 로그인 쉘(로그인 했을때 쉘이 실행됨)
Trainer7의 비밀번호는 to the top
Trainer7
tar : 파일 아카이브, 압축이 되지는 않는다. 아카이브란 파일을 묶어 하나로 만든 것
tar cvf : 아카이브 생성
tar xvf : 아카이브 해체
c - Create : tar 파일 생성
x - eXtract : tar 파일 풀기
v - View : 표준 출력으로 실행 내용 출력
f - File : 파일로서 백업을 하겠다는 옵션
gzip : 한번에 한개의 파일 압축
gzip 파일이름 : 선택된 파일을 압축
gzip -d 파일이름 : 선택된 파일을 압축해제
※ 리눅스 아카이브, 압축 확장자
tar : tar 프로그램을 사용하여 묶은 파일
gz : gzip 프로그램을 사용하여 압축한 파일
tar.gz : tar 프로그램으로 합친 후 gzip으로 압축한 파일
tgz : tar.gz와 동일
Trainer8의 비밀번호는 player
Trainer8
파일의 종류
① 일반 텍스트 파일 : 글자로만 이루어진 파일로써 확장자는 .txt이고 cat으로 내용 출력
② 프로그램 소스 파일 : 컴퓨터 언어로 입력한 파일로 컴파일 과정을 거쳐 실행
텍스트 파일 생성법
① 쉘 프롬프트 상태에서 cat > 파일이름.txt 라고 입력(>는 출력 리다이렉션)
② 원하는 내용 입력
③ Ctrl+D(그만 입력하고 싶을 때)
④ 수정할 경우엔 cat >> 파일이름.txt 라고 입력 후 수정
◎ 리다이렉션 '>', '<'
'방향을 전환한다'라는 뜻을 가지고 있다. 그냥 'cat 파일 이름'을 입력하면 파일의 내용만 출력된다. > 는 왼쪽에서 출력되는 것을 받아서 오른쪽으로 보낸다는 것을 의미한다. 파일이 있는 상태에서 한 번 더 cat > 파일이름 을 입력하면 원래 있던 파일은 사라지고 다시 작성된다. 따라서 같은 파일에 연속하여 내용을 입력하고자 할 때는 >> 를 사용해야 한다.
소스 파일 생성법
① 쉘 프롬프트 상태에서, cat > 파일이름.c 라고 입력
② 컴퓨터 언어로 내용 입력
③ gcc -o 프로그램이름 소스파일이름 으로 컴파일
컴파일된 프로그램 실행하기
① 파일이 있는 절대경로를 모두 입력시켜야 하기 때문에 pwd 명령으로 절대경로 확인
② 파일이 있는 절대경로 모두 입력
or
① 현재 경로를 의미하는 ./ 사용
② ./프로그램 이름 입력
※ 절대경로는 최상위 디렉토리부터 시작되는 경로, 상대경로는 자신이 현재 위치한 디렉토리를 기준으로 따지는 경로
Trainer9의 비밀번호는 programming
Trainer9
리눅스의 사용자 종류
- User : 서버에 로그인한 자기 자신을 의미
- Group : 모든 사용자는 하나 이상의 그룹에 속하게 됨
- Other : 유저와 그룹을 제외한 모든 다른 사람들
- Root : 절대적인 권한을 가지고 있는 사용자. 어떤 권한에도 구애받지 않는 상태로 파일들을 제어할 수 있게 됨
id 명령 분석
- uid : UserID의 약자. 컴퓨터가 알아보기 쉽도록 사용자ID에 숫자를 부여한 것
- gid : GroupID의 약자. 각 유저마다 gid를 가지고 있고, 다른 사람을 자신의 gid를 가진 그룹에 속하게 할 수 있음. 보통 uid와 gid는 항상 같음
- groups : 현재 자신이 속해 잇는 그룹. 임의로 변경하지 않으면 기본적으로 자신의 uid와 같은 그룹에 속하게 됨
권한 분석
-rwxrwxrwx 1 trainer9 trainer10 5 10월 20 21 : 35 test1
1. -rwxrwxrwx
rwx rwx rwx : 순서대로 User의 권한, Group의 권한, Other의 권한
r : Read(읽기 권한), w : Write(쓰기 권한), x : eXcute(실행 권한)
2. 1 trainer9 trainer10
trainer9 부분이 User, trainer10 부분이 Group, 이 둘을 제외한 다른 모든 아이디는 Other
Trainer10의 비밀번호는 best!
Trainer10
해킹 방법에는 Local 해킹, Remote 해킹 등 2가지의 방법이 있다.
- Local 해킹 : 해킹하고자 하는 서버에 일반 계정을 가지고 있을 때, 관리자 권한(root)를 얻고자 시도하는 것
- Remote 해킹 : 해킹하고자 하는 서버에 계정을 가지고 있지 않을 때, 계정을 얻고자 시도하는 것
SetUID : 임시적으로 자신의 ID를 변경하는 것
ex) 자신의 비밀번호를 변경할 때, 비밀번호는 /etc/shadow 파일에 저장되어 있기 때문에 본래 root 권한을 가진 사용자를 제외하고는 수정이 불가능하지만, passwd 파일은 루트 권한인 SetUID가 걸려있어 일반 사용자들이 그 파일을 실행하는 동안에는 일시적으로 root로 아이디가 변경이 된다.
- SetUID가 걸린 파일을 실행하면 자신의 ID가 root로 변경되고, 파일의 실행이 끝나면 원래대로 돌아옴
- 사용자 실행 권한 부분에 x대신 s가 있는 경우(s가 x를 포함하기 때문)
find / -perm -4000
/ 에서부터 적어도 SetUID가 걸린 모든 파일을 찾으라는 명령
4 : SetUID
000 : rwx(읽고 쓰고 실행) 권한
※ find 옵션
-perm : 권한과 일치하는 파일을 찾는다.
-name : 이름과 일치하는 파일을 찾는다.
-user : 사용자와 일치하는 파일을 찾는다.
-group : 그룹과 일치하는 파일을 찾는다.
'FTZ' 카테고리의 다른 글
레지스터(register)란? (0) | 2020.04.07 |
---|---|
어셈블리어 기초- 진법 체계 (0) | 2020.03.25 |
FTZ level9 풀이 (0) | 2020.02.12 |
FTZ training 1~5 정리 (0) | 2020.01.02 |
FTZ training 로컬 환경 구축 (0) | 2019.12.22 |