반응형
반응형
반응형

http://52.79.224.215

Crypto

 

Very Easy Crypto

100

 

ascii85

 

The Middle Age Crypto

100

 

https://www.brynmawr.edu/bulletin/codes-and-ciphers-puts-students-test

 

'Codes and Ciphers' Puts Students to Test | Bryn Mawr Alumnae Bulletin

'Codes and Ciphers' Puts Students to Test 'Codes and Ciphers' Puts Students to Test Math course offers insight into creating and solving secret messages. At their simplest, they are used by kids passing notes in class and at their most complex, by governme

www.brynmawr.edu

 

You Decode it?

175

 

문제 :

1
2
3
4
5
6
7
8
9
10
11
12
from * import flag, shift 
 
list_ = ['0x475''0x3b0''0x471''0x47a''0x39c''0x465''0x476''0x46d''0x46d''0x47a','0x39c''0x460''0x471''0x47a''0x473''0x477''0x3b3''0x3a2''0x3a2']
 
def encrypt(d,shift):
    e = []
    for c in d:
        e.append(hex((ord(c)+shift)^99))
    return e
 
if list(encrypt(flag,shift)) == list_:    # 문법 상으로는 맞지 않음. 이해를 위해서 넣은 코드구문
    print("encoding success!!")
cs

 

 

풀이 :

1
2
3
4
5
6
7
8
9
10
11
12
13
list_ = [0x4750x3b00x4710x47a0x39c0x4650x4760x46d0x46d0x47a,0x39c0x4600x4710x47a0x4730x4770x3b30x3a20x3a2]
list = []
 
 
for i in list_:
    list.append(i^99)
 
for shift in range(0,951):
    flag = ""
    for j in list :
        flag += chr(j-shift)
    print(flag)
 
cs

 

반응형
반응형

Cryptography

 

Art 150

https://www.brynmawr.edu/bulletin/codes-and-ciphers-puts-students-test

INFO{HO_OHO_OHOOHO_HELLO_THIS_IS_MATSURI_YOU_KNOW_FREEMASON_CIPHER!!!!}

 

 

 

Quick Brown Fox

150

 

1. 모스부호 디코딩 -> 2. dec to ascii -> 3. reverse(앞 뒤를 뒤집는다.) -> link!(링크로 접속) and find flag in imag (이미지 속에서 플래그를 찾을 수 있다.)

 

1. https://morsecode.scphillips.com/translator.html

 

2. https://www.branah.com/ascii-converter

변환후 Remove spaces 클릭하자

 

3. https://cryptii.com/

Reverse 선택

 

 

 

 

Baby RSA 250

c^d mod (p*q) = m(평문)

 

system32.kr RSA 문제들 풀이 참조

 

https://mandu-mandu.tistory.com/category/WAR%20GAME/System32.kr

 

'WAR GAME/System32.kr' 카테고리의 글 목록

 

mandu-mandu.tistory.com

 

 

VcipherTEXT

250

비제네르 키 길이 3로 브포 공격

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

 

key 길이 3을 몰라도, 브포 공격으로 해도 나오긴 한다.

 

 

 

No RSA No Life

rsatool.py 이용해서 d를 구한뒤 baby rsa와 동일 풀이

 

system32.kr RSA문제 풀이 참조:

https://mandu-mandu.tistory.com/category/WAR%20GAME/System32.kr

 

'WAR GAME/System32.kr' 카테고리의 글 목록

 

mandu-mandu.tistory.com

반응형
반응형

King bases on 8,8

100

[문제 설명] 왕은 무엇에 기반을 두고 있을까
[출제자] 정준영(Joon)
[출제이력] 없음
[암호문]

Vm0weE5GbFdiRmRXV0doVFYwZG9XVll3WkZOVU1WVjNXa2M1VjFadGVGbFVWbHBQVjBaS2MxZHVhRlpOYWtWM1ZrUktTMU5HVm5KWGJGcFhaV3haZWxkWGRHRlRiVkY1Vkd0c2FWSnRhRzlVVjNoTFlqRmFjMWt6YUZkTmF6VjZWa2MxUjFWdFNrZFhiR3hXVFVaYVRGWXhXbHBsVlRGVlZXeE9UbUY2VmxsV2JUQXhWakpHYzFOc1ZsZGhlbXhZV1ZSS1UyTnNVbk5YYlVaVVVqRktTVlJzWkRCVWJGcFdZMFpTVjFaV2NGTmFSRVpEVld4Q1ZVMUVNRDA9

 

base64 디코딩 여러번 때려주면 된다.

 

 

 

Not encrypted

100

[문제 설명] 어떻게 암호화되었을까?
[출제자] 이경하(nulLeeKH)
[출제이력] 없음
[암호문] QTBWM1J7MXRfMXNfbjBUXzNuQ1J5UFQzZH0=

 

... base64 디코딩 해주면 끝. 

 

 

전화기를 열어라

100

[문제 설명] 아오바는 은밀하게 히후미의 스마트폰을 열어보고자 한다. 아오바를 도와주자! (형식 : A0V3R{numbers})
[출제자] 이경하(nulLeeKH)
[출제이력] 없음
[암호문] Li0tLS0gLS0tLS0gLi4tLS0gLS4uLi4=

 

