반응형 용오동48 [Dreamhack Wargame] Beginner - phpreg ☆ Beginner - phpreg ☆[1] 문제 ♣ phpreg는 Dreamhack CTF Season 3 Round #6 (Div2)에 출제된 문제이다.♣ 위 문제는 php 파일을 읽어 Nicname과 Password를 찾아내고 system() 함수를 이용해 플래그를 획득하는 문제이다. [2] 풀이 ♣ 서버를 생성하고 생성된 URL을 클릭하여 웹 서버에 접속한다. ♣ Nickname과 Password를 입력하는 로그인 페이지가 나온다. ♣ 주어진 문제 파일을 다운받아 php 코드를 확인한다. # 다운받은 step2.php 파일의 소스코드 내용은 아래와 같다.더보기 PHPreg Step 1 S.. 2024. 12. 4. [Dreamhack Wargame] Beginner : ex-reg-ex ☆ Beginner - ex-reg-ex ☆[1] 문제♣ ex-reg-ex는 Dreamhack CTF Season 3 Round #2 (Div2)에 출제된 문제이다.♣ 위 문제는 정규표현식으로 작성된 문자열을 해석하여 플래그를 얻어내는 문제이다.[2] 풀이 ♣ 서버를 생성하고 생성된 URL을 클릭하여 웹 서버에 접속한다. ♣ 접속한 웹 페이지의 모습을 확인할 수 있다. > 주어진 웹 페이지에 Regex가 표시되어있고, 이를 통해 '정규 표현식'을 사용해야 한다는 것을 유추할 수 있다. > 또한 올바른 입력값을 전달하면 Flag값을 얻어낼 수 있다는 것을 알 수 있다. ♣ 주어진 문제 파일을 다운받아 코드를 확인한다. # 다운받은 app.py 파일의 소스코드의 내용은 다음과 같다.#!/usr/b.. 2024. 12. 2. [Python] 정규 표현식 - re 모듈 ♣ Python에서는 re 모듈을 통해 정규 표현식을 사용할 수 있다.re 모듈의 함수를 호출하여 패턴에 일치하는 문자열을 검색하거나 치환하는 등 다양한 동작을 수행한다.# python 정규 표현식을 활용한 코드 예제# 문자열에서 알파벳 대문자만 출력import repattern = re.compile("[A-Z]")result = pattern.findall("Hello, My name is ODong!")print(result)# 결과 : ['H', 'M', 'O', 'D'] ♣ re 모듈을 사용하는 순서 1. re 모듈 importimport re 2. 검색할 패턴을 생성하고 객체(변수)를 생성한다.객체명(변수명) = re.compile("패턴") 3. 객체를 이용하여 문자열을 .. 2024. 12. 1. [Dreamhack Wargame] Beginner - blue whale ☆ Beginner - blue whale ☆[1] 문제♣ blue-whale 문제는 Dreamhack CTF Season 3 Round #4 (Div2)에 출제된 문제이다. ♣ 위 문제는 Dockerfile을 dive라는 도구를 활용하여 이미지를 분석하고 플래그를 획득하는 문제이다.[2] 풀이♣ 제공되는 문제 파일인 Dockerfile을 다운로드하여 리눅스(Ubuntu22.04)에 옮겨준다. ♣ cat 명령을 통해 Dockerfile의 내용을 확인한다. FROM ubuntu:22.04@sha256:27cb6e6ccef575a4698b66f5de06c7ecd61589132d5a91d098f7f3f9285415a9ENV user challENV chall_port 31337RUN apt-get update.. 2024. 11. 29. [Dreamhack Wargame] Beginner - Exercise : Docker ☆ Beginner - Exercise : Docker ☆[1] 문제♣ Docker 실습을 위한 문제이다.♣ Docker를 사용하여 Dockerfile을 빌드하여 이미지를 생성하고, 컨테이너를 실행하는 것이 목표인 문제이다.[2] 풀이♣ 문제 파일(Dockerfile)을 다운받아 리눅스(Ubuntu22.04)에 옮겨준다.(WinSCP를 사용하였다.) ♣ 다운받은 파일이 있는 경로로 이동한 후 Dockerfile을 빌드하여 이미지를 생성한다.cd Exercise_Dockerdocker build . ♣ 빌드가 완료되면 docker images 명령을 사용하여 생성된 이미지를 확인한다.docker images ※ ' ca9568ebcdcf ...' : 도커 이미지가 생성된 것을 확인할 수 있다. ♣ 빌드.. 2024. 11. 28. [Ubuntu Linux] 리눅스(Ubuntu 22.04)에 도커(Docker) 설치 및 사용법 [Docker] ♣ 도커(Docker)는 컨테이너를 만들고 배포할 수 있는 가상화 플랫폼이다. 즉, 특정한 환경을 구성하기 위해 만들어진 가상의 공간을 말한다.컨테이너 : 가상의 환경이 구축되어 있는 하나의 박스(공간)을 말한다.VMware, VirtualBox 등의 가상머신으로 하나의 운영체제 위에 다른 운영체제 환경을 구축하는 것과 유사하지만, 도커 컨테이너는 새로운 운영체제 환경을 구축할 필요 없이 하나의 분리된 프로세스처럼 작동하여 가볍다. ♣ 용어 설명# 도커 이미지(Docker Image) 도커 컨테이너의 전 단계이다. 컨테이너를 생성하고 실행하기 위한 모든 것을 포함한다. 컨테이너 생성에 필요한 파일, 환경 변수, 명령어 등과 파일 시스템 등이 이에 해당한다.이미지를 생성하여 사용하거나,.. 2024. 11. 27. [Dreamhack Wargame] Beginnger - Exersice : SSH ☆ Beginner - Exercise : SSH ☆[1] 문제♣ SSH 실습을 위한 문제이다.♣ SSH를 사용하여 서버에 접속하여 플래그 파일을 읽는 것이 목표인 문제이다.[2] 풀이♣ 서버를 생성하고, 생성된 도메인을 복사한다. ♣ Ubunbu 터미널 창을 연다. ♣ SSH를 사용하여, 생성한 서버(host3.dreamhack.games)에 접속을 시도한다.* 사용자명 : chall* 패스워드 : dhbgssh# SSH 프로토콜을 사용하여 host3.dreamhack.games:19213 서버에 접속(사용자 : chall)ssh chall@host3.dreamhack.games -p 19213# Are you sure you want to continue connecting (yes/no/[finge.. 2024. 11. 26. [Dreamhack Wargame] Beginner - Exercise : Welcome-Beginners 문제 풀이 ☆ Beginner - Exercise : Welcome-Beginners ☆[1] 문제♣ Wargame 실습을 위한 문제이다. ♣ nc 도구를 사용하는여 푸는 문제이다.[2] 풀이♣ 서버를 생성하고 생성된 URL을 복사한다. ♣ Ubuntu Linux 터미널창을 연다.♣ nc 도구를 사용하여, 생성한 서버에 접속한다.# netcat 설치apt install netcat# nc로 host3.dreamhack.games:14070 접속nc host3.dreamhack.games 14070 ♣ "Dreamhack"을 입력하면 플래그 값을 얻어낼 수 있다.DH{d6398f06b35117877a855ade8d2015fc3b142c3ca6686ce3198e372b9ef8a644} ♣ 제출 결과 2024. 11. 25. [Dreamhack Wargame] Beginner - baby linux 문제 풀이 ☆ Beginner - baby linux ☆[1] 문제♣ baye linux 문제는 Dreamhack CTF Season 3 Round #2에 출제된 문제이다. ♣ flag.txt 파일을 찾는 리눅스 문제인 것으로 확인된다.[2] 풀이 ♣ 서버를 생성하고 생성된 URL을 클릭해 웹 서버에 접속한다. ♣ 접속한 웹 서버의 모습을 확인할 수 있다. ♣ 'echo $( )' 명령 안에 'ls -l'를 집어 넣어 작업 공간을 확인한다. ♣ Result에 출력된 결과에는 다음과 같은 파일과 디렉터리 목록이 확인된다.total 24K-rwxr-xr-x 1 root root 884 Apr 21 2023 app.py drwxr-xr-x 3 root root 4.0K Apr 21 2023 dream -.. 2024. 11. 12. [Ubuntu Linux] 리눅스 기초 사용법(User, Group, UID, GID, 권한, 디렉터리 구조) [사용자(user)와 그룹(group)]♣ UID / GID리눅스는 다중 사용자 시스템(Multi-user System)이다. 즉, 1대의 리눅스에 여러명의 사용자가 동시에 접속해서 사용할 수 있는 시스템을 말한다.리눅스를 설치하면 기본으로 root라는 이름의 수퍼 유저(Super User)가 있다. root 사용자는 시스템의 모든 작업을 실행할 수 있는 권한을 소유하고 있다. 또한 시스템에 접속할 수 있는 사용자를 생성할 수 있는 권한도 소유하고 있다.모든 사용자는 단독으로 존재하지 않고, 하나 이상의 그룹에 소속되어 있어야 한다.리눅스의 각 유저는 이름과 고유한 사용자 ID(UID)를 가지고 있다.그룹은 여러 유저가 속할 수 있는 그룹으로, 그룹 이름과 고유의 그룹 ID(GID)를 가지고 있다. # .. 2024. 11. 11. 이전 1 2 3 4 5 다음 반응형