본문 바로가기
WARGAME 문제 풀이

SWING 내부 CTF 문제 풀이 (Programming, Crypto, Reversing)

by 몰라몰라개복치 2020. 9. 14.

지난 포스트에서 포렌식 문제까지 다뤄봤다. 이번 포스팅에선 프로그래밍, 크립토, 리버싱, MISC, 웹 해킹 문제 등을 다뤄 보려고 한다

 

 

Programming - 타일링 타일링1

 

 

익숙한 문제였고 c언어로 풀어보기로 했다

 

 

2*I 타일을 채우는 경우는 i-1번째의 경우의 수+i-2번째 경우의 수를 합하면 된다

TILE[i]=TILE[i-1]+TILE[i-2]

 

 

 

 

다음과 같이 코드를 짤 수 있었다. 이 코드를 실행시켜 보면

 

 

 

 

문제에 대한 정답이 출력된다 문제 해결! 정답: 3462

 

 

 

 

 

 

 

 

 

 

 

 

 

Programming - calculateit

 

 

 

시간 안에 20개의 수식을 풀면 플래그를 얻는 문제다 그러나 시간은 짧고 연산은 매우 길다 이러한 문제를 코드를 통해 해결해 보자

(계산을 해주는 코드를 짜면 될 것!)

 

 

힌트 코드를 얻어 다음과 같이 코드를 작성해 보았다

 

 

 

위의 코드를 실행시켜 주면 플래그를 획득할 수 있다

 

 

 

 

문제 해결!

 

 

 

 

 

 

 

 

 

 

 

 

Crypto - Crypto EZ

 

문제를 보면 문제가 암호화되어 있음을 알 수 있고 이를 해결하면 FLAG가 나올 것이라고 추측할 수 있다.

 

또한, 지금까지의 FLAG 형태가 모두 SWING[ - ] 형태였기 때문에 ZDPUNSWING일 것이라고 추측했다. 정확한 규칙을 알기 위해 알파벳표를 보며 분석해 봤다.

 

 

 

 

실제로 알파벳표로 순서를 확인해보면 ZDPUN의 각각 문자를 알파벳표를 보고 7개씩 순서를 앞당기면 SWING이 출력되는 것을 알 수 있었다. 이를 근거로 다른 문자까지 해독해보면

 

 

 

 

ZDPUN{Jhlzhy_PZ_clyf_LHZF} => SWING{Caesar_IS_very_EASY}라는 것을 있다.

 

 

 

 

 

 

 

 

 

 

 

Crypto - MS code

 

 

 

문제 제목을 보고 모스 코드 관련 문제일 것이라고 추측 가능했다 먼저 MSCode.txt를 다운해보자

 

 

 

 

 

예상대로 모스 부호가 담겨 있었다.

 

 

 

 

Space bar를 기준으로 모스부호 번역기를 통해 코드를 분석해 보면

TH1S_1S_M0RS3_C0D3이 된다 이때 문제에서 FLAGSWING을 제외하고 모두 소문자라고 했으므로 정답은

 

 

 

 

 

 

 

 

 

 

 

 

Crypto – BAByAS(L)R

 

 

간단한 RSA 문제라 하지만 나한텐 매우 어려웠다...

첨부 파일을 열어보면 p, q, c가 주워진 것을 확인 (c,d,n을 구해준 뒤 이를 POW 연산에 넣어준 뒤 16진수를 문자열로 바꿔준다

 

 

 

 

다음과 같은 코드를 통해 RSA 문제를 풀 수 있었다 이 프로그램을 실행시켜 보면

 

 

Flag: SWING{gongbu_hazi_malgo_nol_a} => 문제 해결

 

 

참고:

https://defenit.kr/2019/09/24/Crypto/%E3%84%B4%20Research/RSA_for_CTF/

 

 

 

 

 

 

 

 

 

Crypto – EASY_RSA

 

 

문제를 보면 이미 C, D, N 이 주어진 상태기에 pow 연산을 한 뒤 16진수를 문자열로 변환해주는 코드를 짜면 된다.

코드는 다음과 같다

 

 

 

 

 

 

 

 

 

Reversing – XOR POWER

 

 

문제에 주어진 소스 코드를 VISUAL STUDIO CODE로 열어보자(파이썬을 실행시킬 수 있는 프로그램이면 된다)

 

 

 

 

 

 

 

 

코드를 분석했더니 조건에 맞는 flag를 입력하는 문제로 보인다

 

 

 

 

 

 

flag 조건에 맞는 수를 찾아내기 위해 식에서 flag를 뽑아냈다

 

 

 

 

 

위의 주요 코드를 이용하여 출력하는 코드를 짠 뒤 실행시켰더니 FLAG가 나왔고 이를 원래 코드에 넣어보니까 FLAG 가 맞다는 표시가 뜬다

 

 

 

 

 

=>문제 해결

 

 

 

 

 

 

 

 

 

 

 

 

 

Reversing-King Of Clicker

 

 

 

시간 내에 일정 수의 클릭을 해야 되는 문제로 보인다 치트 엔진을 써서 이를 해결해 보자

 

 

 

 

 

창을 켜서 클릭을 5까지 해준다(캡처를 까먹고 못했다 TT

그후 NEW SCAN을 떠주고 클릭을 통해 6으로 바꿔준뒤 VALUE 값을 6으로 바꿔주고 NEXT SCAN을 누른다

이후 VALUE6->10000(매우 큰 수로 바꿔준다)

 

 

 

 

 

 

 

 

 

 

Value10000으로 바꿔준뒤 클릭을 누르면

 

 

 

 

 

 

 

문제 해결

 

 

 

 

'WARGAME 문제 풀이' 카테고리의 다른 글

ctf-d 제 친구의 개가 바다에서  (0) 2021.04.01
wargame.kr img recovery  (0) 2021.03.31
Wargame 'Dreamhack' rev-5  (0) 2020.11.02
Wargame 'Dreamhack' rev-4  (0) 2020.11.02
SWING 내부 CTF 문제 풀이 (Forensic)  (0) 2020.09.11