슈포스/워게임 13

[web]SuNiNaTas_01

파이썬 코드이다. 입력받은 값을 str에 저장해서 주어진 코드대로 변형 후, result 값이 admin이면 답이 나오는 문제이다. Replace 함수는 말그대로 문자열을 대체하는 함수로, 문제의 예시로는 a가 aad로 변환된다.Mid 함수는 주어진 인덱스부터 주어진 수만큼의 값을 가져오는 함수로, 문제의 예시로는 2번 인덱스부터 2개의 값을 가져오는 것이다.&은 두 값을 합치는 함수이다.result 값이 admin이어야 한다. -> result는 result1과 result2의 합이고, result1과 result2는 각각 result에서 mid 함수로 값을 추출하는 것을 볼 수 있다. 2글자, 6글자씩 추출한다. 합치면 8글자이니 result2에서 3글자만 가져오도록 뒤의 인덱스 값에는 아무런 문자가..

슈포스/워게임 2024.11.26

[misc]Dreamhack_dreamhack-tools-cyberchef

문제 설명드림이가 만든 https://tools.dreamhack.games/cyberchef를 아무도 몰라줘서 드림이가 매우 슬퍼해요. 우리 함께 사용해볼까요?  문제에서 주어진 사이트에 들어가면, 이런 화면이 뜬다. 둘러보니 암호화와 관련된 사이트인 것 같았다. 사이트로만은 단서가 부족해서(f12 확인해도 마찬가지) 문제 파일을 확인했다. 문제 파일에는 어떠한 웹페이지만 있었다. 해당 페이지에 들어가면 사진과 같은 단서가 있었다.문제에서 주어진 EUg5MJAyYJ9fYJ5iMKqio29iVK1VL2WlnTM0o3AyL2Elq3q3qlRu이라는 알 수 없는 문자열은 아마 암호화된 문자열 같았다. 처음에는 Rail Fence -> Base64-> ROT13 순서로 복호화하라는 뜻인 줄로만 알아서 해당 순..

슈포스/워게임 2024.11.26

[web]Dreamhack_ex-reg-ex

문제 설명 문제에서 요구하는 형식의 문자열을 입력하여 플래그를 획득하세요. 플래그는 flag.txt 파일과 FLAG 변수에 있습니다.플래그 형식은 DH{...} 입니다. 사이트에 들어가면 어떠한 값을 입력했을 때, Flag가 나오는 것을 확인할 수 있다. f12로 확인해 봤지만 딱히 볼만한 것은 없었다. 그래서 코드를 살펴보았다.잘은 모르겠지만 입력받은 값이 input_val이고, 그 값과 m을 비교하는 것 같았다. re.match()에 관해서는 잘 몰라서 풀면서 검색을 해봤고, 자세한 설명은 아래에 정리해뒀다.input_val의 문자열이 re.match()의 조건과 일치해야 하는 것 같았는데, 그 조건만 맞춰서 입력하면 플래그 값이 나오는 것으로 보였다. 그래서 조건에만 맞춰서 'dreeeeeeee11..

슈포스/워게임 2024.11.19

[misc]Dreamhack_baby-linux

문제 설명리눅스 명령어를 실행하는 웹 서비스가 작동하고 있습니다.해당 웹 서비스의 코드가 첨부파일로 주어집니다.flag.txt 파일을 찾아 출력하여 플래그를 획득하세요!플래그 형식은 DH{...} 입니다.  코드부터 살펴봤다.보면 user_input이 리눅스 명령어로 실행되는 것을 확인할 수 있다. 그래서 사이트에 들어가서 ls를 먼저 쳐봤다. 파일 목록들이 나오는데, 'hint.txt'가 플래그에 대한 힌트인 것 같아서 cat 명령어로 해당 파일을 읽어줬다. hint.txt에는 플래그의 경로가 나와있었다. 그래서 바로 cat ./dream/hack/hello/flag.txt를 입력해봤는데, No!라는 문구가 뜨면서 플래그 값이 출력되지 않는 것을 확인할 수 있다. 이는 파이썬 코드의 문제로flag라는 ..

슈포스/워게임 2024.11.19

[web]Dreamhack_command-injection-1

