728x90
SMALL

HackCTF의 Crypto분야의 Classic Cipher -1 문제입니다. 문제에서는 압축파일 하나가 주어집니다. 이 압축파일을 해제하면 아래와 같은 문자가 적힌 텍스트파일 하나가 나옵니다.

?y4zl4J_d0ur_b0f_0K zp nhsm

이 문제에서는 힌트로 Hint : [::-1] 가 주어졌는데 이는 좌우반전을 의미합니다. 그래서 주어진 문자를 거꾸로 변환해주었습니다.

mshn pz K0_f0b_ru0d_J4lz4y? 라는 문자열이 만들어졌습니다. 카르시르 암호라는 것을 알수있습니다. 이를 아래의 사이트를 이용하여 암호를 해독해주었습니다.

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

 

Caesar Cipher (Shift) - Online Decoder, Encoder, Solver, Translator

Tool to decrypt/encrypt with Caesar cipher (or Caesar code), a shift cipher, one of the most easy and most famous encryption systems, that uses the substitution of a letter by another one further in the alphabet.

www.dcode.fr

flag is D0_y0u_kn0w_C4es4r?

flag is D0_y0u_kn0w_C4es4r? 라는 해독결과가 나왔습니다. HackCTF{}라는 형식을 지켜 HackCTF{D0_y0u_kn0w_C4es4r?}라고 답안을 제출하면 정답이 뜨는 것을 알수있습니다.

LIST

'WarGame > HackCTF' 카테고리의 다른 글

[HackCTF|Misc] BF  (0) 2022.04.27
[HackCTF|Crypto]Smooth CipherText  (0) 2022.04.19
[HackCTF|Crypto]Great Binary  (0) 2022.04.19
[HackCTF|Web] WriteUp(2)  (0) 2022.04.19
[HackCTF|Misc]QRCODE  (0) 2022.04.15
728x90
SMALL

-[------->+<]>-.[--->++++<]>+.++.++++++++.[->+++<]>++.>-[--->+<]>-.[----->+<]>++.>--[-->+++++<]>.-[-->+++++<]>.----------.---[->+++<]>+.--------------.[--->+<]>-.------------.[-->+<]>---.-[----->+<]>--.---.-[-->+<]>----.-[----->+<]>--.[-->+<]>-.------[->++<]>-.-[->++++++<]>.---[->++<]>.[-->+<]>-.+[--->++<]>-.-.+[->+++<]>.[--->+<]>-.------------.[-->+<]>-.---[->++<]>-.[--->+<]>+.-.---------.++.[-->+<]>----.++++++[->++<]>.[-->+<]>-----.---[->++<]>.[-->+<]>.+++++[->++<]>.[-->+<]>-----.[--->++<]>--.+++++.[->+++++<]>++.-[->++++++<]>.+++[->++<]>.[-->+<]>---.++[->++<]>.-[--->+<]>.-[++>---<]>+.----.++++.-----[->++<]>-.---[->++++<]>.++.--[->+++++<]>.+++++[->++<]>.[-->+<]>--.-[->++<]>-.-[--->+<]>--.+++++++++.

HackCTF Misc의 BF문제입니다.  문제를 클릭하면 위와같이 난해한 코드들이 등장하는 것을 볼 수 있습니다. 위 코드는 브레인퍽이라는 언어입니다. 아래의 사이트에서 코드를 해독해줬습니다.

https://www.dcode.fr/brainfuck-language

 

Brainfuck Language - Online Decoder, Translator, Interpreter

Tool to decode/encode in Brainfuck. Brainf**k is a minimalist programmation language that takes its name from two words that refer to a kind of cerebral masturbation.

www.dcode.fr

