Write-up/Crypto

My Simple Cipher

Problem

This my first cipher system. Can you break it?

my-simple-cipher.7z 


cipher.py

1
2
3
4
5
6
7
8
9
10
11
12
13
#!/usr/bin/python2
import sys
import random
key = sys.argv[1]
flag = '**CENSORED**'
assert len(key) == 13
assert max([ord(char) for char in key]) < 128
assert max([ord(char) for char in flag]) < 128
message = flag + "|" + key
encrypted = chr(random.randint(0128))
for i in range(0len(message)):
  encrypted += chr((ord(message[i]) + ord(key[i % len(key)]) + ord(encrypted[i])) % 128)
print(encrypted.encode('hex'))
cs

encrypted.txt 내용 7c153a474b6a2d3f7d3f7328703e6c2d243a083e2e773c45547748667c1511333f4f745e



message | key

랜덤한 0~128 사이의 아스키문자 하나를 뽑아내고 그것을 이용해 (message | key)의 첫글자를 암호화한다. 이제 암호화한걸 encrypted 문자 뒤에 덧붙이면서 간다. random.randint = encrypted[0]이고, 실제 encrypted.txt에서 가져와서 보면 "|"로 int값은 124이다.

이걸... 와... 너무 설명이 귀찮고 어려워;

대충 말하자면 Message = FLAG | KEY 로 구성되어 암호화에 KEY가 두번 더해지고 있음, 그걸 이용해서 풀면됨

먼저 Message에 항상 "|"가 들어가므로 이걸 이용해서 Key[8]을 구하고 나머지를 순차적으로 구하면됨. 아래는 답을 구하는 소스

코드를 실행하면 플래그가 나온다. key : ENJ0YHOLIDAY! TWCTF{Crypto-is-fun!}|ENJ0YHOLIDAY! 플래그 획득

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
#!/usr/bin/python2
 
import sys
import random
 
key = [0,0,0,0,0,0,0,0,0,0,0,0,0]
encrypted_flag = '7c153a474b6a2d3f7d3f7328703e6c2d243a083e2e773c45547748667c1511333f4f745e'
 
enc = encrypted_flag.decode('hex')
 
key[8]=(ord(enc[22])-ord(enc[21])-ord(enc[0]))%128
 
for j in range(0,13):
  for i in range(013):
    if(key[(i+9)%13]!=0 and key[i]==0):
      key[i]=(ord(enc[i+23])-ord(enc[i+22])-key[(i+9)%13])%128
    
skey=''
for i in range(0,13):
  skey+=chr(key[i])
 
print("key : "+skey)
 
#decipher
 
message = ''
 
for i in range(1len(enc)):
  message += chr((ord(enc[i])-ord(enc[i-1])-ord(skey[(i-1)%13])) % 128)
  #encrypted += chr((ord(message[i]) + ord(key[i % len(key)]) + ord(encrypted[i])) % 128)
 
print(message)
 





'Write-up > Crypto' 카테고리의 다른 글

[Byte Bandits CTF 2018] R u Ronald Rivest? 70p  (0) 2018.04.27
[UIUCTF 2018] xoracle (250)  (0) 2018.04.18
[anstromCTF 2017] Knock Knock  (0) 2017.04.25
[anstromCTF 2017] Descriptions  (2) 2017.04.25
[anstromCTF 2017] Substitution Cipher  (0) 2017.04.25

[anstromCTF 2017] Knock Knock

2017. 4. 25. 23:39

KNOCK KNOCK

CRYPTO, 30

You have come across a strange audio recording. Can you recover the flag? Note: The flag is not in the actf{} format.



Google is your friend. 



... 망할 힌트있는줄 몰랐는데 방금 알음;;


Tap code 라 불리는 암호임...


참조 : https://en.wikipedia.org/wiki/Tap_code


GoldWave나 등등의 툴로 열어보든 아니면 직접 들어보든해서 들어보면

한번당 Knock 소리를 기록할수 있음