또 base64 디코드. 모스부호가 나오는데, 해독해주면 숫자 4자리가 나온다. 플래그 형식에 맞게 제출하면 된다.

 

 

 

First Crypto

200

[문제 설명] 아오바가 쪽지를 건네주었다. 뭐라고 적었을지 알아보자.
[출제자] 이경하(nulLeeKH)
[출제이력] 없음
[암호문] fUEzRTBKX08wX1hDeWhBbF9DQkFyT18zcUN7QTNFMEo=

 

일단 base64 벗겨내주면

}A3E0J_O0_XCyhAl_CBArO_3qC{A3E0J

 

글자가 역순으로 되어있다. 아래 사이트를 이용해 reverse 해주고 카이사르도 돌려주면 플래그가 나온다.

https://cryptii.com

 

Modular conversion, encoding and encryption online

Web app offering modular conversion, encoding and encryption online. Translations are done in the browser without any server interaction. This is an Open Source project, code licensed MIT.

cryptii.com

 

 

 

아오바의 키는 몇cm일까?

200

[문제 설명] 아오바는 회사에서 시행한 건강검진 결과를 알고싶어한다. 그런데, 키를 읽는 데에 어려움을 겪고 있다고 한다. 곤경에 빠진 아오바를 도와줘서 환심을 사 보자!
[출제자] 이경하(nulLeeKH)
[출제이력] 없음
[암호문]

 =0SLt0iLg0iLu4iLg8CIt0SLt0CIt0iLu4CIvAiLu4iLtAiLu4iLuAyLg0SLu4iLg0SLu4iLg8CIt0SLu4CIu4iLu4CIvAiLu4SLg4iLu0SLg8CIt0SLt4CIt0iLu4CIvASLu4iLuAiLu4SLtAyLg4SLu4CIu4iLu4CIvASLt0SLuASLt4iLuAyLg0SLu4iLg4iLu4iLg8CIu0iLuAiLu4iLuAyLg0SLt0SLg0SLu4iLg8CIuASLu4iLuAyLg0SLu4iLg0SLu4iLg8CIu4SLt0CIu4iLu0CIvAiLu4iLuAiLu4iLuAyLg4CIu4iLu0CIvASLu4iLuAiLu4iLtAyLg0SLt4iLg4iLu4iLg8CIt0iLu4CIt0iLu4CIvASLu4iLuASLt4iLuAyLg0iLu4iLg4iLu4SLg8CIu4SLg0SLt4iLg8CIu4iLu0CIu4iLu0CIvASLt0SLtASLt4iLuAyLg4iLu4iLg4iLu0SLg8CIt0SLu4CIu4iLu4CIvASLu4iLuAiLu4iLuAyLg4SLt0SLg4iLu0SLg8CIu4SLg0SLt4iLg8CIuASLu4iLuAyLg0SLt0iLg0SLu4iLg8CIuASLu4iLuAyLg0SLu4iLg0SLu4iLg8CIu0iLuAiLu4iLuAyLg0SLu4iLg4iLu4SLg8CIu4SLg0iLu4iLg8CIu4SLg4iLu0SL

 

 

base64 패딩 '=' 이 앞으로 와 있으니 역순임을 알 수 있다. 위 사이트에서 reverse 해주고 base64 디코딩 해주자.

그러면 모스부호가 나온다. 해독해주면 hex값이 나온다.

ascii로 변환하고 다시 reverse해주면 플래그가 나온다.

 

 

PaddedRSA

250

[문제 설명] 겨울에 패딩 입은 RSA
[출제자] 김진서(KJSMAN)
[플래그 형식] A0V3R{FLAG}
[출제이력] 없음
[접속] nc ctf.dle.pw 1984

 

 

솔버가 2명뿐이라서 어려운 문제인 줄 알았다가 그냥 한번에 풀려버린 문제이다.

 

nc에 접속을 하면 n e c를 주고 죽는다.

 

주어진 n을 소인수분해하는것은 불가능하다. 그러나 e가 3으로 매우 작다. 그러므로 아래 문제와 동일하게 풀어낼 수 있었다.

 

https://mandu-mandu.tistory.com/258

 

System32.kr [RSA105] 풀이

RSA105 풀이 : e가 매우 작은 경우 n : 14563994539777678316321336781712344883711529518189434139233680882263409604514153869699501702104322682479573897503872406635890483506906896813982089686642192006130..

mandu-mandu.tistory.com

 

padded 때문에 어떤 과정이 더 있을 줄 알았는데, 나온 플래그를 그대로 인증하니 인증이 되어버렸다......

 

 

Animals In The Middle

350

[문제 설명] 해독해보자.
[주의사항] 전부 대문자로 입력하셔야 합니다.
[출제자] 정준영(Joon)
[출제이력] 없음

 

 

다른 문제 풀다가 우연히 찾았다. https://www.brynmawr.edu/bulletin/codes-and-ciphers-puts-students-test

불러오는 중입니다...

 

 

 

반응형
반응형

Great Binary 50

주어진 파일을 열어보면 바이너리가 적혀있다.

아래 사이트를 이용해 아스키로 변환하면 끝.

https://www.branah.com/ascii-converter

 

ASCII Converter - Hex, decimal, binary, base64, and ASCII converter

Convert ASCII characters to their hex, decimal and binary representations and vice versa. In addition, base64 encode/decode binary data. The converter happens automatically.

www.branah.com

HackCTF{crypto_v2ry_easy_pr0b1em}

 

 

Smooth CipherText 100

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}

 

