워게임 스터디 25

[250408][Webhacking] old-25

접속화면은 이렇다. 화면에 flag.php가 있어서 해당 url로 접속해 보았는데 라고만 뜨고 아무것도 안 떴다. hello.php도 마찬가지 다만 처음에 사이트에 접속하면 다음과 같은 file=?의 url로 연결이 되고 이 url을 바탕으로이 부분이 채워지는 듯 하다. 현재 file이 hello로 되어 있어 file 안에 들어 있는 hello world를 출력해 주고, file이 flag일 시아까 보았던 문자열을 출력해 주는 것을 볼 수 있었다. 즉 이 문제는 파일을 읽어서 출력해 주는 문제인 것 같다. GPT 한테 물어 보니 file 파라미터를 통해 서버에서 특정 파일을 불러와 보여주는 구조라고 했다. 예를 들어,webhacking.kr:10001/?file=hello라는 요청을 보내면 hello.p..

워게임 스터디 2025.04.08

[250408] wrapper

wrapper 클래스란?기본 자료형을 참조형 자료처럼 사용하기 위한 클래스기본 자료형: int, float, char, boolean과 같은 자료형. 정적 타이핑으로 작성되는 언어참조형 자료형: 기본 자료형을 기초로 하여 만들어진 자료형. String, Araay, Map 등과 같은 클래스와 인터페이스, 열거형이 해당 => 컴퓨터 메모리에 저장된 데이터를 간접적으로 접근할 수 있는 값(=주소값)을 식별하고 저장하는 방식기본 자료형참조 자료형byteString(문자열)shortArray(배열)intEnumeration(열거)longClass(클래스)floatInterface(인터페이스)double char boolean  기본 자료형을 감싸는 클래스-> 기본 자료형의 값을 감싸 객체형태로 만든 것-> 불변..

워게임 스터디 2025.04.08

java 스크립트 정리

position의 속성> position: static -> 기본값(이동 불가)> position: relative> position: abslute> position: fixed> position: stickyrelative란?- 자기 자신을 기준으로 이동absolute란?- 이름과 같이 절대적 위치에 둘 수 있음.- 부모를 기준으로 이동- absolute를 쓸 경우, 기준이 될 부모에게 relative를 부여하고 원하는 위치에 지정fixed란?- viewpoint를 기준으로 고정sticky란?- 스크롤 영역 기준으로 배치- 부모 컨테이너 안에서 스크롤링 시 스크롤링 방향에 따라 지정된 포지션에서 유지parseInt() 함수 parseInt(string, radix)파라미터> string: 숫자로 변환..

워게임 스터디 2025.04.01

[250401][Webhacking] old-10

접속하면 이런 빨간 선과 중간에 회색선이 보이고, 왼쪽 O와 오른쪽에 Goal이 있는 것을 볼 수 있었다. 저 O에 마우스를 가져다 대면이런식으로 O가 yOu로 바뀌는 것을 볼 수 있었다. 이것을 우클릭 하면 맨 왼쪽에 있었던 O가 점점 오른쪽으로 옮겨 가는 것을 볼 수 있었다. 소스 코드를 확인해 보았다.O||||Goalno hack보니 id가 'hackme' 로 되어 있었다. 얘를 건들이는 문제인 듯? style을 보니 포지션이 relative이었다.position의 속성> position: static -> 기본값(이동 불가)> position: relative> position: abslute> position: fixed> position: stickyrelative란?- 자기 자신을 기준으로 ..

워게임 스터디 2025.04.01

[250325][Webhacking] old-12

접속하니 자바 스크립트 문제라길래 소스 코드를 확인해 보았다. 소스코드는 다음과 같다,더보기 javascript challenge 본 스크립트에는 엄청나게 긴 이모지...? 이모티콘? 이 있었다. 자세히 보니 같은 이모티콘이 계속해서 쓰이는 것을 볼 수 있었다. 이모티콘으로 난독화된 어떠한 코드? 인 것 같다, 아닌 걸 알지만 Base64 형식에서 디코딩을 해 보았더니 당연히 안 됐다.어떤식으로 해야할지 모르겠어서 이모티콘 디코딩이라고 구글에 검색했더니 old-12의 문제 풀이만 나오고 특별한 건 나오지 않았다... 그래서 문제 풀이를 확인해 보았더니 aaencode라는 인코딩 사이트를 사용하여 특정 문자를 이모티콘으로 인코딩한 것이라는 것을 알 수 있었다. https://cat-in-136.g..

워게임 스터디 2025.03.25

[250219] [dreamhack] ex-reg-ex

무언가를 입력하면 (예를 들어 flag)Input에 입력값이 들어가고Flag는 여전히 ?이다. 코드는 다음과 같다.#!/usr/bin/python3from flask import Flask, request, render_templateimport reapp = Flask(__name__)try: FLAG = open("./flag.txt", "r").read() # flag is here!except: FLAG = "[**FLAG**]"@app.route("/", methods = ["GET", "POST"])def index(): input_val = "" if request.method == "POST": input_val = request.form.get..

워게임 스터디 2025.02.19

[250211] dreamhack - baby-linux

들어가면 리눅스 창이 뜬다 형식을 보아하니 vi인듯우선 모든 파일을 다 보기 위해 ls -l을 입력해 준다total 24 -rwxr-xr-x 1 root root 884 Apr 21 2023 app.py drwxr-xr-x 3 root root 4096 Apr 21 2023 dream -rw-r--r-- 1 root root 34 Apr 21 2023 hint.txt -rw-r--r-- 1 root root 5 Apr 21 2023 requirements.txt drwxr-xr-x 5 root root 4096 Apr 21 2023 static drwxr-xr-x 2 root root 4096 Apr 21 2023 templates다음과 같은 결과를 얻음 힌트.txt가 있길래 바로 상세내용 확인해 보었다..

워게임 스터디 2025.02.11

[250211] dreamhack - file-download-1

링크에 접속하면 다음과 같은 문구가 뜬다. 임의로 파일네임과콘텐츠를 flag로 입력해 준 후 URL을 확인해 보았다. 읽기 형식으로 name이 flag로 설정되는 듯? 코드를 보자import osimport shutilfrom flask import Flask, request, render_template, redirectfrom flag import FLAGAPP = Flask(__name__)UPLOAD_DIR = 'uploads'@APP.route('/')def index(): files = os.listdir(UPLOAD_DIR) return render_template('index.html', files=files)@APP.route('/upload', methods=['GET', '..

워게임 스터디 2025.02.11

[250204][webhacking] old-14

접속하니 그냥 입력칸만 있어서 바로 소스 코드 확인해 보았다스크립트 내용은 다음과 같다function ck(){ var ul=document.URL; ul=ul.indexOf(".kr"); ul=ul*30; if(ul==pw.input_pwd.value) { location.href="?"+ul*pw.input_pwd.value; } else { alert("Wrong"); } return false;}imdex0f를 검색하니 특정 문자의 위치를 찾는 함수라 나온다그래서 URL, 즉 https://webhacking.kr/challenge/js-1/에서 .kr의 위치를 세 봤더니 18이다ul==pw라 했고, ul이 18인데 여기다 30을 곱하라 했으니 답은 540이다풀림

워게임 스터디 2025.02.04