Roman alphabet tap code
012345
1ABC/KDE
2FGHIJ
3LMNOP
4QRSTU
5VWXYZ
The tap code table


2 3 1 5 3 1 3 5 3 2 1 5 3 5 3 1 1 5 1 1 4 3 1 5 임...


이걸 2개씩 묶음 그리고 옆 표대로 하면 됨


(2, 3) h

(1, 5) e

(3, 1) l

(3, 5) p

(3, 2) m

(1, 5) e

(3, 5) p

(3, 1) l

(1, 5) e

(1, 1) a

(4, 3) s

(1, 5) e



flag : helpmeplease

'Write-up > Crypto' 카테고리의 다른 글

[UIUCTF 2018] xoracle (250)  (0) 2018.04.18
[TyokoWesterns] My Simple Cipher[75]  (0) 2017.09.02
[anstromCTF 2017] Descriptions  (2) 2017.04.25
[anstromCTF 2017] Substitution Cipher  (0) 2017.04.25
[ch4n3] How are you? I'm XOR XOR.. (Crypto)  (0) 2017.03.08

[anstromCTF 2017] Descriptions

2017. 4. 25. 23:28


DESCRIPTIONS

CRYPTO, 50

We have found what appear to be nonsensical phrases. However, we believe that the author likes to hide secret messages using nonsensical phrases about animals. Please help us find what the secret message is.


The writer seems obsessed with categorizing words.




The horse was a small falcon runner.

The horse was a huge goat pitcher.

The pig is a quick falcon singer.

The goat was a quick sheep speaker.

The sheep is the big goat pitcher.

The sheep was a slow sheep hitter.

The horse is a tiny goat dancer.

A cow is the huge bluejay dancer.

The falcon is the fast sheep pitcher.

The pig was a speedy falcon pitcher.

The pig was the speedy goat singer.

The goat was a huge sheep hitter.

The horse was the speedy sheep runner.

The cow was a speedy bluejay singer.

A sheep is a small falcon catcher.

The cow was the fast cow singer.

The goat was a sluggish sheep catcher.

The goat is the slow robin catcher.


단어가 반복되고 같은 종류의 말들이 사용되는 것으로 보아 아마 같은 단어(종류)들은 같은 정보(비트)를 가질것이다.

또 한 문장이 7개의 단어들로 나누어져있음을 알 수 있다.


분류 시작


----------------------

The : 1 

A : 0

----------------------

네발 동물(육지) : 1

horse, pig, goat, sheep, cow

----------------------

두발 동물(공중) : 0

falcon, bluejay, robin

----------------------

is : 1

was : 0

----------------------

크기 : 0

big, huge, small, tiny

----------------------

속도 : 1

speedy, fast. slow, sluggish

----------------------

야구 : 1

runner, catcher, pitcher, hitter

----------------------

노래 : 0

singer, dancer, speaker

----------------------


The horse was a small falcon runner.

 1      1     0   0   0      0       1


....

....

....


1100001 a

1100011 c

1110100 t

1100110 f

1111011 {

1100111 g

1110010 r

0111000 8

1011111 _

1100101 e

1101110 n

1100011 c

1101111 o

1100100 d

0110001 1

1101110 n

1100111 g

1111101 }


actf{gr8_encod1ng}



'Write-up > Crypto' 카테고리의 다른 글

[TyokoWesterns] My Simple Cipher[75]  (0) 2017.09.02
[anstromCTF 2017] Knock Knock  (0) 2017.04.25
[anstromCTF 2017] Substitution Cipher  (0) 2017.04.25
[ch4n3] How are you? I'm XOR XOR.. (Crypto)  (0) 2017.03.08
[ch4n3] King Sejong (Crypto)  (0) 2017.03.08


 

SUBSTITUTION CIPHER

CRYPTO, 60

We have discovered some ciphertext. We need you to find the plaintext. The flag is in the {flag} format, not the actf{flag} format. There are no spaces in flag.





