본문 바로가기
CTF/라이트업

SHELLCTF 2022

by SH_L 2022. 8. 15.
반응형

1. MALBORNE (Crypto)

 

 

문제에서 제공하는 텍스트를 해독하는 문제이다.

 

해당 텍스트는 Ben Olmstead가 만든 난해한 프로그래밍 언어인 Malbolge language로 구성되어 있다. 아래 사이트에서 코드를 입력 후 실행시켜주었다.

 

http://www.malbolge.doleczek.pl/

 

Malbolge - interpreter online

Malbolge, invented by Ben Olmstead in 1998, is an esoteric programming language designed to be as difficult to program in as possible.

malbolge.doleczek.pl

 

 

코드를 실행시키면 flag인 SHELL{m41b01g3_15_my_n3w_l4ngu4g3}를 확인할 수 있다.


2. Tring Tring.... (Crypto)

 

 

문제에서 모스 부호를 확인할 수 있다. 아래 사이트에서 모스 부호를 해석했다.

 

https://morsedecoder.com/ko/

 

모스 부호 번역기 - 모스 부호 변환기 | Morse Decoder

다루기 쉬운 모스 부호 번역기로 모스 부호에서 문자, 문자에서 모스 부호로 번역할 수 있으며 모스 부호를 소리로 재생할 수도 있습니다.

morsedecoder.com

 

 

모스 부호 해석 결과 999 666 88 222 2 66 777 33 2 3 6 999 7777 6 7777이라는 숫자를 확인할 수 있다. 아래 사이트에서 해당 숫자들이 어떤 암호 알고리즘으로 구성되어 있는지 확인했다.

 

https://www.dcode.fr/cipher-identifier

 

Decrypt a Message - Cipher Identifier - Online Code Recognizer

Tool to identify/recognize the type of encryption/encoding applied to a message (more 200 ciphers/codes are detectable) in order to quickly decrypt/decode it.

www.dcode.fr

 

 

Multi-tap Phone (SMS) 암호 알고리즘을 사용했음을 알 수 있다.

 

 

Multi-tap Phone (SMS) Decoder를 사용하여 암호문을 복호화 시켜주었다. flag는 SHELL{YOUCANREADMYSMS}이다.


3. Choosy (Web)

 

 

문제에서 딱히 얻을 수 있는 정보는 없어 보이기에 해당 URL에 접속했다.

 

 

해당 URL로 접속하면 값을 입력하라는 화면이 나타난다.

 

문제에서 힌트를 제공하기에 힌트를 확인했다. 힌트는 "imgage payloads are very well than script tag payloads."이다. 힌트를 통해 img 태그를 사용해 flag를 얻는 문제임을 알 수 있었다.

 

 

힌트에서 img와 script 태그를 언급하고 있기에 먼저 script 태그를 사용해 alert 창을 띄우는 것을 시도해보았다.

 

 

script 태그가 필터링되는 것으로 보인다.

 

 

다음으로 img 태그를 사용해 alert 창을 띄우는 것을 시도해보았다.

 

 

script 태그와 달리 alert 창이 띄워지고, alert 창에서 flag를 확인할 수 있다.


4. Extractor (Web)

 

 

admin 계정을 알아내면 flag를 얻을 수 있는 것으로 보인다. 해당 URL에 접속했다.

 

 

해당 URL로 접속하면 기본 페이지와 함께 회원가입과 로그인을 할 수 있는 페이지를 확인할 수 있다.

 

 

Username/Password/Signature를 각각 user/user/user로 설정한 다음 회원가입을 진행했다.

 

 

회원가입 한 계정으로 로그인을 진행했다. URL에서 파라미터를 확인할 수 있다.

 

문제에서 제공하는 2개의 힌트를 확인했다.

1) a sample query :- username' union select 1,sqlite_version(),3,4;--

2) Look in Admins table with username Adminnn

 

힌트를 통해 Union 연산자를 이용한 SQL Injection으로 flag를 얻는 문제임을 알 수 있었다.

 

 

"user' union select * from admins--" 쿼리를 작성하여 Admins 테이블의 내용을 조회했다.

 

 

Admins 테이블의 내용 조회 결과, Signature에서 flag를 확인할 수 있다.

반응형

'CTF > 라이트업' 카테고리의 다른 글

DownUnderCTF 2022  (0) 2022.09.26
Hacker's Playground 2022  (1) 2022.08.25
TFC CTF 2022  (0) 2022.07.31
UTCTF 2022  (0) 2022.06.28
DaVinciCTF 2022  (0) 2022.06.28