본문 바로가기

분류 전체보기176

[Web Hacking] 인코딩 및 Character Set 컴퓨터는 문자를 그대로 이해하지 못하고, 결국 숫자(바이트) 로 처리합니다.따라서 우리가 입력한 안녕?, ABC123 같은 문자열은 내부적으로는 특정 규칙에 따라 숫자로 바뀌어 저장되거나 전송됩니다.이때 중요한 개념이 바로 문자집합Character Set 과 인코딩(Encoding) 입니다. 1. Character Set문자를 숫자에 매핑한 것을 문자 집합이라고 합니다. Ex) A -> 65, B -> 66 등 대표적인 문자집합:ASCIIEUC-KRShift_JISUTF-8UTF-16CP949 (한글 Windows 계열에서 많이 사용)일본 Windows 코드페이지 (대표적으로 Shift_JIS 계열)즉, 같은 문자라도 어떤 문자집합/인코딩 규칙을 쓰느냐에 따라 저장되는 바이트 값이 달라질 수 있습니다. .. 2026. 3. 10.
[Web Hacking] HTTP Method HTTP 통신에 사용되는 메서드가 존재합니다. 대표적인 것이 GET. POST이고, PUT이나 DELETE 등 여러 메소드들이 존재합니다. 메서드주요 역할본문(Body)멱등성*안전성주요 특징GET리소스 조회XOOURL에 데이터를 담아 전송 (캐싱 가능)POST리소스 생성OXX서버의 상태를 변경, 새 리소스 생성 시 사용PUT리소스 전체 수정OOX리소스가 없으면 생성, 있으면 통째로 교체PATCH리소스 부분 수정OXX리소스의 특정 필드만 변경할 때 효율적DELETE리소스 삭제(선택적)O--HEAD응답 헤더 출력----OPTIONS사용가능 메소드 출력---- 멱등성(Idempotent): 같은 요청을 100번 보내도 서버의 상태가 처음 1번 보냈을 때와 같은 성질입니다. (예: DELETE는 여러 번 해도.. 2026. 3. 10.
[AWS] AWS CodeDeploy와 Github Actions를 이용하여 EC2 배포 자동화 CI/CD 파이프라인 구축 [그림 1] 구성도처럼 개발자가 Github에 커밋할 경우 코드가 자동으로 배포되는 파이프라인을 구축해보려고 합니다.1. S3 버킷 생성 빌드된 파일을 저장하기 위해 S3 저장소를 생성해야 합니다. 2. IAM Role 설정EC2와 CodeDeploy가 S3에 접근하기 위해 권한이 필요합니다. EC2에 적용될 정책과 CodeDeploy에 적용될 정책을 위해 역할을 2개 생성해야 합니다. AWS IAM Roles 페이지 접속 후 우측 상단의 'Create role' 버튼을 클릭합니다. 먼저 CodeDeploy쪽 권한을 생성하기 위해Use Case를 CodeDeploy로 선택합니다. 이후 다음을 클릭합니다. AWSCodeDeployRole 권한이 자동으로 추가될 것입니다.다음을 클릭합니다. 역.. 2026. 3. 10.
[AWS] Terraform 설치 및 사용 Terraform Terraform은 Infrastruction as Code(IaC) 도구입니다.서버, 네크워크, 스토리지, DNS 등의 인프라를 코드로 나타내며, 사람이 직접 콘솔에서 생성하는 대신 코드를 실행하여 한 번에 생성할 수 있게 하는 도구입니다. AWS 뿐만 아니라 다른 서비스에서도 Terraform을 사용할 수 있습니다. Terraform은 보통 아래 이유들로 인해 사용됩니다.같은 환경을 반복해서 만들기 쉽습니다.설정이 코드로 남아서 추적과 리뷰가 쉽습니다.변경 전에 plan으로 미리 무엇이 바뀌는지 볼 수 있습니다. AWS CLI랑 차이점은? 1. 성격 차이 AWS CLI는 명령을 주어 바로바로 작업을 가능하게 합니다.자동화 스크립트를 생성한다고 해도, 결국 일회성 명령을 모아둔 것.. 2026. 3. 6.
[AWS] CloudShell 사용 AWS CLI 설치가 귀찮거나, 웹 상에서 간단히 바로 실행해 보고 싶은 경우CloudShell 서비스를 이용할 수 있습니다. 검색을 통해 CloudShell에 접속할 수 있습니다. 기본적으로 AWS CLI이 설치되어 있습니다.별다른 설정 없이 aws 명령어를 사용할 수 있습니다. 자동화 스크립트 등 업로드가 필요한 경우, 오른쪽 메뉴를 통해 파일을 업로드할 수 있습니다.업로드 한 파일들은 홈 디렉터리에 저장됩니다. 다만, 연속으로 2개의 파일을 업로드할 수 없습니다.여러 파일 업로드가 필요한 경우 일단 하나 올리고 조금 기다렸다가 다른 파일을 업로드해야 합니다. 파일 다운로드가 필요한 경우 파일 경로 입력 후 다운로드 가능합니다. CloudShell은 사용자 입력이 없을 시 20분~30분 후 세션을 .. 2026. 3. 6.
[AWS] AWS CLI 설치 및 사용 AWS CLI는 AWS를 명령어로 관리하는 도구이며, 여러 서비스들을 스크립트를 통해 자동화할 수 있습니다. 일반적으로는 콘솔을 통해 상호작용하며 서비스를 생성하고 삭제합니다. 그러니 aws cli를 통해 이 모든 것을 명령어로 실행할 수 있습니다. 인프라 규모가 커지게 되면 스크립트를 통해 자동화하는 것이 더 편리합니다. AWS CLI 설치 Linux x86 (64-bit)curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"unzip awscliv2.zipsudo ./aws/installaws --version # awscli 버전 확인 macOS Homebrew를 통해 간단히 설치가 가능합니다.brew.. 2026. 3. 6.
[Web Hacking] 요청과 응답 (Request, Response) [그림 1] 조직도의 흐름대로 실제로 브라우저를 통해 네이버에 접속한다고 가정합니다. 사용자는 브라우저를 통해 요청Request을 보내고, 서버는 이에 맞는 응답Response을 보내 줍니다. 웹은 주로 HTTP를 사용하며, HTTP는 기본적으로 stateless 이기 때문에, 사용자의 상태를 저장하지 않습니다.사용자가 각각 요청을 보내면 다 별개로 응답을 해 줍니다. 네이버의 메인 페이지 html 코드를 응답받았는데, css가 다른 경로에 존재한다. -> 서버에게 다시 CSS를 요청해서 받습니다.html 코드를 또 확인하니 사진 경로가 보인다 -> 서버에게 해당 경로에 있는 사진을 요청해서 받습니다.[그림 3]처럼 개발자 도구의 Network 탭에서 요청/응답해서 받은 자원들을 확인할 수 있습니다. .. 2026. 1. 30.
[Web Hacking] 웹의 작동 원리와 개발 방식 웹 해킹을 공부하기 위해선 먼저 웹의 작동 원리를 알아야 합니다.직접 웹 애플리케이션 개발을 해 보는 것이 좋으며, CRUD 게시판을 만들고 코드를 리딩할 수 있는 정도면 됩니다.시간 절약을 위해 게시판 개발은 AI의 도움을 받아도 되지만, 게시판 코드를 읽고 이해할 수 있어야 합니다. 웹 애플리케이션은 아래와 같은 방식으로 작동합니다. 1. 클라이언트는 도메인(test.com)으로 서버에 자원 요청2. 도메인을 IP로 변환한 뒤, 라우터와 보안 장비를 거쳐 웹 서버에 도달3. 로직 처리를 위해 WAS에게 요청 전달4. WAS는 데이터 처리를 위해 DB 쿼리 전달5. DB에서 쿼리 수행 후 WAS에 결과 응답6. WAS에서 로직 처리 후 Web Server에 결과 응답7. 다시 보안장비/라우터를 거.. 2026. 1. 30.
[네트워크보안] IPSec IPSec 개요IPSec은 IETF에 의해 개발된 공개 표준 프레임워크IP 네트워크 상에서 안전하고, 인증되고, 신뢰성 있는 통신 제공IPSec 기능인터넷을 통한 안전한 지사사무실 연결인터넷을 통한 안전한 원격 접근협력업체와의 인트라넷과 엑스트라넷 구축전자상거래 보안 강화IPSec 보안 영역IP 계층에서 모든 트래픽에 대한 암호화와 인증원격 로그인클라이언트 / 서버전자 메일파일 전송웹 접근분산 응용IPSec의 이점IPSec을 침입차단시스템이나 라우터에서 구현침입차단시스템에서의 IPSec은 우회하는 트래픽 차단IPSec은 전송계층 아래에 존재하여 응용 프로그램에게 투명성 제공IPSec은 종단 사용자에게 투명성 제공개별적 사용자에게 IPSec 제공IPSec 구조IPSec이 보안을 제공하는 상황Host to .. 2025. 10. 23.
[네트워크보안] SSL/TLS SSL/TLS 개요SSL: Secure Socket LayerTLS: Transport Layer Security클라이언트로부터 서버로의 안전한 TCP 채널 제공초기 목적은 안전한 신용카드 거래 보호OpenSSL 등 많은 공개 라이브러리 존재장점구현하고 사용하기 쉬움대부분의 브라우저와 서버에서 사용 가능단점애플리케이션에 의해 사용될 때에만 보호Clogging(DoS)에 취약종단 간 보호만 제공헤더는 보호되지 않음SSL 사용클라이언트에게 서버 인증클라이언트와 서버가 협의하여 사용할 암호 매커니즘 선택 가능선택적으로 서버가 클라이언트 인증 가능공유 비밀 값을 생성하기 위해 공개키 암호 기술 사용암호화된 SSL 연결 설정Connection적절한 유형의 서비스를 제공하는 논리적인 클라이언트/서버 링크모든 연결은.. 2025. 10. 23.