와.. 힌트없는줄 알았는데 힌트가 잇엇음... 뭐 도움은 안됐지만;; 이미 풀고난뒤 ㅂㄷ


hint : The letters seem to be the only thing that was encrypted...how unfortunate.


 some ciphertext.


vfauedwyedmtlwylwnawyjfdzltqilqdezfntmwyewyejzettjedmwyfjlzettjyeilwfplxaenmlmpvbldzqwyxadjzyfjxfddemfqwvfavfatwzlqdplnxqyeilexnlewlnnljsfdjqpqtqwvwyedvfauedsfjjqptvoewyfbvfazllsofnjedwqexfedmvfauanjlwylbenqdljvfayeilwyewtaranvvfayeilwyltaranvfodfwcdfzqdxzyewqcdfzwyewjedwqexfjmlewyzyqtlwnexqusnfpeptvjeilmtqiljedmbvlrqjwldulzyqtlxnfwljgaledmqdufbsnlyldjqptlwfvfajeiljtqiljvfamfdwzedwwylwnawyplueajlmllsmfzdqdsteuljvfamfdwwetcepfawewsenwqljvfazedwblfdwyewzettvfadllmblfdwyewzettzlajlzfnmjtqclyfdfnufmltfvetwvzlajlwyljlzfnmjejwylpeucpfdlwfetqoljsldwmloldmqdxjfblwyqdxvfaajllbejesaduytqdlqyeildlqwylnwylwqbldfnwylqdutqdewqfdwflrsteqdbvjltowfebedzyfnqjljedmjtllsjadmlnwylptedclwfowylilnvonllmfbqsnfiqmlwyldgaljwqfdjwylbeddlnqdzyquyqsnfiqmlqwqmnewylnvfahajwjeqmwyedcvfaedmzldwfdvfanzevfwylnzqjlqjaxxljwvfasqucasezlesfdedmjwedmesfjwlqwylnzevqmfdwxqilemebdzyewvfawyqdcvfanlldwqwtlmwf{olzxffmbldhljjls}


오...



간단히 일단 설명...


http://www.cryptoclub.org/tools/ciphers.php


위 사이트 substitution cipher에서 빈도수 조사해서




l=e 일 확률이 높아서 http://quipqiup.com/ 여기서 그렇게 하고 ㄱㄱ 햇음


http://www.cryptoclub.org/tools/ciphers.php




you cant handle the truths on we live in a world that has walls and those walls have to be guarded by men with guns whos gonna do it you yoult weinberg i have a greater responsibility than you can possibly fathom you weep for santiago and you curse the marines you have that luxury you have the luxury of not knowing what i know that santiagos death while tragic probably saved lives and my existence while grotesque and incomprehensible to you saves lives you dont want the truth because deep down in places you dont talk about at parties you want me on that wall you need me on that wall we use words like honor code loyalty we use these words as the backbone to a life spent defending something you use em as a punch line i have neither the time nor the inclination to explain myself to a man who rises and sleeps under the blanket of the very freedom i provide then questions the manner in which i provide it id rather you just said thank you and went on your way otherwise i suggest you pick up a weapon and stand a post either way i dont give a damn what you think youre entitled to{ few good men jesse p}

'Write-up > Crypto' 카테고리의 다른 글

[anstromCTF 2017] Knock Knock  (0) 2017.04.25
[anstromCTF 2017] Descriptions  (2) 2017.04.25
[ch4n3] How are you? I'm XOR XOR.. (Crypto)  (0) 2017.03.08
[ch4n3] King Sejong (Crypto)  (0) 2017.03.08
[ch4n3] Reverse! (Crypto)  (0) 2017.03.08

 

How are you? I'm XOR XOR.. (Crypto)


Created by ch4n3 | You can get 130point!


These numbers are an array of numbers that are obtained by XORing a sentence and an alphabet. Decode these numbers.

However, the alphabet is lower case.


이 숫자들은 어떤 문장과 한 알파벳을 XOR연산해서 나온 숫자들의 배열이다. 이 숫자들을 복호화하여라.