문제 설명 특정 Host에 ping 패킷을 보내는 서비스입니다.Command Injection을 통해 플래그를 획득하세요. 플래그는 flag.py에 있습니다.   이 문제는 해당 링크(https://learn.dreamhack.io/592#1)에서의 설명을 토대로 풀어나갔다. 코드를 살펴보면cmd 변수에 host 값이 들어가있는 것을 확인할 수 있다.host 값은 웹페이지(아래 사진)에서 입력받고 있으며, 이를 이용하면 문제를 풀 수 있다. 입력받는 host 칸에 cmd 명령어를 입력하면 되는 것이다."은 8.8.8.8까지가 문자열의 끝이라는 걸 알려주기 위해 입력한다. 이후 명령어를 이어서 실행하기 위해 ;를 붙여주고, 파일 목록을 보기 위해서 ls 명령어를 입력해준다. #은 주석처리를 위해 적는다.*..

슈포스/워게임 2024.11.12

[misc]Dreamhack_Exercise: Docker

문제 설명Docker 실습을 위한 문제입니다. 주어진 Dockerfile을 빌드하여 이미지를 생성하고 컨테이너를 실행해 보세요!플래그의 형식은 DH{...} 입니다. 문제 파일 다운받고, cd명령어를 사용해 경로를 문제 파일로 옮겼다. 파워쉘에서 docker build . 명령어 입력했더니 빌드가 잘 됐다. docker images 명령어를 입력해 image id를 얻었다. 그리고 얻은 image id 를 이용해 docker run 명령어를 입력해 줄 수 있었다.그리고 cat 명령어를 사용해 flag 파일의 내용을 확인하니 플래그값을 구할 수 있었다. dockerfile을 이용한 건 처음이라서 검색에 많이 의존했다..그렇기에 모르거나 헷갈리는 부분, 궁금증이 드는 부분을 정리해봤다.더보기dockerfil..

슈포스/워게임 2024.11.11

[web]Dreamhack_🌱simple-web-request

문제 설명STEP 1~2를 거쳐 FLAG 페이지에 도달하면 플래그가 출력됩니다.모든 단계를 통과하여 플래그를 획득하세요. 플래그는 flag.txt 파일과 FLAG 변수에 있습니다.플래그 형식은 DH{...} 입니다.문제에서 주어진 사이트에 들어가면 해당 화면이 뜬다. 문제 설명대로 STEP1, STEP2 순으로 풀어야 하며 이를 무시하고 STEP2나 FLAG를 눌러봐도 사진처럼 Not yet라고 뜨는 것을 확인할 수 있다.  STEP1에 들어가면 param과 param2에 들어갈 문자열을 제출해야 하는 것을 볼 수 있다. 이때, 마땅한 힌트가 없어서 문제 파일의 파이썬 코드를 살펴보기로 했다.  STEP1에 해당하는 코드를 살펴보면, 사진과 같다. 사진 속 코드로 param에는 getget이라는 문자열이..

슈포스/워게임 2024.11.04

[web]Dreamhack_Flying Chars

문제 설명날아다니는 글자들을 멈춰서 전체 문자열을 알아내세요! 플래그 형식은 DH{전체 문자열} 입니다.❗첨부파일을 제공하지 않는 문제입니다.❗플래그에 포함된 알파벳 중 x, s, o는 모두 소문자입니다.❗플래그에 포함된 알파벳 중 C는 모두 대문자입니다. 파일을 다운받아도 별거 없었다. 그래서 웹 사이트에만 의존해서 풀어야 한다. 사이트에 들어가면 문제 설명처럼 글자들이 날아다닌다.역시나 f12누르고 Source부터 확인해봤다.이미지 파일이 이렇게 많이 있었다. 아무 이미지 파일이나 누르면(해당 파일은 1.png) 떠다니는 글자 중 하나가 보인다. 이미지에 글자가 있으니 이걸 조합하면 플래그 값을 구할 수 있을 것 같았다. 코드를 살펴보면 숫자가 0 1 2...처럼 순서대로 있는 것이 아니라, 사진처럼..

슈포스/워게임 2024.10.31

[misc]Dreamhack_64se64

문제 설명"Welcome! 👋"을 출력하는 html 페이지입니다.소스 코드를 확인하여 문제를 풀고 플래그를 획득하세요.플래그 형식은 DH{...} 입니다 파일 들어가면 Welcome!을 출력하는 사이트가 나온다. 그 사이트에서 f12를 눌러서 value값에 있는 문자들을 복사했다. 해당 문자들을 base64 디코딩 사이트에 들어가서 붙여넣고, 디코딩해줬다. 디코딩하니 아래와 같은 파이썬 코드가 나왔다.=>제목에 64가 들어가니까 base64를 이용한 문제라고 생각할 수 있었다.해당 코드를 실행하니 플래그 값이 나왔다.개인 공부 목적으로 작성된 글이며, 틀린 정보나 해석이 있을 수 있음.https://dreamhack.io/wargame/challenges/872 64se64Description "Wel..

슈포스/워게임 2024.10.08

[web]Dreamhack_Carve party

문제 설명할로윈 파티를 기념하기 위해 호박을 준비했습니다! 호박을 10000번 클릭하고 플래그를 획득하세요!  호박을 10,000번 클릭하면 플래그 값을 획득할 수 있는 문제이다. 파일을 다운받고 사이트에 들어갔다. f12를 눌러서 코드를 대충 살펴보면, counter 값에 클릭한 횟수가 저장되는 것을 알 수 있었다. 따라서 콘솔 창에서 counter값을 조작해줬다. 입력하고 나니 아래와 같은 문구가 뜨는데 여기서부터 조금 막혔다. 찾아보니 이런 방식으로 하면 안된다고 해서 새로고침하고 처음부터 했다.=> 이유 : 단순히 counter 값만 올리는 것이 아니라 실제로 클릭 횟수가 늘어나야 한다고 했다. 아래의 코드에서 counter 값이 100씩 올라갈 때마다 연산을 진행하기 때문이었다.  그래서 위처럼..

슈포스/워게임 2024.10.08