pico는 난이도가 정말 낮았다.
그냥 열기만 하면 flag가 있는 정도,,, 하나씩 보자!
[Web]
1. includes
picoCTF{1nclu51v17y_1of2_f7w_2of2_f4593d9d}
2. inspect HTML
picoCTF{1n5p3t0r_0f_h7ml_dd513514}
3. Local Authority
picoCTF{j5_15_7r4n5p4r3n7_6309e949}
3. Search source
[Crypto]
1. basic-mod1
각 숫자를 mod 37 연산하고 0-25는 알파벳 대문자, 26-35는 10진수, 36은 언더바로 변환해주면 flag를 얻을 수 있다.
문제: [ 128 63 131 198 262 110 309 73 276 285 316 161 151 73 219 150 145 217 103 226 41 255 ]
각각 모듈러 연산을 진행하면
17 26 20 13 3 36 13 36 17 26 20 13 3 36 34 2 34 32 29 4 4 33
이제 위의 숫자들로 문제에서 주어진 변환 규칙을 적용하면
R0UND_N_R0UND_8C863EE7이라는 값을 얻을 수 있음
(참고로 26~35 10진수 변환은
26→0 / 27→1 / 28→2 / ...... / 34 →8 / 35 →9
이렇게)
picoCTF{R0UND_N_R0UND_8C863EE7}
2. basic-mod2
문제: [ 350 372 192 354 139 337 67 311 392 338 241 414 180 277 379 294 128 117 250 404 336 350 386 ]
이번에는 mod 41 연산을 하는데 그 결과를 가지고 모듈러 역수를 찾아주고
1~26은 알파벳, 27~36은 십진수, 37은 언더바로 변환해주면 된다.
일단 mod 41 연산을 하고 아래의 사이트에서 역수를 찾아주었다.
28 14 22 30 18 32 30 12 25 37 8 31 18 4 37 6 33 34 31 34 36 28 29
문제에서 주어진 규칙대로 변환해주면
1nv3r53ly_h4rd_f6747912 라는 값을 얻을 수 있다.
picoCTF{1nv3r53ly_h4rd_f6747912}
3. credstuff
usernames.txt 파일에서 cultiris를 찾으면 378번째 줄이다.
passwords.txt 파일에서 동일한 줄을 찾고,
flag의 시작이 picoCTF이므로 확인해보면 ROT13으로 암호화된 것을 알 수 있고, 다시 복호화해주면 FLAG를 얻을 수 있다.
picoCTF{C7r1f_54v35_71M3}
4. morse-code
모스부호를 해독해주는 사이트가 있는 걸로 아는데
나는 당시에 재생속도 느리게 해서 하나하나 찾았다,,ㅎ,,
picoCTF{wh47_h47h_90d_w20u9h7}
5. rail-fence
rail-fence 암호화가 적용되었다.
4 rail로 돌려서 flag 획득~
picoCTF{WH3R3_D035_7H3_F3NC3_8361N_4ND_3ND_55228140}
6. substitution0
https://math.bab2min.pe.kr/substt
위의 사이트에서 문제에서 주어진 키를 가지고 복호화하면 flag를 얻을 수 있다.
picoctf{5ub5717u710n_3v0lu710n_aa1cc2b7}
7. substitution1
picoCTF{FR3QU3NCY_4774CK5_4R3_C001_B810DD84}
8. transposition-trial
문제: heTfl g as iicpCTo{7F4NRP051N5_16_35P3X51N3_VCDE4CE4}7
앞부분에 picoCTF가 들어갈 것이고
앞부분에 flag 같은 단어들이 있길래 이리저리 생각하다 보니
3 글자씩 잘라서 제일 뒤에 있는 글자를 앞으로 가져와서 붙이면 flag를 얻을 수 있다.
heT ⇒ The 이렇게!
The flag is picoCTF{7R4N5P051N6_15_3XP3N51V3_ECDE4C74}
picoCTF{7R4N5P051N6_15_3XP3N51V3_ECDE4C74}
9. Vigenere
rgnoDVD{O0NU_WQ3_G1G3O3T3_A1AH3S_e481bf5f}
비즈네르 암호 해독 사이트를 이용하였다.
https://www.mygeocachingprofile.com/codebreaker.vigenerecipher.aspx
문제에서 주어진 "CYLAB"를 키로 넣고 올려주면 flag를 얻을 수 있다.
picoctf{d0nt_us3_v1g3n3r3_c1ph3r_c481du5f}
[Reversing]
1. bloat.py
너무 보기가 힘들어서 정리해봤다.
결국 input이 happychance이면 true로 flag 파일을 읽어주길래 해당 값을 넣어주니 flag를 얻을 수 있었다.
picoCTF{d30bfu5c4710n_f7w_c47f9e9c}
2. file-run1
picoCTF{U51N6_Y0Ur_F1r57_F113_5578e314}
3. file-run2
인자로 Hello! 를 같이 주면 flag를 얻을 수 있다.
picoCTF{F1r57_4rgum3n7_981abfb5}
4. GDB Test Drive
문제에서 주어진 명령어를 그대로 따라가면 flag를 얻을 수 있다.
picoCTF{d3bugg3r_dr1v3_93b87433}
5. patchme.py
문제에서 주어진 코드를 보면 user_pw가 엄청나게 길어서 임의로 1234로 바꿔주었다.
cmd로 실행시켜 1234를 입력하면 flag를 얻을 수 있다.
picoCTF{p47ch1ng_l1f3_h4ck_4d5af99c}
6. Safe Opener
자바 파일이 주어졌다.
base64로 암호화된 encodedkey를 복호화해주면 flag를 얻을 수 있다.
picoCTF{pl3as3_l3t_m3_1nt0_th3_saf3}
7. unpackme
먼저 언패킹을 진행하고 내가 좋아하는 숫자를 입력하라고 하길래 IDA로 열어보았다.
picoCTF{up><_m3_f7w_ed7b0850}
8. unpackme.py
파이썬 파일이 주어지고 실행을 시켜야 할 것 같아서 colab에서 cryptography 모듈을 설치해주고 실행해보았다.
원래 주어진 코드로 실행하다 보면 패스워드를 입력하라는 문구가 출력되길래
flag 변수를 생성해서 print 해보았더니 flag가 함께 출력되었다.
picoCTF{175_chr157m45_8aef58d2}
'CTF writeup' 카테고리의 다른 글
[2022 MHSCTF] Writeup (0) | 2022.08.15 |
---|---|
[2019 Codegate OPEN CTF] magic (0) | 2022.08.15 |
[2019 Codegate OPEN CTF] i_love_cookie (0) | 2022.08.15 |
[2019 Codegate OPEN CTF] Find flag (0) | 2022.08.15 |
[2019 Codegate OPEN CTF] proxy (0) | 2022.08.15 |