단, 알파벳은 소문자이다.

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


문제에서 나온 대로다... 후우...


코드는 아래와 같이 사용했다.


아스키 범위안에서 모두 XOR해서 표시하여 그중에 FLAG를 찾는 전략을 사용했다.


  1. # your code goes here
  2.  
  3. str = [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]
  4.  
  5. for i in range(80,128):
  6. for s in str:
  7. print("%c" % (s^i),end="")
  8. print("")


플래그처럼 보이는 것을 하나 찾을 수 있었다.


FLAG{xorxor==soso_hehe_that_was_my_drip!}


'Write-up > Crypto' 카테고리의 다른 글

[anstromCTF 2017] Descriptions  (2) 2017.04.25
[anstromCTF 2017] Substitution Cipher  (0) 2017.04.25
[ch4n3] King Sejong (Crypto)  (0) 2017.03.08
[ch4n3] Reverse! (Crypto)  (0) 2017.03.08
[ch4n3] BASE인코딩을 아니? (Crypto)  (0) 2017.03.06

[ch4n3] King Sejong (Crypto)

2017. 3. 8. 23:12

King Sejong (Crypto)


Created by ch4n3 | You can get 70point!



Great King Sejong said..
"EBB0A3EBB0A3EB94B0EBB0A6EB8BA4EBA7A3EBB0A3EBB0A2EB94B0EBB0A4E....



일단 문제 제목과 본문에서 알 수 있듯


세종대왕님... 즉 한글과 관련되었을 가능성이 매우 높아보인다.


일단 저 문자열을 2개씩 묶어 %을 붙여 URL디코딩을 해보았다.


  1. # your code goes here
  2.  
  3. str = "EBB0A3EBB0A3EB94B0EBB0A6EB8BA4EBA7A3EBB0A3EBB0A2EB94B0EBB0A4EB8BA4EBA7A3EBB09EEBB09DEB94B0EBB095EB8BA4EBA7A3EBB0A3EBB0A3EB94B0EBB09DEB8BA4EBA7A3EBB09CEBB0A3EB94B0EBB09BEB94B0EBB0AAEB8BA4EBA7A3EBB0A1EBB09DEB94B0EBB095EB8BA4EBA7A3EBB0A3EBB0A2EB94B0EBA7A3EBB0A3EBB0A3EB94B0EBB09AEB8BA4EBA7A3EBB09FEBB09EEB94B0EBB0A4EB8BA4EBA7A3EBB0A3EBB0A3EB94B0EBB0A1EB8BA4EBA7A3EBB09EEBB09FEB94B0EBB0A3EB8BA4EBB0A6EB8BA4EBA7A3EBB0A0EBB0A0EB94B0EBA7A3EBB0A4EBB0A2EB94B0EBA7A3EBB09EEBB0A2EB94B0EBB0A3EB8BA4EBB0A6EB8BA4EBA7A3EBB0A6EBB0A0EB94B0EBB095EB94B0EBA7A3EBB0A2EBB0AEEB8BA4EBB0A3EB94B0EBA7A3EBB0A0EBB0A0EB94B0EBB098EB8BA4EBA7A3EBB09EEBB09EEB94B0EBB0A3EB8BA4EBB0A6EB8BA4EBA7A3EBB09DEBB0A0EB94B0EBB098EB94B0EBA7A3EBB0A0EBB09DEB94B0EBB095EB8BA4EBA7A3EBB0A5EBB099EB94B0EBB09BEB8BA4EBB09AEB94B0EBA7A3EBB09AEBB099EB94B0EBB0A5EB8BA4EBB0AEEB94B0EBA7A3EBB0A1EBB0A1EB94B0EBB0A3EB8BA4EBB0A6EB8BA4EBA7A3EBB0A3EBB0A1EB94B0EBB097EB8BA4EBA7A3EBB09EEBB099EB94B0EBB09DEB8BA4EBA7A3EBB09BEBB09AEB94B0EBB09DEB94B0EBB099EB8BA4EBA7A3EBB0A5EBB0A4EB94B0EBB0A6EB94B0EBB0A0EB8BA4EBA7A3EBB0A0EBB0A6EB8BA4EBB0A1EB94B0EBA7A3EBB0ADEBB09CEB94B0EBB09AEB94B0EBB0AAED8380EBA7A3EBB097EBB0A4EB94B0EBB0A6EB94B0EBB09DEB8BA4EBA7A3EBB0A0EBB09DEB94B0EBB095EB8BA4EBA7A3EBB0A6EBB099EB8BA4EBB0ACEB94B0EBA7A3EBB0A6EBB09AEB8BA4EBB0ACEB94B0EBA7A3EBB099EBB09CEB94B0EBB09CEB94B0EBA7A3ED9598"
  4.  
  5. for i in range(0,len(str)):
  6. if i%2==0:
  7. print("%",end="")
  8. print(str[i],end="")


