1. web
lamb-sauce
소스코드 창을 보면
<!-- <a href="/flag-9291f0c1-0feb-40aa-af3c-d61031fd9896.txt"> is it here? </a> -→
가 뜬다.
소스코드 창 주소 끝에
/flag-9291f0c1-0feb-40aa-af3c-d61031fd9896.txt
를 붙여주면 플래그가 나온다.
flag: tjctf{idk_man_but_here's_a_flag_462c964f0a177541}
2. misc
twist-cord
문제를 보면 팀의 디코랑 트위터에 들어가라고 나온다.
디코에 들어가보면 처음 플래그가 나오고
그리고 트위터에 들어가보면 나머지 플래그가 나와있다.
flag: tjctf{please_enjoy_b6fd3b11fc5393c8}
3. forensics
cool-school
이미지에 쓰여있는 말풍선을 보면 하늘이 이상하다라고 나와있길래
stegsolve로 한번 돌려봤더니
하늘에 플래그가 있다.
flag: tjctf{l0l_st3g_s0_co0l}
fake-geoguessr
사진을 잘 보고 카메라 종류랑 위치, 추가 정보를 잘 보라고 나와있길래
처음에는 속성에 들어가보고 웹사이트에 들어가서 위치정보를 찾아봤다.
구글맵에 위치를 입력해봤더니
뭔가 나오긴 나오는데 플래그는 전혀 찾을수가 없었다.
구글링으로 포렌식으로 이미지 위치 관련 문제들을 찾아보며 따라해봤는데 메타데이터를 사용한 문제 같았다.
picasa를 사용하여 사진의 속성을 봤더니 뭔가 이상한게 있다.
저작권 칸과 jpeg 댓글을 보고 플래그를 찾았다.
flag: tjctf{thats_a_lot_of_metadata}
spongebob
문제 사진은 보면 사진 4컷 중 마지막 사진이 잘려있다.
누가 봐도 밑에 4번째 컷에 플래그가 있을 것으로 보인다.
세로가 잘린 것이기 때문에 사진의 세로 크기를 늘려보면 된다.
위처럼 사진의 세로 크기를 바꿔주었더니 마지막 컷이 보인다.
flag: tjctf{such_pogg3rs_ctf}
sneaker-zipper
문제의 zip 파일을 다운받아보니까 zip 파일 안에 flag.txt 라고 파일이 엄청나게 많이 담겨있다.
hxd로 용량도 바꿔보고 파일 형식도 바꿔보고 계속 삽질을 했는데 걍 FTK Imager로 여니까 바로 플래그가 나온다...ㅎ
flag: tjctf{sneakers_with_zippers_are_hip_no?_874d174bb26fcf95}
4. crypto
rsa-apprentice
==== SECRET RSA MESSAGE ====
n = 1216177716507739302616478655910148392804849
e = 65537
c1 = 257733734393970582988408159581244878149116
c2 = 843105902970788695411197846605744081831851
다운받은 파일에 이렇게 들어있었다.
위 사이트 창에 n 값을 넣어서 p와 q를 구했다.
def zx(a, b):
if a == 0:
return (b, 0, 1)
else:
g, y, x = zx(b % a, a)
return (g, x - (b // a) * y, y)
def modi(a, m):
g, x, y = zx(a, m)
if g != 1:
raise Exception('modular inverse does not exist')
else:
return x % m
p = 1033247481589406269253
q = 1177043968824330681533
n = 1216177716507739302616478655910148392804849
e = 65537
c2 = 843105902970788695411197846605744081831851
fi =(p-1)*(q-1)
d = modi(e, fi)
print("%x" % (pow(c2, d, n))).decode("hex")
위와 같이 코드를 작성하고 c1과 c2를 차례로 넣어서 값을 구했더니
746a6374667b6e30745f73305f 와 5333637572335f4372797037307d 가 나온다.
이 두개의 16진수를 텍스트를 바꾸면 플래그가 나온다.
flag: tjctf{n0t_s0_S3cur3_Cryp70}
filmsy-fingereg-latin-teacher
ykvyg}pp[djp,rtpelru[pdoyopm|
문제에 이런식으로 플래그가 나와있다.
문제에 라틴 선생님이 키보드를 잘못 쳤다고 나와서 https://en.wikipedia.org/wiki/Latin-script_alphabet
이곳에서 맨 아래 keyboard layouts list 별로 알파벳을 나열해서 디코딩 사이트에 입력해서 디코딩해봤지만 플래그가 나오지 않았다.
그러다 저게 플래그이면 }가 {이고 |가 }라고 생각했다. 그럼 }| 자리에 {}가 있어야하니까 키보드를 오른쪽 한칸씩 민것이다.
사실 나중에 문제 풀고 안거지만 문제에 homerow의 오른쪽에 문제가 있다고 나와있었다. (그때는 뭔 뜻인지 잘 몰랐음..)
그래서 문제에 나와있는 문자의 한칸 왼쪽에 있는 키보드 글자를 대입해서 입력해보면 플래그가 나온다.
flag: tjctf{oopshomerowkeyposition}
'ctf writeup' 카테고리의 다른 글
HSOC 교내 해킹방어대회 문제 출제 후기 및 50점 문제 writeup (0) | 2022.10.08 |
---|---|
cce 2022 예선 writeup (0) | 2022.09.27 |
25회 해킹캠프 writeup 및 후기 (0) | 2022.09.23 |
CRYPTO CTF 2022 writeup (0) | 2022.08.16 |
EZ CTF writeup (0) | 2022.06.19 |