분류 전체보기 180

certbot 사용하여 https 인증받기

호스트 OS에서 certbot 실행1. certbot 설치 (Ubuntu 기준)sudo apt updatesudo apt install certbot python3-certbot-nginx2. Nginx 일시 중지 (도커 컨테이너 멈춤)docker-compose stop nginx3. certbot으로 인증서 발급sudo certbot certonly --standalone -d hacktheworldctf.xyz⚠️ 이 명령은 80 포트를 직접 바인딩해서 인증을 수행하기 때문에, Nginx 컨테이너를 멈춰야 해.4. 인증서 확인인증서가 아래에 저장됨:/etc/letsencrypt/live/hacktheworldctf.xyz/필요한 파일:fullchain.pemprivkey.pem5. 복사 또는 마운트이..

카테고리 없음 2025.05.14

코끼리를 냉장고에 넣는방법

1.냉장고에 넣을 수 있는 크기로 코끼리를 작은 크기로 만들어야한다.여기서 크기란 질량 보다는 부피가 핵심이다.물론 코끼리의 질량이 냉장고가 버틸수 없는 수준이라면냉장고 바닥 부분에 이를 지탱해줄 판자나 철등을 붙여 보강해야한다.생물 코끼리는 큰 부피를 차지하지만, 이를 여러방법을 통해 압축할 수 있다.우선 살아있는 상태로 부피를 압축하기는 어려우니,안타깝지만 생명은 보장할 수 없다.살점은 칼로 뼈는 톱으로 잘라낼 수 있을거 같다.믹서기에 넣을 수 있는정도로 코끼리를 분해한 후,믹서기에 갈아 분자간의 거리를 최소화 시켜 압축한다.이후 건조를 통해 코끼리의 혈액, 체액등 액체상태의 물질들이 증발되도록 유도하여 부피를 최소화한다.이를 냉장고에 넣을 수 있을 만큼 크기가 될때까지 반복하여가루화된 코끼리를 넣는..

공부/이모저모 2025.05.12

복호화(decryption) - 암호화(encryption) / 인코딩(encoding) - 디코딩(decoding) / 난독화(Obfuscation)와 난독화 해제

1. 복호화(decryption) - 암호화(encryption) 암호학에서 나온개념. 암호화 한다는 것은 본래의 정보 즉, 평문(plain data)를 숨기기 위한 목적으로 특정 문장(암호문)을 보아도 평문(plain data)를 추론할 수 없게 하는 것이 목적. 반대로 암호문을 평문으로 바꾸는 행위를 복호화 라고 함 2. 인코딩(encoding) - 디코딩(decoding) 네트워크 및 통신에서 나온개념. 인코딩 한다는 것은 특정 포맷으로 데이터를 변환하는 작업. 이때 인코딩 알고리즘과 디코딩 알고리즘은 공공연하게 공개되어있기 때문에 평문(plain data)를 숨기는 개념과는 거리가 멈. 단순히 통신시의 데이터 손실을 최소화 하거나 통신의 효율성을 위해 데이터를 변조하는 것을 인코딩이라고 하고 통신..

node.js 서버 항상 켜두기 (pm2 사용방법)

PM2는 Node.js 애플리케이션의 프로세스를 관리하고 항상 실행 상태를 유지하는 데 유용한 도구입니다. PM2를 사용하여 서버를 항상 실행 상태로 유지하는 방법은 다음과 같습니다.1. PM2 설치PM2를 설치하려면 Node.js와 npm이 필요합니다. 설치되지 않았다면 먼저 Node.js를 설치하세요. 그런 다음 PM2를 글로벌로 설치합니다.npm install -g pm22. 서버 실행서버 파일이 예를 들어 server.js라고 가정하겠습니다. PM2로 서버를 실행하려면 다음 명령을 사용합니다.pm2 start server.js PM2는 이 명령으로 서버를 백그라운드에서 실행하며, 서버가 다운되거나 종료되면 자동으로 다시 시작합니다.3. 애플리케이션 이름 지정 (선택 사항)서버를 실행할 때 이름을 ..

공부/JUN STUDY 2025.01.17

nc 로 특정 포트 UDP 패킷 계속 받기 (한번만 받고말기 X 계속 받기)

-k 옵션은 netcat 명령어에서 사용되는 옵션으로, 서버가 클라이언트 연결을 종료한 후에도 계속해서 새 클라이언트 연결을 수락하도록 유지하는 기능을 제공합니다.nc -u -l -k 3000 -k 옵션의 동작기본적으로 nc -l로 실행된 netcat은 하나의 연결(또는 패킷)만 처리한 후 종료됩니다.-k 옵션을 추가하면 netcat이 계속 실행되며 새로운 연결이나 데이터를 기다립니다.사용 예시 nc -u -l -k 3000 | tee logfile.log이 명령은 다음과 같은 동작을 합니다:UDP 모드 (-u): UDP 프로토콜로 통신.Listen 모드 (-l): 지정된 포트(3000)에서 대기.Keep-alive 모드 (-k): 한 번의 데이터 수신 후 종료하지 않고 계속 대기.tee와 로그 저장: ..

공부/이모저모 2025.01.07

L* Algorithm(L star Algorithm) 이란? - 개념/예제/이해하기

L* Algorithm(L start Algorithm) 이란?학생 - 선생학생은 선생님에게 두가지 종류의 질문을 질문할 수 있음Membership Query : word w 가 언어 L 에 속하는지 아닌지 선생님은 yes or no를 답함Equivalence Query : DFA H가 L을 허용하는지 아닌지 여부. 허용하면 True 아니면 반례를 리턴함 x ∈ L\\L(H) ∪ L(H)\\L → L(H)는 무슨 뜻?언어 L을 성공적으로 학습하려면 유한한 쿼리 내에서 DFA를 잘 guess 해야함.Language 라 하는 것은예제: 로그인 프로토콜 추론L* 알고리즘을 사용하여 네트워크 프로토콜을 추론하는 예제를 살펴보자.아래는 학습자가 **네트워크 프로토콜의 상태와 동작(==Language)**을 추론하..

공부/JUN STUDY 2024.10.30

fsb 이젠 좀 이해하기 (어떻게 arbitrary write가 되는가?)

fsb의 무시무시한 점은1. 임의주소에2. 원하는 값을쓸 수 있다는 것이다.  임의 주소에 쓸 수 있는 이유는 %187c%11$hhn 덕분이고원하는 값을 쓸 수 있는 이유는 %187c%11$hhn 덕분이다. 여기서 또 레전드인게 임의주소인 이유는 %11$인자 위치에 있는'그 주소에' 값을 쓸 수 있기 때문이다. (&의 개념 -> printf("%s", buf) 처럼. %s는 buf(char *) 를 참조한다.) 따라서 %11$ 위치에 원하는 주소를 입력하고 %(원하는 값)c 이용해서 원하는 값을 만들면 된다.

공부/JUN STUDY 2024.09.27

VMware에서 vagrant up 할때 오류해결 & 실행법

사용한 커맨드와 문제상황vagrant box add junbox jun.boxvagrant init junboxvagrant upvagrant ssh 에러메세지vagrant up Bringing machine 'default' up with 'virtualbox' provider...==> default: Clearing any previously set forwarded ports...==> default: Clearing any previously set network interfaces...==> default: Preparing network interfaces based on configuration... default: Adapter 1: nat==> default: Forwardi..

공부/JUN STUDY 2024.09.26
728x90