%EB%B0%A3%EB%B0%A3%EB%94%B0%EB%B0%A6%EB%8B%A4%EB%A7%A3%EB%B0%A3%EB%B0%A2%EB%94%B0%EB%B0%A4%EB%8B%A4%EB%A7%A3%EB%B0%9E%EB%B0%9D%EB%94%B0%EB%B0%95%EB%8B%A4%EB%A7%A3%EB%B0%A3%EB%B0%A3%EB%94%B0%EB%B0%9D%EB%8B%A4%EB%A7%A3%EB%B0%9C%EB%B0%A3%EB%94%B0%EB%B0%9B%EB%94%B0%EB%B0%AA%EB%8B%A4%EB%A7%A3%EB%B0%A1%EB%B0%9D%EB%94%B0%EB%B0%95%EB%8B%A4%EB%A7%A3%EB%B0%A3%EB%B0%A2%EB%94%B0%EB%A7%A3%EB%B0%A3%EB%B0%A3%EB%94%B0%EB%B0%9A%EB%8B%A4%EB%A7%A3%EB%B0%9F%EB%B0%9E%EB%94%B0%EB%B0%A4%EB%8B%A4%EB%A7%A3%EB%B0%A3%EB%B0%A3%EB%94%B0%EB%B0%A1%EB%8B%A4%EB%A7%A3%EB%B0%9E%EB%B0%9F%EB%94%B0%EB%B0%A3%EB%8B%A4%EB%B0%A6%EB%8B%A4%EB%A7%A3%EB%B0%A0%EB%B0%A0%EB%94%B0%EB%A7%A3%EB%B0%A4%EB%B0%A2%EB%94%B0%EB%A7%A3%EB%B0%9E%EB%B0%A2%EB%94%B0%EB%B0%A3%EB%8B%A4%EB%B0%A6%EB%8B%A4%EB%A7%A3%EB%B0%A6%EB%B0%A0%EB%94%B0%EB%B0%95%EB%94%B0%EB%A7%A3%EB%B0%A2%EB%B0%AE%EB%8B%A4%EB%B0%A3%EB%94%B0%EB%A7%A3%EB%B0%A0%EB%B0%A0%EB%94%B0%EB%B0%98%EB%8B%A4%EB%A7%A3%EB%B0%9E%EB%B0%9E%EB%94%B0%EB%B0%A3%EB%8B%A4%EB%B0%A6%EB%8B%A4%EB%A7%A3%EB%B0%9D%EB%B0%A0%EB%94%B0%EB%B0%98%EB%94%B0%EB%A7%A3%EB%B0%A0%EB%B0%9D%EB%94%B0%EB%B0%95%EB%8B%A4%EB%A7%A3%EB%B0%A5%EB%B0%99%EB%94%B0%EB%B0%9B%EB%8B%A4%EB%B0%9A%EB%94%B0%EB%A7%A3%EB%B0%9A%EB%B0%99%EB%94%B0%EB%B0%A5%EB%8B%A4%EB%B0%AE%EB%94%B0%EB%A7%A3%EB%B0%A1%EB%B0%A1%EB%94%B0%EB%B0%A3%EB%8B%A4%EB%B0%A6%EB%8B%A4%EB%A7%A3%EB%B0%A3%EB%B0%A1%EB%94%B0%EB%B0%97%EB%8B%A4%EB%A7%A3%EB%B0%9E%EB%B0%99%EB%94%B0%EB%B0%9D%EB%8B%A4%EB%A7%A3%EB%B0%9B%EB%B0%9A%EB%94%B0%EB%B0%9D%EB%94%B0%EB%B0%99%EB%8B%A4%EB%A7%A3%EB%B0%A5%EB%B0%A4%EB%94%B0%EB%B0%A6%EB%94%B0%EB%B0%A0%EB%8B%A4%EB%A7%A3%EB%B0%A0%EB%B0%A6%EB%8B%A4%EB%B0%A1%EB%94%B0%EB%A7%A3%EB%B0%AD%EB%B0%9C%EB%94%B0%EB%B0%9A%EB%94%B0%EB%B0%AA%ED%83%80%EB%A7%A3%EB%B0%97%EB%B0%A4%EB%94%B0%EB%B0%A6%EB%94%B0%EB%B0%9D%EB%8B%A4%EB%A7%A3%EB%B0%A0%EB%B0%9D%EB%94%B0%EB%B0%95%EB%8B%A4%EB%A7%A3%EB%B0%A6%EB%B0%99%EB%8B%A4%EB%B0%AC%EB%94%B0%EB%A7%A3%EB%B0%A6%EB%B0%9A%EB%8B%A4%EB%B0%AC%EB%94%B0%EB%A7%A3%EB%B0%99%EB%B0%9C%EB%94%B0%EB%B0%9C%EB%94%B0%EB%A7%A3%ED%95%98


