Baseball Price 50
BF 50
-[------->+<]>-.[--->++++<]>+.++.++++++++.[->+++<]>++.>-[--->+<]>-.[----->+<]>++.>--[-->+++++<]>.-[-->+++++<]>.----------.---[->+++<]>+.--------------.[--->+<]>-.------------.[-->+<]>---.-[----->+<]>--.---.-[-->+<]>----.-[----->+<]>--.[-->+<]>-.------[->++<]>-.-[->++++++<]>.---[->++<]>.[-->+<]>-.+[--->++<]>-.-.+[->+++<]>.[--->+<]>-.------------.[-->+<]>-.---[->++<]>-.[--->+<]>+.-.---------.++.[-->+<]>----.++++++[->++<]>.[-->+<]>-----.---[->++<]>.[-->+<]>.+++++[->++<]>.[-->+<]>-----.[--->++<]>--.+++++.[->+++++<]>++.-[->++++++<]>.+++[->++<]>.[-->+<]>---.++[->++<]>.-[--->+<]>.-[++>---<]>+.----.++++.-----[->++<]>-.---[->++++<]>.++.--[->+++++<]>.+++++[->++<]>.[-->+<]>--.-[->++<]>-.-[--->+<]>--.+++++++++.
brainfuck이다.
HackCTF{1'm_th1nk1n6_4b0ut_th3_vuln3r4b1l1ty_4n4ly515_pr0j3ct}
Who am I?
답 : ret
QRCODE
150
4개의 사각형 내부가 하얀색으로 비워져 있다. 그림판으로 해당 부분을 검정으로 채우고 읽으면 된다.
달라란 침공
150
nc ctf.j0n9hyun.xyz 9003
1, 2, 3 모두 계산해야 되는 식들이 나온다.
식의 결과값을 입력해주면 된다.
1은 20개 2는 30개 3은 40개의 문제가 있다.
from pwn import *
p = remote("ctf.j0n9hyun.xyz", 9003)
p.recvuntil("input ) ")
p.sendline("1")
p.recvline()
for zzzz in range(0,20):
m = p.recvline()
m = m.replace("\n", "")
print(m)
a = eval(m)
p.recvuntil(": ")
p.sendline(str(a))
print(p.recvline())
print(p.recvline())
p.recvuntil("input ) ")
p.sendline("2")
p.recvline()
for zzzz in range(0,30):
m = p.recvline()
m = m.replace("\n", "")
print(m)
a = eval(m)
p.recvuntil(": ")
p.sendline(str(a))
print(p.recvline())
print(p.recvline())
p.recvuntil("input ) ")
p.sendline("3")
p.recvline()
for zzzz in range(0,40):
m = p.recvline()
m = m.replace("\n", "")
print(m)
a = eval(m)
p.recvuntil(": ")
p.sendline(str(a))
print(p.recvline())
print(p.recvline())
p.interactive()
DNA
200
GTCATAATGCCGGGACTTGGT{ACATTC_CAGAAAAAAATT_GGCTATTCT}
구글에 ctf dna cryptography 라고 검색을 했다.
https://embeddedworld.home.blog/2019/05/16/hacking-walkthrough-ctf-challenge/
이 블로그에서 dna cryptography 부분을 보면 된다.
이 블로그에 나와있는 소스코드를 가져다 돌렸다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
|
mappings = {
'AAA' : 'a',
'AAC' : 'b',
'AAG' : 'c',
'AAT' : 'd',
'ACA' : 'e',
'ACC' : 'f',
'ACG' : 'g',
'ACT' : 'h',
'AGA' : 'i',
'AGC' : 'j',
'AGG' : 'k',
'AGT' : 'l',
'ATA' : 'm',
'ATC' : 'n',
'ATG' : 'o',
'ATT' : 'p',
'CAA' : 'q',
'CAC' : 'r',
'CAG' : 's',
'CAT' : 't',
'CCA' : 'u',
'CCC' : 'v',
'CCG' : 'w',
'CCT' : 'x',
'CGA' : 'y',
'CGC' : 'z',
'CGG' : 'A',
'CGT' : 'B',
'CTA' : 'C',
'CTC' : 'D',
'CTG' : 'E',
'CTT' : 'F',
'GAA' : 'G',
'GAC' : 'H',
'GAG' : 'I',
'GAT' : 'J',
'GCA' : 'K',
'GCC' : 'L',
'GCG' : 'M',
'GCT' : 'N',
'GGA' : 'O',
'GGC' : 'P',
'GGG' : 'Q',
'GGT' : 'R',
'GTA' : 'S',
'GTC' : 'T',
'GTG' : 'U',
'GTT' : 'V',
'TAA' : 'W',
'TAC' : 'X',
'TAG' : 'Y',
'TAT' : 'Z',
'TCA' : '1',
'TCC' : '2',
'TCG' : '3',
'TCT' : '4',
'TGA' : '5',
'TGC' : '6',
'TGG' : '7',
'TGT' : '8',
'TTA' : '9',
'TTC' : '0',
'TTG' : ' ',
'TTT' : '.'
}
f = "GTCATAATGCCGGGACTTGGTACATTCCAGAAAAAAATTGGCTATTCT"
flag = []
#Mapping
for x in range(0,len(f),3):
piece = f[x:x+3]
flag.append(mappings[piece])
print (''.join(flag))
|
cs |
나온 결과 : TmowOFRe0saapPZ4
{, _, } 을 다시 붙여준다.
TmowOFR{e0_saap_PZ4}
플래그 형식 HackCTF와 대소문자 형태는 같다.
caesar를 돌리면 플래그가 나온다.
탈옥
250
nc ctf.j0n9hyun.xyz 9002
builtins 모듈에서 import를 가져오고 os모듈을 import해서 os모듈의 system함수를 가져와 실행한다.
import와 system은 .lower()로 우회
'WAR GAME > HackCTF' 카테고리의 다른 글
HackCTF Reversing 카테고리 풀이 (0) | 2019.08.29 |
---|---|
HackCTF Pwnable [Basic_BOF #1] 풀이 (0) | 2019.07.24 |
HackCTF Forensics 카테고리 풀이 (0) | 2019.07.20 |
HackCTF Cryptography 카테고리 풀이 (2) | 2019.07.18 |
HackCTF Web 카테고리 풀이 (0) | 2019.07.18 |