LymoADJ == HackCTF

m과 a가 C에 중복으로 대응되는 것으로 보아, 카이사르는 아니다. 그래서 비제네르로 돌려봤다.

본문 key = key

플래그 key = n

 

 

Classic Cipher -1 100

Hint : [::-1]

?y4zl4J_d0ur_b0f_0K zp nhsm

 

[::-1] 은 reverse. 즉 글자 순서를 뒤바꿔주면 된다.

그 다음에 카이사르를 돌리니 플래그가 나왔다.

 

HackCTF{D0_y0u_kn0w_C4es4r?}

 

 

RSA

200

RSA 알고리즘을 이용하여 값을 해독해보자! 
파일에 나와있는 c, p, q, e 는 RSA 대한 파라미터 값이다. 

 

p = 9648423029010515676590551740010426534945737639235739800643989352039852507298491399561035009163427050370107570733633350911691280297777160200625281665378483

q = 11874843837980297032092405848653656852760910154543380907650040190704283358909208578251063047732443992230647903887510065547947313543299303261986053486569407

e = 65537

c = 83208298995174604174773590298203639360540024871256126892889661345742403314929861939100492666605647316646576486526217457006376842280869728581726746401583705899941768214138742259689334840735633553053887641847651173776251820293087212885670180367406807406765923638973161375817392737747832762751690104423869019034

 

https://mandu-mandu.tistory.com/110 이 글에 나온 방법대로 따라하면 된다.

그러면 값이 12058e43d9e0c22559c19774 가 나오는데, 이를 10진수로 변환해서 플래그 인증하면 된다.

 

Classic Cipher -3

200

 

 

RSA2

200

(n, c) = 675517326695494061190287679557796696358902817969424171685361, 0xe3712876ea77c308083ef596a32c5ce2d7edf22abbc58657e

 

 

n 을 소인수분해 하여 p와 q를 구한다.

https://www.alpertron.com.ar/ECM.HTM

 

 

 

e를 65537 기본으로 잡고 복호화.

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
def egcd(a, b):
    x,y, u,v = 0,11,0
    while a != 0:
        q, r = b//a, b%a
        m, n = x-u*q, y-v*q
        b,a, x,y, u,v = a,r, u,v, m,n
        gcd = b
    return gcd, x, y
 
def main():
 
    p = 804811499343607200702893651293
    q = 839348502408870119614692320677
    e = 65537
    ct = 0xe3712876ea77c308083ef596a32c5ce2d7edf22abbc58657e
 
    # compute n
    n = p * q
 
    # Compute phi(n)
    phi = (p - 1* (q - 1)
 
    # Compute modular inverse of e
    gcd, a, b = egcd(e, phi)
    d = a
 
    print"d:  " + str(d) );
 
    # Decrypt ciphertext
    pt = pow(ct, d, n)
    print"pt: " + str(pt) )
 
if __name__ == "__main__":
    main()
 
cs

 

pt = plain text

평문값을 hex로 변환한 뒤에 ascii로 바꾸면 flag가 나온다.

 

 

 

 

 

RSA3

250

n = 10283681839193276126097189449431804469761940095295471888398234447479454966284763902940257262270896218602885591849219329295416054197234326881779747263501982465102957508563705432633950651360492963151374387619070656704554971992649022858286686244477458518219811343940208016922937570643216329114427596008380607613093481777894261584227765149699743645734317383348201997748556656749211035951710759363655486663011079526697122026161182876988679088458171192764980121987583057238040415225285169219391637708267493561674900564748140379192079752942242600521017002960185256025253900075152690586476143729320416895984549165574371936823

c = 0x5c93ba85692a8b3981a5d47be0e80d129b8a2f6cf4dc134547aa7e1620f6691513b1dc1d69e085c39e261c2b49026436bb243dba70a86f7fcd1a3a7e6b0f0ecfac015becad0a76e9cf208d5d31e2b4865

e = 3

 

 

n은 매우 크고 e는 매우 작다.

 

c = m^e mod n = m^e

 

HelloCryto

350

key 길이는 14

flag 앞에는 HackCTF{ 인 것을 알고 있으니 key 14자리중 8자리 알아낼 수 있고

메세지 뒤에 key값이 붙은 것이 다시 key 앞에 8자리랑 연산을 하니 key 뒷자리도 알아낼 수 있음.

 

 

 

XOR

400

 

 

역연산돌리자

 

반응형

'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 MISC 카테고리 풀이  (0) 2019.07.18
HackCTF Web 카테고리 풀이  (0) 2019.07.18

+ Recent posts