URL 디코딩 : http://www.convertstring.com/ko/EncodeDecode/UrlDecode


결과는 밑과 같다.


밣밣따밦다맣밣밢따밤다맣밞밝따박다맣밣밣따밝다맣발밣따받따밪다맣밡밝따박다맣밣밢따맣밣밣따밚다맣밟밞따밤다맣밣밣따밡다맣밞밟따밣다밦다맣밠밠따맣밤밢따맣밞밢따밣다밦다맣밦밠따박따맣밢밮다밣따맣밠밠따반다맣밞밞따밣다밦다맣밝밠따반따맣밠밝따박다맣밥밙따받다밚따맣밚밙따밥다밮따맣밡밡따밣다밦다맣밣밡따밗다맣밞밙따밝다맣받밚따밝따밙다맣밥밤따밦따밠다맣밠밦다밡따맣밭발따밚따밪타맣밗밤따밦따밝다맣밠밝따박다맣밦밙다밬따맣밦밚다밬따맣밙발따발따맣하


거참... 처음에는 잘못된줄 알았다.


일단 모르므로 첫 5~6글자 정도만 구글에 검색해보면 비슷한 형식으로 쓰인것들이 많이 검색되는것을 알수있다.


그래서 알아보니 "아희"라는 한글 프로그래밍언어란다. (아희 - 한글로 쓰는 난해한 프로그래밍 언어. 한국어 · English.)

나무위키 "아희" : https://namu.wiki/w/%EC%95%84%ED%9D%AC


이에 아희 인터프리터를 이용하여 위 언어를 해독하여 flag를 구할수 있었다.

아희 인터프리터 : http://puzzlet.org/doc/aheui/jsaheui_ko.html



FLAG{AHEUI_1$_Th3_b3st_L4nguag3!!}






[ch4n3] Reverse! (Crypto)

2017. 3. 8. 23:05


 

Reverse! (Crypto)


Created by 해커지망생 | You can get 60point!


}?HVUHYHU_ZRQN_XRB_RG{ VL JDOI

Can you decode it?
※ Flag is in upper case.



간단한 문제다. 일단 문제의 제목대로 저 문자열을 뒤집어보자


IODJ LV {GR_BRX_NQRZ_UHYHUVH?}


위와 같이 된다. 이 IODJ가 뭔가 FLAG같지 않은가? LV는 is로 보인다.


일단 간단한 시저암호를 시도해보면...


  1. #include <stdio.h>
  2. #include <string.h>
  3.  
  4. int main()
  5. {
  6. char str[30]="IODJ LV {GR_BRX_NQRZ_UHYHUVH?}";
  7. int i,j;
  8.  
  9. for(j=0; j<26; j++, puts("")){
  10. printf("%2d : ",j);
  11. for(i=0; i<30; i++){
  12. if(str[i]>='A' && str[i]<='Z')
  13. printf("%c",(str[i]-'A'+j)%26+'A');
  14. else
  15. printf("%c",str[i]);
  16. }
  17. }
  18.  
  19. return 0;
  20. }


와... 사진안올라가;


23번째에서 복호화된.. 23 : FLAG IS {DO_YOU_KNOW_REVERSE?}


플래그를 발견할수있다.



FLAG : DO_YOU_KNOW_REVERSE?



BASE인코딩을 아니? (Crypto)


Created by MushRooM | You can get 50point!


Hint: base (2 square 4), base (2 square 5), base (2 square 6) X 5


base.txt


 


간단한 문제다.


힌트에서 나온대로 하면된다


문제의 base.txt을 base64 decode -> base32 decode -> base16 decode 이 순서대로 5번 반복하면된다.


base.txt 내용

...


너무 많으므로 결과물만 올리도록하겠다.


flag_{R3SP3CT_Y00N}


위가 결과다.


참고한 사이트는 밑과 같다... 사실 한사이트에서 다른것도 지원해주지만.. 서로서로 가끔씩 오류먹어서; base32 string이 아닙니다 라든가

역시 여러개의 사이트를 사용해서 오류안나는걸 확신할수 있어야할듯...


base64 : http://www.convertstring.com/ko/EncodeDecode/Base64Decode

base32 : https://emn178.github.io/online-tools/base32_decode.html

base16 : http://pbaseconverter.com/

'Write-up > Crypto' 카테고리의 다른 글

[anstromCTF 2017] Substitution Cipher  (0) 2017.04.25
[ch4n3] How are you? I'm XOR XOR.. (Crypto)  (0) 2017.03.08
[ch4n3] King Sejong (Crypto)  (0) 2017.03.08
[ch4n3] Reverse! (Crypto)  (0) 2017.03.08
[ch4n3] 아니..이것은?? (Crypto)  (0) 2017.03.06



 

아니..이것은?? (Crypto)


Created by MushRooM | You can get 50point!


Hint: g0dch4n3

flag.txt

※ Flags do not have uppercase characters.


flag.txt 내용은... 밑과 같다. 간단한 암호로 보인다.


Hint로 g0dch4n3가 주어져있다.

처음 locn이 flag로 추측되므로 시저암호로 먼저 돌여보았으나

결과는 실패~ 귀찮으니 시저에 관해서는 안올리겠다.

locn_{I3xb_3czl_I1sj3y_1ft'w_1v?}


그래서 locn이 flag가 되도록 비제네르 키를 설정해보니 키가 gdchn...


위에 힌트로 주어진 g0dch4n3에서 숫자에 해당되는것만 빼면 나오는 gdchn이다.


밑의 비제네르 암호 복호화 사이트에서 확인하였다.

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



디크립트 결과




FLAG : v3ry_3asy_c1ph3r_1sn't_1t?




'Write-up > Crypto' 카테고리의 다른 글

[anstromCTF 2017] Substitution Cipher  (0) 2017.04.25
[ch4n3] How are you? I'm XOR XOR.. (Crypto)  (0) 2017.03.08
[ch4n3] King Sejong (Crypto)  (0) 2017.03.08
[ch4n3] Reverse! (Crypto)  (0) 2017.03.08
[ch4n3] BASE인코딩을 아니? (Crypto)  (0) 2017.03.06

+ Recent posts