HackCTF{1'm_th1nk1n6_4b0ut_th3_vuln3r4b1l1ty_4n4ly515_pr0j3ct}

 

LIST

'WarGame > HackCTF' 카테고리의 다른 글

[HackCTF|Crypto]Classic Cirpher -1  (0) 2022.04.27
[HackCTF|Crypto]Smooth CipherText  (0) 2022.04.19
[HackCTF|Crypto]Great Binary  (0) 2022.04.19
[HackCTF|Web] WriteUp(2)  (0) 2022.04.19
[HackCTF|Misc]QRCODE  (0) 2022.04.15
728x90
SMALL

Rijvsmysmysmy Itovwyrc! Ns wyy ixsu Glm kq G? wc lkqc sw qwsmdlkkr sr...M ixsu fipi acvp urer iss geld! Md iss mel niastfov rrmq mvwzxmqvyw, cme gyx kcd xfo gmbvcmx yxwuov. qy, jjkk gc LymoADJ{t_tzwi_3vxbd0p3_vff.afy'q_wzoxpq_dp_qfz}

플래그 형식을 갖춘것으로 보아  비즈네르 암호임을 추측할 수 있었다. 아래의 사이트를 통하여 비즈네르 암호를 풀었다.

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

 

Vigenere Cipher - Online Decoder, Encoder, Solver, Translator

Tool to decrypt/encrypt Vigenere automatically. Vigenere cipher is a poly-alphabetic substitution system that use a key and a double-entry table.

www.dcode.fr

첫번째 복호화 결과 flag 부분이 아직 완전히 해독되지 않아 flag를 입력하면 오류가 뜬다. 그래서 flag 부분만 복사해서 한번 더 복호화를 해줬다.

HackCTF{i_will_3emem0e3_you.don't_forget_me_too}

정상적인 플레그가 출력되는 것을 확인할 수 있다. 괄호안에 flag를 HackCTF{}형식으로 입력을 하여 flag를 제출하면 정답이라고 뜬다.

LIST

'WarGame > HackCTF' 카테고리의 다른 글

[HackCTF|Crypto]Classic Cirpher -1  (0) 2022.04.27
[HackCTF|Misc] BF  (0) 2022.04.27
[HackCTF|Crypto]Great Binary  (0) 2022.04.19
[HackCTF|Web] WriteUp(2)  (0) 2022.04.19
[HackCTF|Misc]QRCODE  (0) 2022.04.15
728x90
SMALL

HackCTF Crypto의 Great Binary라는 문제입니다. 문제에 zip파일 하나가 첨부되어 있습니다.

01001000 01100001 01100011 01101011 01000011 01010100 01000110 01111011 01100011 01110010 01111001 01110000 01110100 01101111 01011111 01110110 00110010 01110010 01111001 01011111 01100101 01100001 01110011 01111001 01011111 01110000 01110010 00110000 01100010 00110001 01100101 01101101 01111101

문제의 압축을 해제하면 위와 같은 이진수로 이루어진 텍스트 파일이 나온다. 이 이진수를 텍스트로 변환해주는 사이트를 활용하여 변환을 하니 플레그를 얻을 수 있었다.

https://ko.rakko.tools/tools/74/

 

이진 번역기 / 변환기 : 이진, 십진, 헥사, 아스키 코드 및 일반 텍스트 | RAKKOTOOLS🔧

이진수, 10 진수, 16 진수, ASCII 숫자 및 텍스트 간 변환

ko.rakko.tools

HackCTF{crypto_v2ry_easy_pr0b1em}

LIST

'WarGame > HackCTF' 카테고리의 다른 글

[HackCTF|Misc] BF  (0) 2022.04.27
[HackCTF|Crypto]Smooth CipherText  (0) 2022.04.19
[HackCTF|Web] WriteUp(2)  (0) 2022.04.19
[HackCTF|Misc]QRCODE  (0) 2022.04.15
[HackCTF|Web] Writeup(1)  (0) 2022.02.27
728x90
SMALL

Time이라는 문제입니다.

0을 입력하면 시간이 너무 짧습니다!라는 문구가 나온다.

또한, 높은 숫자를 입력하면 시간이 너무 깁니다!라는 문구가 나온다.

입력창에 flag라고 입력을 하면 시간은 숫자만 됩니다!라는 문구가 나옵니다.

 

코드를 보면 5,184,000초 이상 7,776,000초 미만의 값이 입력이 되면 입력한 초 만큼의 시간이 지난뒤 flag가 출력이 된다고 한다.

이 문제는 PHP에서 정수형으로 변환시, 실수형은 소수점뒤를 버리는 성질을 활용하여 풀수있다.

입력창에 지수값을 넣으면 많이 기다리지 않고도 바로 flag값을 얻을수있다.

적은 시간을 이용하여 문제를 풀기위해 저는 5184000초를 지수값으로 변환하였다.

지수값은 5.184e+6입니다.

지수값을 입력창에 입력한뒤 5초가 지나면 flag값이 나타난다.

HackCTF{1_w4nt_t0_sp3nd_m0r3_t1m3}

Input Check 문제입니다.

입력창에 아무런 문구나 입력해봅시다.

get 방식으로 전송한다는 것을 알수있습니다.

flag는 역시 막아놨다.

관리자 모드를 들어가면 힌트가 주석으로 달려있다.

힌트는 배열이다.

혹시 몰라 ?text=flag를 ?text[]=flag로 수정하였더니 문제가 풀렸다

HackCTF{y0u_are_catch_f1ag!!}


Home이라는 문제입니다.

사이트를 들어가보니 단어는 머리말이라고 적혀있다.

 

단서는 HTTP헤더인듯하다.

 

HTTP 헤더에 대하여 서치해본 결과 클라이언트의 IP를 나타내는 X-Forwarded-For이라는 헤더를 알수있었다.

구글에서 http ip address header를 찾아보면 X-Forwarded-For: 127.0.0.1 형식으로 ip값을 넘길 수 있다는 것을 찾아서 패킷 헤더에 삽입하니 플레그가 출력되었다.

HackCTF{U5u4lly_127.0.0.1_4ll0w5_y0u_t0_p4ss}

 

 

 

 

 

 

LIST

'WarGame > HackCTF' 카테고리의 다른 글

[HackCTF|Misc] BF  (0) 2022.04.27
[HackCTF|Crypto]Smooth CipherText  (0) 2022.04.19
[HackCTF|Crypto]Great Binary  (0) 2022.04.19
[HackCTF|Misc]QRCODE  (0) 2022.04.15
[HackCTF|Web] Writeup(1)  (0) 2022.02.27
728x90
SMALL

문제 그대로 QRCODE 문제입니다. zip파일 압축 해제를 하면 png파일 하나를 얻을 수 있습니다.

GIMF를 사용해서 채워줘야될거같은 빈 네모들 안에 검은 색으로 채워넣었습니다.

채워넣은 QR코드를 휴대폰으로 인식을 하니 flag를 얻을 수 있었습니다.

HackCTF{1t_w4s_4_g00d_1de4_t0_1nv3r5e}

 

LIST

'WarGame > HackCTF' 카테고리의 다른 글

[HackCTF|Misc] BF  (0) 2022.04.27
[HackCTF|Crypto]Smooth CipherText  (0) 2022.04.19
[HackCTF|Crypto]Great Binary  (0) 2022.04.19
[HackCTF|Web] WriteUp(2)  (0) 2022.04.19
[HackCTF|Web] Writeup(1)  (0) 2022.02.27
728x90
SMALL

 

HackCTF Web의 첫번째 문제인 / 문제를 들어가보면 깜찍한 로봇 하나가 나온다.

이 로봇이 힌트!🤖

이 문제는 robots.txt를 활용하여 푸는 문제입니다.

robots.txt란, 검색엔진의 접근을 설정하기 위한 파일입니다.

링크에 /robots.txt를 입력해주면 다음과 같은 창이 나오는 것을 볼수있다.

링크에 /robots.txt 대신 /robot_flag/를 입력하면 flag를 얻을수있다.

HackCTF{w3lcome_to_s1mple_web_h3cking!}

 

 

다음 문제는 Hidden이라는 문제입니다

문제를 들어가보면 5번 파일에 플래그가 있다악!!!!!!!!!!이라는 글과 함께 버튼 4개가 나옵니다.

육안으로는 5번 버튼을 확인 할수없는 상태입니다.

4번 버튼을 눌러보겠습니다.

버튼을 누르면 get방식으로 전송되는 것을 확인 할수있습니다.

?id=4 이 부분을 ?id=5로 수정을하면 메시지창에 Nop이라는 글 대신 flag가 뜨는 것을 확인할수있습니다.

HackCTF{idx_is_so_s1m3le_ctf}

세번째 문제는 Button이라는 문제입니다.

문제에 들어가면 아래의 버튼으로 하여금 플래그를 출력하게 해줘!라는 문장이나오고 버튼 하나가 나옵니다.

버튼을 눌러도 아무런 변화가 없는 것을 확인 할수있을 것입니다.

개발자 도구를 이용해 코드를 확인하면 button이라는 value가 post형식으로 전송된다는 정보를 얻을 수 있다.

value를 flag로 바꿔보자!

그럼 버튼을 눌렀을때 아래와 같은 flag가 나오는 것을 확인 할수있다.

HackCTF{0k4y...php_c4nn0t_cr34t3_4_butt0n}

다음은 보물이라는 문제입니다.

문제를 들어가 보면 다음과 같은 화면이 나옵니다.

page 1버튼을 눌러보면 해시값이 출력됩니다.

Hash Analyzer로 분석해본결과 SHA 512이라는 결과가 나왔습니다.

page라는 파라미터에 숫자가 들어가는데 페이지 변수 값이 달라지면서 해시 값이 달라지는 것을 보아 flag가 있는 페이지를 찾는 문제이고 페이지의 경우의 수가 많이 있는 것 같습니다.

BurpSuite의 Intruder 도구를 통해 URL의 파라미터 변조를 자동화하여 문제를 풀수도 있지만 BurpSuite가 설치되있지 않은 관계로 파이썬 코드를 짜 문제를 풀었습니다.

import requests

url = "http://ctf.j0n9hyun.xyz:2025/?page="

for i in range(1, 5000):
    ans = requests.get(url+str(i))
    if "HackCTF" in ans.text:
        print(i)
        break
    print("/page=", i, "에 Flag 없음")

 

스크립트 결과

코드를 실행시키면 1225에서 멈추는 것을 확인할수있습니다.

/?page=1225를 입력하면 아래와 같이 flag가 출력되는 것을 확인할수있습니다.

HackCTF{0hhhhh_5o_g0od_try!}

다음 문제는 Guess me라는 문제입니다.

문제를 들어가보면 비밀 코드를 맞춰보세요. 성공하면 플래그를 뱉어낼 겁니다.라고 되어있고, 밑에 php코드가 적혀있습니다.

이 문제는 php의 extract취약점을 알고있는지 묻는 문제입니다.

extract함수는 배열속의 키값을 변수화 해주는 함수다.

php코드를 해석하면 guess와 secretcode가 일치해야 flag.txt를 출력해준다.

php에서 $_GET 변수는 ?secretcode= 이런식으로 전달이 가능하다.

하지만 이런식으로 한다고해도 또 변수가 선언되기 때문에 의미가 없다.

filename에 해당하는 파일을 찾고, 그 파일의 콘텐츠를 확인하는데 서버 내 파일이 없기에 null값을 리턴하는데, guess도 null 값이 들어가면 된다.따라서 filename=아무문자&guess=를 입력하면 flag를 찾을 수 있게 된다.

filename에 아무값이나 대입해도 되는 이유는 extract()가 filename변수를 선언한뒤에 나타나기 때문이다.

참고로 secret.txt와 flag.txt에 접속을 하면 이미 막혀있는 상태다.

HackCTF{3xtr4c7_0v3rr1d3ds_pr3vi0u5_kn0wn_v4r1abl35}

Read File이라는 문제입니다.

문제를 들어갔지만 Read File과 File is flag.php라는 글 외에 다른 글은 딱히 없었다.

url을 살펴보니 command라는 인자에 구글주소 값이 전달되있었다.

file이 flag.php라고 되어있으니 파라미터 값으로 flag.php를 전달해보았다.

에러페이지가 나온다.

flag.php값을 필터링하는 것으로 예상이된다.

이어서 파라미터 값으로 flag를 전달해보았다.

맨처음과 같은 페이지가 나오는 것을 확인할수있다.

이를 통해 flag라는 단어를 필터링 하는 것을 알수있다.

이를 우회하기 위해 flflagag.php라는 값을 전달해보았다.

flag값이 나오는 것을 확인 할수있다.

HackCTF{w3lcome_to_vu1n_web?}

Login이라는 문제입니다.

sql injection을 사용하여 푸는 문제로 추측할수있습니다.

이번문제는 맥북을 사용하는 저를 위해 친절히 코드를 볼수있는 버튼이 마련되어있습니다😊👏

코드를 보니 역시나 sql에서 취약점을 보이고 있다.

id를 admin'#으로 입력을 하면 '로 sql이 닫히고, #이 뒷부분을 주석처리를 하여 비밀번호를 입력하지 않아도 로그인이 되는 것을 볼수있습니다.

로그인 버튼을 누르면 flag를 확인 할수있습니다.

HackCTF{s1mple_sq1_1njecti0n_web_hack!!}

마법봉이라는 문제입니다.

 

View Source를 통해 소스코드를 확인해보면 Magic Hash를 알고있는지 묻는 문제라는 것을 알수있다.

md5(240610708) 값을 Magic Hash 사이트를 통해 확인을 하면 0e462097431906509019562988736854라는 값을 확인할수있습니다.

0e로 시작하기 때문에 이값은 int==int비교를 할때 0으로 인식이 됩니다.

sha1를 암호화할때 0e인 값을 찾아보면  0e07766915004133176347055865026311692244, 즉, 10932435112라는 값을 얻을 수 있습니다.

얻은 값을 입력창에 넣고 제출하면 flag가 나오는 것을 확인 할수있습니다.

HackCTF{magic_makes_everything_possible}

 

LIST

'WarGame > HackCTF' 카테고리의 다른 글

[HackCTF|Misc] BF  (0) 2022.04.27
[HackCTF|Crypto]Smooth CipherText  (0) 2022.04.19
[HackCTF|Crypto]Great Binary  (0) 2022.04.19
[HackCTF|Web] WriteUp(2)  (0) 2022.04.19
[HackCTF|Misc]QRCODE  (0) 2022.04.15

+ Recent posts