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 매뉴얼대로의 정확한 설명은 아니지만, 의미는 ..
id : bandit13 password : wbWdlBxEir4CaE8LaPhauuOo6pwRmrDw (2023.04 기준) /etc/bandit_pass/bandit14 에 패스워드가 저장되어 있는데, bandit14 user 만 읽을 수 있다고 합니다. 이번 단계에서는 패스워드를 획득하는게 아니라 ssh 개인키를 이용하면 통과할 수 있다고 하네요. 그동안 별 생각없이 ssh 로 원격 로그인을 이용해왔지만 이제는 ssh 통신의 세부 원리 를 알아야 할 때가 되었습니다. ssh 통신의 세부 원리부터 공부하고 이 문제에 접근해봅시다. 더보기 ssh 를 통해 서버에 최초로 접속하면 이런식의 메세지를 볼 수 있습니다. 꼭 bandit13 이 아니라 bandit.overthewire.org 에 한번이라도 접속..
id : bandit12 password : JVNBBFSmZwKKOP0XbFXOoW8chDz5yVRv (2023.4월 기준) 다음단계로의 패스워드는 반복적으로 압축된 hexdump 파일인 data.txt 에 저장되어 있다고 합니다. 이번 단계에서는 /tmp 밑에 디렉토리를 만들고, cp 와 mv 를 이용하는게 좋을거라고 안내하고 있습니다. 살펴봅시다. data.txt 는 ascii 기반의 텍스트 파일이지만 내용은 16진수(hex) 로 이루어진 메모리 덤프(dump) 파일이네요 위의 덤프파일의 왼쪽 부분은 메모리 번지수를 의미하고, 가운데는 실제 메모리에 저장된 값들을 의미합니다. 오른쪽은 hex 데이터를 ascii 문자로 치환해서 표시한 값인데, 유의미한 문자열일 수도 있고 무의미한 문자열을 나타낼 수..
tr 명령어는 특정 문자열 세트를 변환하거나 삭제해주는 명령어입니다. 문자열을 다음어 주는데 유용하게 사용할 수 있습니다. 기본적인 사용법은 help 에서 알 수 있듯 "tr [옵션] 문자열세트" 식으로 사용하면 됩니다. 간단하게 사용해봅시다. 1. tr - d [삭제할 문자셋] 해당 명령어를 실행하면 표준입력을 기다립니다. tr - d " " 를 실행한 상태에서 문자열 "hello world" 를 입력하니 실제 공백을 제거한 문자열을 리턴해줍니다. 프로그램은 ctrl + d 로 정상종료 시켜줍니다. 문자셋은 말그대로 set 입니다. 한 글자뿐만 아니라, 여러 문자집합, 범위 문자 등 다양한 문자 세트를 할당해줄 수 있습니다. 다른 명령어와 마찬가지로 echo "문자열" | tr [옵션] [문자세트] 형..
자바를 공부하면서 static 선언에 대한 개념은 꼭 제대로 알고 가야합니다. static 의 역할과 기능을 모른채로 자바에서 추구하는 객체지향을 온전히 활용할 수 없습니다. static 은 변수나 메소드에 주로 사용하고 인스턴스의 생성과 상관없이 메모리에 해당 영역을 초기화 시키고 해당 영역을 공유하는 기능을 합니다. 다음 코드를 실행하면 어떤 결과가 나올까요? class Main { public static void main(String [] args){ Tmp t1 = new Tmp(); Tmp t2 = new Tmp(); Tmp t3 = new Tmp(); t1.incNum(); t2.incNum(); t3.incNum(); } } class Tmp { static int num = 0; publ..
컴퓨터 공부를 하다 보면 이클립스 같은 전용 프로그램이 필요하긴 한데 설치부터가 너무 번거로워서 손이 안가는 경우가 많습니다. 특히 요즘처럼 온라인 수업이 활성화 되고, 내 전용 PC 가 아닌 강의실 PC 를 옮겨다닌다던가, 간단한 작업만 가능한 노트북 환경이라면 애초에 온라인 상에서 간단한 작업을 마칠 수 있으면 좋겠다는 생각이 점점 더해집니다. 온라인 컴파일러 replit.com 을 추천하는 이유는 다양한 프로그래밍 언어 환경이 제공되고 linux 기반으로 실행파일과 결과물을 관리할 수 있기 때문입니다. replit 사용법에 대해 간단히 정리해보겠습니다. 사이트 대문입니다. 예전엔 도메인이 repl.it 였는데 replit.com 으로 바뀌었습니다. 로그인 및 회원가입은 생략하겠습니다. 가능하면 본인..
base64 는 64 진법 기반의 인코딩 기법입니다. a-z, A-Z, 0-9, +/ 로 구성된 0~63 까지의 문자표를 가지고 있습니다. 모든 문자를 6bit(2^6 = 64) 로 쪼개서 base64문자표로 치환하며 마지막 문자가 정확히 6bit 로 떨어지지 않음면 = 로 구성된 padding bit 를 넣어주는 것이 특징입니다. 다만 컴퓨터의 기본데이터나 ASCII 코드는 8bit 체계로 구성되어 있기 때문에 호환성 향상을 위해 6bit 와 8bit 의 최소공배수인 24bit 를 기본 단위로 인코딩합니다. 따라서 암호문 처럼 생긴 문자열의 맨 마지막에 = 가 한개 또는 두개가 있다면 base64 인코딩 문자라고 유추가 가능합니다. 경우에 따라선 인코딩 문자에 = 가 없을수도 있지만 기본 64문자로만 ..
인코딩이란 특별한 규칙을 사용하여 데이터를 다른 방식으로 표현하는 것을 의미합니다. 예를 들어 ASCII 코드 규칙을 이용하면 이진값 0100 0001(10진수 65) 는 문자 'A' 로 치환하여 표현할 수 있습니다. 디코딩은 반대로 해당 규칙을 사용하여 데이터를 원래의 방식으로 표현하는 것을 말합니다. ASCII 코드의 경우 문자 'A'를 이진값 0100 0001 로 바꾸거나, 10진수 65로 바꾸는 것입니다. 컴퓨터로 통신을 하다보면 세계에는 다양한 언어가 있기때문에 공통의 규칙으로 각국의 언어나 문자를 표시해야만 합니다. 이때 ASCII 규칙으로만 모든 문자를 표현하지는 않습니다. ASCII 코드 외에도 ISO-8859, UTF-8, UTF-16, EUC-KR, Base64 등 다양한 인코딩 방법이..
- Total
- Today
- Yesterday
- solution
- X32
- Linux
- ssh
- nc
- OpenSSL
- find
- over the wire
- grep
- 압축파일
- bz2
- 32bit
- gz
- java
- 풀이
- 웹보안
- 웹보안공부
- tr
- BASE64
- 리눅스
- Bandit
- HTTPS
- tar
- OverTheWire
- 리터럴
- Strings
- Natas
- Encode
- SSL
- natas7
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |