1. tar.gz 또는 tgz tar 로 묶은 파일에 gzip 압축을 한번 더 하는 개념 실제로 tar 한뒤에 gzip 명령을 수행해도 되고 처음부터 tar 에서 옵션으로 gz 파일을 만들어도 된다. 압축률과 CPU 사용률은 적정한 편이다. tar 압축방식에 z옵션을 추가해서 tar -zcvf [파일명] [압축대상] 으로 한번에 만들거나 (z 옵션은 꼭 옵션 처음에 위치해야 한다) tar -cvf [파일명] [압축대상] gzip [파일명] 식으로 나눠서 작업가능하다 압축풀기도 기존 방식의 역순이다. tar 압축 풀기 방식에 z옵션을 추가해서 tar -zxvf [파일명] 이나 tar -zxvf [파일명] -C [압축풀 경로] 으로 한번에 풀거나 (z 옵션은 처음에 들어가야 한다.) gunzip [파일명] ..
1. tar 파일을 실제 압축하는게 아니라 여러개 파일을 하나로 묶는 개념으로, 압축속도가 매우 빠르고, cpu 부하가 거의 없으나 실제 용량이 줄어드는 것도 거의 없다. 리눅스 환경에서 일반적으로 많이 사용된다. 다양한 옵션이 제공되며 아래 명령어를 기본으로 사용한다. - 압축하기 : tar -cvf [파일명.tar] [대상파일 또는 폴더] - 압축풀기 : tar -xvf [파일명.tar] - 경로지정하여 압축풀기 : tar -xvf [파일명.tar] -C [경로명] 압축관련 옵션 키워드의 의미 c : create file v : view file list f : file as archives x : extract C : change to directory 매뉴얼대로의 정확한 설명은 아니지만, 의미는 ..
tr 명령어는 특정 문자열 세트를 변환하거나 삭제해주는 명령어입니다. 문자열을 다음어 주는데 유용하게 사용할 수 있습니다. 기본적인 사용법은 help 에서 알 수 있듯 "tr [옵션] 문자열세트" 식으로 사용하면 됩니다. 간단하게 사용해봅시다. 1. tr - d [삭제할 문자셋] 해당 명령어를 실행하면 표준입력을 기다립니다. tr - d " " 를 실행한 상태에서 문자열 "hello world" 를 입력하니 실제 공백을 제거한 문자열을 리턴해줍니다. 프로그램은 ctrl + d 로 정상종료 시켜줍니다. 문자셋은 말그대로 set 입니다. 한 글자뿐만 아니라, 여러 문자집합, 범위 문자 등 다양한 문자 세트를 할당해줄 수 있습니다. 다른 명령어와 마찬가지로 echo "문자열" | tr [옵션] [문자세트] 형..
리눅스에서도 문자열 인코딩을 위한 base64 명령어 자체를 지원합니다. --help 를 붙여 사용법을 살펴보니 간단하게 [해당명령어] [파일명] 정도면 될 것 같네요 base64 방식으로 인코딩된 data.txt 파일을 살펴보겠습니다. 특정 패턴의 암호문 처럼 보이는데 길이가 70 글자 내외, 문자열의 마지막이 == 으로 끝나는 것을 봐선 base64 인코딩이 맞네요 base64 data.txt 로 인코딩된 텍스트가 들어있는 data.txt 를 한번 더 인코딩 해봅시다. 알 수 없는 문자열이 더 길어졌습니다. 이건 문제를 해결한게 아니라, base64 문자를 한번 더 base64 방식으로 인코딩 한 겁니다. 문제를 풀기위해서는 디코딩을 해야겠죠? 위의 사용법을 참고해서 -d 옵션을 붙여봅시다. 11 단..
strings 는 바이너리 파일 내에서 원하는 문자열을 찾아주는 명령입니다. 보통 바이너리 파일들은 그 내용을 확인하기 힘들지만 원본 데이터가 아스키 코드값을 가지면 실제 바이너리 안에서도 일반 텍스트문서처럼 표기가 됩니다. 아래 사용 예제를 참고하세요 현재 디렉토리의 파일 리스트를 살펴보니 용량이 제법 되는 data.txt 가 있습니다. less 로 살펴봅시다. 실제로 바이너리 파일이라 읽을 수 없는 문자들이 뒤엉켜 있습니다. 이러한 상황은 strings 를 이용하면 손쉽게 해결할 수 있습니다. strings data.txt 를 실행해봅시다. data.txt 는 바이너리 파일이지만 그 중 문자열로 표시 가능한 부분만 출력이 되었습니다. 문제 가이드 대로 "=" 표시가 붙은 부분이 있습니다. 특정 문자열..
id : bandit10 password : G7w8LIi6J3kTb8A7j9LgrywtEUlyyp6s (2023.03 기준) base64 방식으로 인코딩된 패스워드가 data.txt 파일에 들어있다고 합니다. 살펴봅시다. 특정 패턴의 암호문 처럼 보이는데 문자열의 마지막이 == 으로 끝나는 것을 봐선 base64 인코딩이 맞네요 리눅스 환경에서 인코딩 문제를 해결해봅시다. 더보기 리눅스에서도 문자열 인코딩을 위한 base64 명령어 자체를 지원합니다. --help 를 붙여 사용법을 살펴보니 간단하게 [해당명령어] [파일명] 정도면 될 것 같네요 base64 data.txt 로 인코딩된 텍스트가 들어있는 data.txt 를 한번 더 인코딩 해봅시다. 알 수 없는 문자열이 더 길어졌습니다. 이건 문제를 해..
less 는 cat 과 같이 파일의 내용을 읽는 명령어 입니다. cat 은 파일의 내용이 많으면 이전 내용을 찾기 위해 스크롤을 위로 올려야 하지만 less 는 한번에 모든 내용이 출력되는게 아니라 페이지 단위로 내용을 확인하고, 키보드 방향키나, vi 식 페이지 이동 명령을 통해 이전 내용을 확인할 수 있습니다. 페이지 단위로 내용을 확인할 수 있는 건 more 와 유사하지만 less 는 각종 옵션 또는 찾기, 이동 등의 커맨드를 지원하고 more 는 그렇지 않습니다. less 에서 간단하고 편하게 쓸만한 옵션은 다음과 같습니다. 아래쪽 화살표 또는 j 위쪽 화살표 또는 k 왼쪽 화살표 또는 h 오른쪽 화사표 또는 l /[문자열] 은 찾기, 찾은 다음 다음토큰은 n, 이전 토큰은 N ctrl f 또는 ..
grep은 파일의 내용에서 특정 문자열을 찾고자할 때 사용하는 명령어입니다. 리눅스에서 가장 많이, 또 가장 유용하게 사용되는 명령어 중 하나입니다. grep 은 기본 사용법을 알아봅시다. 1. grep [패턴] [파일명] 특정 패턴을 기준으로 파일내용을 검색합니다. 패턴이 포함되는 라인(line)을 출력해줍니다. /etc/passwd 파일에서 root 패턴을 찾으면 root 문자열이 포함된 line을 찾아주고 /etc/passwd 파일에서 ro 패턴을 찾으면 ro 문자열이 포함된 line을 찾아줍니다. ro 패턴으로 검색하면 당연히 root 도 포함됩니다. 2. grep [패턴] [복수 파일명] /var/log/ 에 아래와 같이 순차적으로 작성된 로그파일이 있을때 * 를 사용하면 grep 으로 복수 파..
ls -al 을 사용하면 파일의 상세 정보를 확인할 수 있습니다. 1. 퍼미션(파일 권한) 붉은 경계선 안쪽의 문자들이 각 파일별 퍼미션를 타나내는 정보입니다. 노란색으로 구분된 inhere 디렉토리의 퍼미션을 기준으로 살펴봅시다 첫 칸은 파일 종류를 나타내며 d 는 디렉터리를 의미합니다. 퍼미션 첫 글자 파일종류 문자 유형 - 보통 파일 b 블록 장치 c 문자열 장치 d 디렉터리 l 심볼릭 링크 p 또는 = named pipe/FIFO s 소켓 그 다음 세칸(rwx)는 소유자(owner)의 권한을 나타냅니다. (readable) w(writable) x(excutable) 즉 소유자 권한이 rwx 라는 건 이 파일의 소유자들은 이 파일을 읽고, 쓰고, 실행할 수 있다는 말입니다. 그 다음 세칸(r-x)..
- Total
- Today
- Yesterday
- BASE64
- 리눅스
- nc
- ssh
- java
- solution
- bz2
- over the wire
- OverTheWire
- OpenSSL
- Bandit
- 웹보안공부
- 풀이
- gz
- X32
- grep
- SSL
- natas7
- Linux
- Natas
- tar
- find
- Encode
- 웹보안
- Strings
- 리터럴
- 32bit
- HTTPS
- 압축파일
- tr
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |