🌱 [Dreamhack] simple-web-request 풀이
·
카테고리 없음
🌱 [Dreamhack] simple-web-request 풀이출처플랫폼: Dreamhack문제 링크: simple-web-request문제 개요Flask로 작성된 웹앱에서 STEP 1~2를 거쳐 FLAG 페이지에 도달하면 플래그가 출력된다.각 단계별로 HTTP 메서드와 파라미터를 정확히 맞춰야 다음 단계로 넘어갈 수 있다.코드 분석Step 1 — GET 요청@app.route("/step1", methods=["GET", "POST"])def step1(): if request.method == "GET": prm1 = request.args.get("param", "") prm2 = request.args.get("param2", "") if prm1 ==..
Dreamhack] ex-reg-ex 풀이
·
카테고리 없음
[Dreamhack] ex-reg-ex 풀이출처플랫폼: Dreamhack문제 링크: ex-reg-ex문제 개요Python Flask 서버에서 정규식(re.match)을 분석해 조건을 만족하는 문자열을 입력하면 FLAG를 획득하는 문제다.m = re.match(r'dr\w{5,7}e\d+am@[a-z]{3,7}\.\w+', input_val)if m: return render_template("index.html", pre_txt=input_val, flag=FLAG)정규식 매칭에 성공하면 flag.txt에서 읽어온 FLAG를 페이지에 출력한다.코드 분석서버 전체 구조@app.route("/", methods = ["GET", "POST"])def index(): input_val = "" ..
[Dreamhack] PHPreg 풀이
·
카테고리 없음
[Dreamhack] PHPreg 풀이출처플랫폼: Dreamhack문제 링크: PHPreg문제 개요PHP 정규식(preg_match, preg_replace)을 분석해서 필터링을 우회하고, 최종적으로 RCE를 통해 flag를 획득하는 문제다.코드 분석Step 1 — name 조건$name = preg_replace("/nyang/i", "", $input_name);if ($name === "dnyang0310" && $pw === "d4y0r50ng+1+13") {preg_replace가 입력값에서 nyang(대소문자 무관)을 삭제한다. 처리 후 결과가 dnyang0310이어야 한다.역추적하면:목표: "dnyang0310"→ 삭제 전 원본에 "nyang"이 끼워져 있어야 함→ "dn" + "NYANG"..
맥(Mac) 환경에서 Docker를 이용한 Kali Linux 실습 환경 구축
·
카테고리 없음
정보보안 실습이나 모의해킹, CTF(워게임)를 진행할 때 메인 PC(맥북)에 직접 해킹 툴을 설치하면 패키지 충돌이나 OS 환경 오염이 발생할 수 있다. 보통 UTM 같은 가상머신(VM)을 많이 사용하지만, 시스템 리소스를 많이 차지하고 무겁다는 단점이 있다.이에 대한 대안으로 부팅이 빠르고 가벼운 Docker를 활용해, 필요할 때만 띄우고 지울 수 있는 독립적인 Kali Linux 실습 환경을 구축하는 과정을 정리했다.1. 가상머신(VM)과 Docker의 차이UTM (가상머신): Host OS 위에 Guest OS를 통째로 올리는 방식이다. 무겁지만 완전히 독립적인 환경을 제공한다.Docker (컨테이너): Host OS의 커널을 공유하면서 필요한 프로세스만 격리하여 실행한다. 오버헤드가 적어 매우 가..
2025 리눅스 성장기 [Wargame] Bandit Level 32 → Level 33
·
카테고리 없음
Bandit Wargame 풀이 기록입니다.1. 문제 목표 및 접속 정보목표다음 레벨 비밀번호를 확인한다.제한된 쉘 환경에서 벗어나 정상적인 쉘로 전환한 뒤,접속 정보Host: bandit.labs.overthewire.orgPort: 2220User: bandit32Password: 3O9RfhqyAlVBEZpVb6LYStshZoqoSx5Kssh bandit32@bandit.labs.overthewire.org -p 22202. 풀이 과정접속 직후 이상한 쉘 환경로그인하자마자 평소와 다른 쉘이 나타났다.ls, cat 같은 기본 명령어들이 제대로 동작하지 않았다.일반적인 bash 환경이 아니라,의도적으로 기능이 제한된 쉘에 들어와 있다는 느낌을 받았다.문제 원인 파악이 레벨은 파일이나 권한 문제가 아니라..
2025 리눅스 성장기 [Wargame] Bandit Level 31 → Level 32
·
카테고리 없음
Bandit Wargame 풀이 기록입니다.1. 문제 목표 및 접속 정보목표 Git 저장소에 파일을 추가하고 커밋 메시지를 정확히 작성한 뒤,이를 원격 저장소로 push하여 다음 레벨 비밀번호를 획득한다. 이 과정에서 쉘이 특수 문자를 어떻게 해석하는지 이해하고,의도한 문자열이 그대로 전달되도록 처리해야 한다.접속 정보Host: bandit.labs.overthewire.orgPort: 2220User: bandit31Password: fb5S2xb7bRyFmAvQYQGEqsbhVyJqhnDy2. 풀이 과정Git 저장소 클론로컬 환경에서 Git 저장소를 클론했다.git clone ssh://bandit31-git@bandit.labs.overthewire.org:2220/home/bandit31-gi..
2025 리눅스 성장기 [Wargame] Bandit Level 30 → Level 31
·
카테고리 없음
Bandit Wargame 풀이 기록입니다.1. 문제 목표 및 접속 정보목표 Git 저장소에 파일을 추가하고 원격 저장소로 push하여,서버 측에서 검증을 거쳐 다음 레벨 비밀번호를 획득한다. 단, .gitignore 설정으로 인해 특정 파일이 기본적으로 추적되지 않으므로이를 인지하고 올바른 방식으로 처리해야 한다.접속 정보Host: bandit.labs.overthewire.orgPort: 2220User: bandit30Password: qp30ex3VLz5MDG1n91YowTv4Q8l7CDZLssh bandit30@bandit.labs.overthewire.org -p 22202. 풀이 과정Git 저장소 클론로컬 환경에서 Git 저장소를 클론했다.git clone ssh://bandit29-gi..
2025 리눅스 성장기 [Wargame] Bandit Level 29 → Level 30
·
카테고리 없음
Bandit Wargame 풀이 기록입니다.1. 문제 목표 및 접속 정보목표 Git 저장소의 기본 브랜치가 아닌, 다른 브랜치에 남아 있는 다음 레벨 비밀번호를 찾아낸다.접속 정보Host: bandit.labs.overthewire.orgPort: 2220User: bandit29Password: 4pT1t5DENaYuqnqvadYs1oE4QLCdjmJ7ssh bandit29@bandit.labs.overthewire.org -p 22202. 풀이 과정Git 저장소 클론로컬 환경에서 Git 저장소를 클론했다.git clone ssh://bandit29-git@bandit.labs.overthewire.org:2220/home/bandit29-git/repo클론 후 저장소로 이동했다.cd repolsR..