반응형 전체 글101 정규 표현식(Regex) 보안에서 공격은 이용자가 값을 자유롭게 입력할 수 있는 지점에서 발생한다. 이러한 취약점을 줄이기 위해서는 사용자의 입력 값을 절대 신뢰해서는 안 되며, 항상 검증하여(Never Trust, Always Verify) 서버에서 올바른 데이터만 다루도록 강제해야 한다. 이러한 검증을 위해서는 정규 표현식이 사용된다. 간단하게 특정 형식의 문자열을 표현하고, 형식이 일치하는지 검증할 수 있다. 정규 표현식 : 특정한 패턴으로 문자열을 표현하는 식이다. 정규 표현식에 부합하는 문자열의 경우, 정규 표현식 혹은 패턴에 '매치한다'라고 표현한다. 아래는 이메일 형식을 표현하는 정규 표현식의 예시이다. ^[\w-\.]+@([\w-]+\.)+[\w-]{2,4}$ 매우 긴 문자열에서 원하는 형식의 문자열을 검색하여 추.. 2023. 11. 27. 도커(Docker)와 명령어 도커 : 컨테이너를 만들고, 실행하고, 배포할 수 있는 가상화 플랫폼이다. 여기서 컨테이너는 가상의 환경이 구축되어 있는 하나의 박스를 말한다. virtual machine으로 하나의 OS 위에 다른 OS 환경을 구축하는 것과 유사한 개념이지만, 도커 컨테이너는 새로운 OS 환경을 구축할 필요 없이 하나의 분리된 프로세스처럼 작동하여 가볍다. 도커 이미지(Docket Image) : 도커 컨테이너의 전 단계, 컨테이너를 생성하고 실행하기 위한 모든 것이다. 예를 들어 컨테이너 생성에 필요한 파일, 환경 변수, 명령어 등과 파일 시스템 등이 있다. 직접 본인만의 이미지를 만들거나 다른 사람이 만든 이미지를 사용할 수 있다. 생성법 : Dockerfile 을 작성하고 빌드한다. 여기서, 태그(Tag)를 붙일.. 2023. 11. 20. [Dreamhack] Exercise: SSH 문제 풀이 접속하려는 SSH 서버에 대한 id(user)와 password가 주어져 있다. Terminal에서 다음과 같이 문제 서버에 접속할 수 있다. ssh chall@host3.dreamhack.games -p 12810 Are you sure you want to continue to connect ? (yes/no) password : dhbgssh // 주어진 password를 입력한다. 문제 파일을 받으면 flag에 대한 파일이 있고, open을 하면 파일 내용은 다음과 같다. DH{this_is_not_real} 이는 문제에서 구하고자 하는 진짜 플래그가 아니다. 앞서 원격 접속한 ssh에서 cat flag 명령어를 통해 flag 파일의 내용을 찾아보자. chall@localhost:~$ cat fl.. 2023. 11. 20. SSH(Secure Shell, Secure Socket Shell) SSH : 원격 서버(컴퓨터)에 연결할 수 있도록 해주는 암호화된 네트워크 프로토콜이다. 사용법 : Terminal에서 ssh user@Host -p Port -i [개인 키 파일 경로] 명령어를 통해 사용할 수 있다. 여기서, user는 접속할 계정(사용자 이름)이며, Host는 접속하려는 원격 서버의 ip 또는 도메인이다. 특정 포트로 접속하고 싶은 경우 -p 옵션을 이용한다. 클라이언트가 접속하기 전에 사용자가 믿을 만 한지에 대한 인증이 필요하다. 2가지가 있다. 패스워드로 인증: ssh user@Host 명령어를 통해 패스워드를 입력한 뒤 원격 서버에 접속할 수 있다. 공개 키-개인 키 쌍으로 인증: ssh-keygen 명령어를 통해 원격 서버에 공개 키(public key)를 저장하고, 클라이.. 2023. 11. 20. 이전 1 ··· 21 22 23 24 25 26 다음 반응형