반응형
반응형
반응형

Hand of plus

100

[문제 설명] 귀여운 아오바가 Beatcoin을 채굴하려고 한다. 아오바의 그래픽 카드를 도와주자.
[출제자] 정준영(Joon)

 

 

extract($_COOKIE); 을 사용하고 있다.

구글 확장프로그램을 이용해서 각각 4개의 이름과 값으로 쿠키를 추가해주면 된다.

 

 

 

The great escape

100

[문제 설명] 요원들은 배급받은 키를 쳐야 지령을 받을 수 있다고 한다. 요원들이 받는 지령을 몰래 받아보자.
[출제자] 정준영(Joon)

 

 

1부터 1000까지 브포를 해봤다. 틀렸다. 흠....

 

이것저것 해봤는데 디렉토리 인덱싱이 가능했다.

 

패스워드 찾아서 입력해주면 플래그가 나온다.

 

 

 

핵발사 시스템

300

[문제 설명] 귀여운 아오바가 어딘가로 핵을 쏘고싶어한다. 도와주자.
[출제자] 정준영(Joon)

 

 

1
2
3
4
5
6
7
8
9
10
11
12
<?php
    if(isset($_POST["Key1"]) && isset($_POST["Key2"]) && isset($_POST["Key3"])){
        if(hash('md5',$_POST["Key1"]) == hash('crc32',$_POST["Key2"])){
            if(hash('crc32',$_POST["Key2"]) == hash("md4"$_POST["Key3"])){
                if(hash("md5"$_POST["Key1"]) == hash("md4"$_POST["Key3"])){
                    echo "<script>alert('[Suzukaze aoba says]\\nThanks a lot! I launched an nuclear to some space!\\n\\nHere\'s a little prize!\\n[FLAG HERE]');</script>"
                }elseecho "3"; Fail(); }
            }elseecho "2"; Fail(); }
        }else{echo "1";  Fail(); }
    }
    function Fail(){ echo "<script>alert('[Suzukaze aoba]\\nT.T... I want to fire nuclear...');</script>"; }
?>
cs

 

매직해시문제 https://www.whitehatsec.com/blog/magic-hashes/

 

md5(Key1) == crc32(Key2) == md4(key3)

 

Key1 = 240610708

Key2 = 2332

Key3 = 48291204

 

반응형
반응형

Baseball Price 50

EZ

 

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' : '.'
    }
 
= "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()로 우회

반응형
반응형

모든 문제의 플래그 공유 및 풀이의 공유를 금지하고있기 때문에, 이 워게임 사이트의 문제 풀이들은 [보호]로 올릴 예정입니다.

반응형
반응형

크립토




53 63 50 52 8 11 28 1 11 28 1 78 78 0 28 0 28 44 27 22 27 22 44 7 27 18 7 44 4 18 0 44 30 10 44 23 1 26 3 82 14



일단 시작은 F로 시작할 것이다. FLAG IS {~~} 이러한 형태일테니..



F 와 53을 다시 xor 연산하면 xor연산했던 알파벳을 구할 수 있다.


F = 0x46


0x46 ^ 53 = 0x73, 0x73 = s


소문자라는 조건에도 맞는 알파벳 하나를 구할 수 있다.


이렇게 구할 수 없는 문제였다면 소문자 알파벳 전부다 해서 xor연산 후 flag를 구해야 했을 것이다..



이제 모두 s랑 xor하면 flag를 구할 수 있다.


1
2
3
4
5
6
7
= "53 63 50 52 8 11 28 1 11 28 1 78 78 0 28 0 28 44 27 22 27 22 44 7 27 18 7 44 4 18 0 44 30 10 44 23 1 26 3 82 14"
 
= list(map(int, p.split()))
 
for i in range(0len(n)):
    print(n[i] ^ 0x73#0x73 = 's'
 
cs



70

76

65

71

123

120

111

114

120

111

114

61

61

115

111

115

111

95

104

101

104

101

95

116

104

97

116

95

119

97

115

95

109

121

95

100

114

105

112

33

125



dec 2 ascii



FLAG{xorxor==soso_hehe_that_was_my_drip!}



반응형
반응형

web











array로 날려주면 된다. input이 아닌 input[]으로 날리면 된다. 


아래 box들은 다 fake용도인것 같다.



http://chaneyoon.dothome.co.kr/array_string.php?input[]=you&input[]=want&input[]=flag?


FLAG{Th4nk_Y0U_H4CK!NG_C4MP!!}



반응형
반응형

스테그



이미지 파일이 주어지는데, 플래그가 이미지 안에 있을 것처럼 생겼다.


그래서 stegsolve 를 돌려보았다.




역시나


FLAG IS {H1H1_H4H4_H0H0}

반응형
반응형

스테그




압축을 풀면 jpg파일이 하나 있는데, hxd로 까보면 요런게 있다.








그럼 중간 어딘가에 PK가 있겠지.



요기서부터 맨 밑까지 가져다가 zip파일을 하나 만들었다.






document.xml에 flag가 있다.





반응형
반응형

뽀렌식 문제




letter 이라는 파일이 주어진다.

어떤 파일인지 확인하기 위해 hxd로 까보았다.



헤더가 비워져 있다. 


하단을 보니 PK가 보인다.



압축파일인것 같아 헤더를 PK로 채워주고 



.zip확장자명을 달아준뒤 열었다.



정상적으로 열리고 그안에 letter.docx 파일이 있다.


열었다.

링크두개밖에 없다... 설마 플래그가 없을리가 없다.










찾았다! 글자 색을 바꿔주자.




Flag_{D0n’t_H4st3!}



반응형

'WAR GAME > Ch4n3 World' 카테고리의 다른 글

Ch4n3 World [Stegano_Dark] 풀이  (0) 2018.11.10
Ch4n3 World [나잡아봐라~~] 풀이  (0) 2018.11.10
Ch4n3 World [Random Integer] 풀이  (0) 2018.11.10
Ch4n3 World [Brute-Force] 풀이  (0) 2018.11.10
Ch4n3 World [King Sejong] 풀이  (0) 2018.11.10
반응형







https://mandu-mandu.tistory.com/204?category=723296 랑 같은문제다.





extract($_GET); 을 이용해서 $number와 $random_number 모두 내가 원하는 값으로 바꿔줄 수 있다.


http://chaneyoon.dothome.co.kr/randominteger.php?number=1&random_number=1




FLAG{th4nk_y0u_H4Ck!NGCAMP15th!}


반응형
반응형

미슼



5자리 숫자의 패스워드가 걸린 압축파일을 brute force로 풀고

아래 사이트에서 인증하면 되는 것 같다.


advanced zip password recovery 를 이용했다.






짠!


압축을 풀고 PW~.txt를 읽으면 패스워드가 있다.


asjkfhhdkjnxsdfiiuiui1258398298



요걸 인증해주면 플래그가 나온다.


FLAG{0H?!_Did_y0U_s01v3_it??}




반응형

'WAR GAME > Ch4n3 World' 카테고리의 다른 글

Ch4n3 World [발표자료가 안열려..] 풀이  (0) 2018.11.10
Ch4n3 World [Random Integer] 풀이  (0) 2018.11.10
Ch4n3 World [King Sejong] 풀이  (0) 2018.11.10
Ch4n3 World [Reverse!] 풀이  (0) 2018.11.06
Ch4n3 World [Fruit_php] 풀이  (0) 2018.11.06

+ Recent posts