├── Crypto ├── Big Text │ ├── BT.png │ ├── README.md │ ├── decrypted_text.txt │ └── text.txt ├── One Time │ ├── OT.png │ ├── README.md │ └── crypto.py ├── Uroboros 2 │ ├── README.md │ ├── uroboros_strikes_back.py │ └── uroboros_strikes_back_decode.py └── Uroboros │ ├── README.md │ └── uroboros.py ├── Forensic ├── Demons │ ├── Demons.png │ ├── README.md │ └── artefact.txt ├── Intercepted │ ├── IC_1.png │ ├── IC_2.png │ ├── README.md │ ├── flag.txt │ └── intercepted.pcap ├── Some Tricky File │ ├── README.md │ ├── flag.txt │ ├── flag.zip │ └── some_file └── ZIP Games │ ├── README.md │ ├── flag.txt │ └── flag.zip ├── Misc └── Sanity Check │ └── README.md ├── PPC ├── Brutality │ ├── README.md │ └── brute.py ├── Prefix │ ├── Prefix.png │ ├── README.md │ └── prefix.py ├── Rainbow │ ├── README.md │ ├── final.png │ ├── pieces │ │ ├── 0.png │ │ ├── 1.png │ │ ├── 10.png │ │ ├── 100.png │ │ ├── 101.png │ │ ├── 102.png │ │ ├── 103.png │ │ ├── 104.png │ │ ├── 105.png │ │ ├── 106.png │ │ ├── 107.png │ │ ├── 108.png │ │ ├── 109.png │ │ ├── 11.png │ │ ├── 110.png │ │ ├── 111.png │ │ ├── 112.png │ │ ├── 113.png │ │ ├── 114.png │ │ ├── 115.png │ │ ├── 116.png │ │ ├── 117.png │ │ ├── 118.png │ │ ├── 119.png │ │ ├── 12.png │ │ ├── 120.png │ │ ├── 121.png │ │ ├── 122.png │ │ ├── 123.png │ │ ├── 124.png │ │ ├── 125.png │ │ ├── 126.png │ │ ├── 127.png │ │ ├── 13.png │ │ ├── 14.png │ │ ├── 15.png │ │ ├── 16.png │ │ ├── 17.png │ │ ├── 18.png │ │ ├── 19.png │ │ ├── 2.png │ │ ├── 20.png │ │ ├── 21.png │ │ ├── 22.png │ │ ├── 23.png │ │ ├── 24.png │ │ ├── 25.png │ │ ├── 26.png │ │ ├── 27.png │ │ ├── 28.png │ │ ├── 29.png │ │ ├── 3.png │ │ ├── 30.png │ │ ├── 31.png │ │ ├── 32.png │ │ ├── 33.png │ │ ├── 34.png │ │ ├── 35.png │ │ ├── 36.png │ │ ├── 37.png │ │ ├── 38.png │ │ ├── 39.png │ │ ├── 4.png │ │ ├── 40.png │ │ ├── 41.png │ │ ├── 42.png │ │ ├── 43.png │ │ ├── 44.png │ │ ├── 45.png │ │ ├── 46.png │ │ ├── 47.png │ │ ├── 48.png │ │ ├── 49.png │ │ ├── 5.png │ │ ├── 50.png │ │ ├── 51.png │ │ ├── 52.png │ │ ├── 53.png │ │ ├── 54.png │ │ ├── 55.png │ │ ├── 56.png │ │ ├── 57.png │ │ ├── 58.png │ │ ├── 59.png │ │ ├── 6.png │ │ ├── 60.png │ │ ├── 61.png │ │ ├── 62.png │ │ ├── 63.png │ │ ├── 64.png │ │ ├── 65.png │ │ ├── 66.png │ │ ├── 67.png │ │ ├── 68.png │ │ ├── 69.png │ │ ├── 7.png │ │ ├── 70.png │ │ ├── 71.png │ │ ├── 72.png │ │ ├── 73.png │ │ ├── 74.png │ │ ├── 75.png │ │ ├── 76.png │ │ ├── 77.png │ │ ├── 78.png │ │ ├── 79.png │ │ ├── 8.png │ │ ├── 80.png │ │ ├── 81.png │ │ ├── 82.png │ │ ├── 83.png │ │ ├── 84.png │ │ ├── 85.png │ │ ├── 86.png │ │ ├── 87.png │ │ ├── 88.png │ │ ├── 89.png │ │ ├── 9.png │ │ ├── 90.png │ │ ├── 91.png │ │ ├── 92.png │ │ ├── 93.png │ │ ├── 94.png │ │ ├── 95.png │ │ ├── 96.png │ │ ├── 97.png │ │ ├── 98.png │ │ └── 99.png │ └── rainbow.py └── Tic-Tac-Toe │ ├── README.md │ ├── TicTacToe.png │ └── tictactoe.py ├── README.md ├── Reverse ├── Brain Damage │ ├── BD.png │ ├── README.md │ └── prog.txt ├── Broken │ ├── README.md │ ├── decrypt_flag │ ├── libdecrypt.so │ └── libdecrypt_good.so ├── Cobra │ ├── README.md │ ├── cobra.py │ └── cobra_deserialized.py ├── Flag Checker │ ├── FC_1.png │ ├── FC_2.png │ ├── README.md │ └── flag_checker.exe ├── Long Snek │ ├── README.md │ └── long_snek.py └── Time Loop │ ├── README.md │ ├── TL.png │ ├── TL_1.png │ └── timeloop ├── Stegano ├── Difference │ ├── README.md │ ├── bliss.bmp │ ├── bliss_new.bmp │ └── difference.py └── The End │ ├── EnD.jpeg │ ├── README.md │ └── flag.txt └── Web ├── Another Day ├── AD_1.png ├── AD_2.png └── README.md ├── Converter ├── Converter_1.png ├── Converter_2.png ├── README.md └── code.php ├── Cookie Monster ├── Cookie_1.png ├── Cookie_2.png └── README.md ├── ImageBox 2 ├── IB_1.png ├── IB_2.png ├── README.md └── code.phtaccesshp.jpg ├── ImageBox ├── IB_1.png ├── IB_2.png ├── README.md └── code.jpg.php ├── JSt Do It ├── JS_1.png ├── JS_2.png └── README.md ├── Just Add ├── Code.png ├── Flag.png ├── JA_123.png ├── README.md └── index.php ├── Kavichka ├── Kavichka_1.png ├── Kavichka_2.png └── README.md ├── No Comments ├── README.md └── Screenshot.png ├── Octocat ├── Dump.png ├── Dump │ ├── 0-1de193626de000b86a339e7a55d8c8fedaf8e4a2 │ │ ├── commit-meta.txt │ │ ├── flag.php │ │ ├── index.php │ │ └── public │ │ │ └── signin.css │ └── 1-2809d1d61998f9c2233c9b7a99b948006a4ed97d │ │ ├── commit-meta.txt │ │ ├── flag.php │ │ ├── index.php │ │ └── public │ │ └── signin.css ├── Flag.png ├── README.md └── Sign.png ├── Porter ├── FlagIsHere.png ├── README.md └── Source.png ├── Router ├── Login.png ├── README.md └── Screenshot.png ├── Silmaril Store 2 ├── README.md ├── Store_1.png └── Store_2.png └── Silmaril Store ├── README.md ├── Store_1.png └── Store_2.png /Crypto/Big Text/BT.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gleb-shnshn/CyberChallenge_WriteUp/6b351e50f38d1d352d7eaee184c9cb57f0939404/Crypto/Big Text/BT.png -------------------------------------------------------------------------------- /Crypto/Big Text/README.md: -------------------------------------------------------------------------------- 1 | # Big Text 2 | 3 | ## Задание 4 | 5 | Я просто хотел рассказать тебе про один из самых простых шифров, но что-то пошло не так. 6 | 7 | ## Решение 8 | 9 | Прикрепленный текст **text.txt** содержит текст зашифрованный шифром похожим на шифр транспозиции, чтобы его расшифровать можно воспользоваться утилитами или сайтом 10 | 11 | 13 | 14 | В расшифрованном файле **decrypted_text.txt** , видим последнюю строчку 15 | flag for this task is cc curly bracket cryp seven four n four ly five one five underscore one five underscore five zero underscore c zero zero l curly bracket. 16 | 17 | Ее можно собрать в флаг: **CC{cryp74n4ly515_15_50_c00l}** 18 | -------------------------------------------------------------------------------- /Crypto/Big Text/decrypted_text.txt: -------------------------------------------------------------------------------- 1 | in cryptography, a substitution cipher is a method of encrypting by which units of plaintext are replaced with ciphertext, according to a fixed system; the "units" may be single letters (the most common), pairs of letters, triplets of letters, mixtures of the above, and so forth. the receiver deciphers the text by performing the inverse substitution. 2 | 3 | substitution ciphers can be compared with transposition ciphers. in a transposition cipher, the units of the plaintext are rearranged in a different and usually quite complex order, but the units themselves are left unchanged. by contrast, in a substitution cipher, the units of the plaintext are retained in the same sequence in the ciphertext, but the units themselves are altered. 4 | 5 | there are a number of different types of substitution cipher. if the cipher operates on single letters, it is termed a simple substitution cipher; a cipher that operates on larger groups of letters is termed polygraphic. a monoalphabetic cipher uses fixed substitution over the entire message, whereas a polyalphabetic cipher uses a number of substitutions at different positions in the message, where a unit from the plaintext is mapped to one of several possibilities in the ciphertext and vice versa. 6 | 7 | flag for this task is cc curly bracket cryp seven four n four ly five one five underscore one five underscore five zero underscore c zero zero l curly bracket. -------------------------------------------------------------------------------- /Crypto/Big Text/text.txt: -------------------------------------------------------------------------------- 1 | lw zshgfqosrgph, r xkmxflfkflqw zlgpcs lx r ucfpqb qt cwzshgflwo mh yplzp kwlfx qt girlwfcef rsc scgirzcb ylfp zlgpcsfcef, rzzqsblwo fq r tlecb xhxfcu; fpc "kwlfx" urh mc xlwoic icffcsx (fpc uqxf zquuqw), grlsx qt icffcsx, fslgicfx qt icffcsx, ulefkscx qt fpc rmqvc, rwb xq tqsfp. fpc sczclvcs bczlgpcsx fpc fcef mh gcstqsulwo fpc lwvcsxc xkmxflfkflqw. 2 | 3 | xkmxflfkflqw zlgpcsx zrw mc zqugrscb ylfp fsrwxgqxlflqw zlgpcsx. lw r fsrwxgqxlflqw zlgpcs, fpc kwlfx qt fpc girlwfcef rsc scrssrwocb lw r blttcscwf rwb kxkriih nklfc zqugice qsbcs, mkf fpc kwlfx fpcuxcivcx rsc ictf kwzprwocb. mh zqwfsrxf, lw r xkmxflfkflqw zlgpcs, fpc kwlfx qt fpc girlwfcef rsc scfrlwcb lw fpc xruc xcnkcwzc lw fpc zlgpcsfcef, mkf fpc kwlfx fpcuxcivcx rsc rifcscb. 4 | 5 | fpcsc rsc r wkumcs qt blttcscwf fhgcx qt xkmxflfkflqw zlgpcs. lt fpc zlgpcs qgcsrfcx qw xlwoic icffcsx, lf lx fcsucb r xlugic xkmxflfkflqw zlgpcs; r zlgpcs fprf qgcsrfcx qw irsocs osqkgx qt icffcsx lx fcsucb gqihosrgplz. r uqwqrigprmcflz zlgpcs kxcx tlecb xkmxflfkflqw qvcs fpc cwflsc ucxxroc, ypcscrx r gqihrigprmcflz zlgpcs kxcx r wkumcs qt xkmxflfkflqwx rf blttcscwf gqxlflqwx lw fpc ucxxroc, ypcsc r kwlf tsqu fpc girlwfcef lx urggcb fq qwc qt xcvcsri gqxxlmlilflcx lw fpc zlgpcsfcef rwb vlzc vcsxr. 6 | 7 | tiro tqs fplx frxd lx zz zksih msrzdcf zshg xcvcw tqks w tqks ih tlvc qwc tlvc kwbcsxzqsc qwc tlvc kwbcsxzqsc tlvc jcsq kwbcsxzqsc z jcsq jcsq i zksih msrzdcf. 8 | -------------------------------------------------------------------------------- /Crypto/One Time/OT.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gleb-shnshn/CyberChallenge_WriteUp/6b351e50f38d1d352d7eaee184c9cb57f0939404/Crypto/One Time/OT.png -------------------------------------------------------------------------------- /Crypto/One Time/README.md: -------------------------------------------------------------------------------- 1 | # One Time 2 | 3 | ## Задание 4 | 5 | Я нашел код своего друга. Похоже на криптографию, но чего-то точно не хватает. Он очень скромный, и все, что я о нем знаю — это то, что он помешан на песне «Rick Astley — Never gonna give you up». Но ты ведь мне поможешь? 6 | 7 | ## Решение 8 | 9 | Название говорит о том, что шифрование - One Time Pad, тогда у нас есть специальный сайт . 10 | 11 | 13 | 14 | В поле **Ciphertext1** и **Ciphertext2** вставляем значения из прикрепленного файла **crypto.py** , пробуем подбирать **Crib words** так, чтобы в первой строчке были строчки из песни **Rick Astley — Never gonna give you up** 15 | Постепенно подбираем строку и получаем в **Crib words** 16 | 17 | the flag for this task is cc curly bracket zero n three underscore seven one m three underscore p four d underscore one five underscore five three cur three underscore zero nly underscore zero nc three curly bracket. 18 | 19 | Ее можно собрать в флаг: **CC{0n3_71m3_p4d_15_53cur3_0nly_0nc3}** 20 | -------------------------------------------------------------------------------- /Crypto/One Time/crypto.py: -------------------------------------------------------------------------------- 1 | def encrypt(string, key): 2 | return b''.join([bytes(chr(ord(string[i]) ^ ord(key[i % len(key)])), 'utf-8') for i in range(len(string))]).hex() 3 | 4 | def decrypt(ciphertext, key): 5 | return ''.join([chr(bytes.fromhex(ciphertext)[i] ^ ord(key[i % len(key)])) for i in range(len(bytes.fromhex(ciphertext)))]) 6 | 7 | key = '???' 8 | 9 | string1 = '???' 10 | string2 = '???' 11 | 12 | cipher1 = encrypt(string1, key) 13 | cipher2 = encrypt(string2, key) 14 | 15 | print(cipher1) # 254f060c1c01521200020218531b091a09440d071c5304001b5926521f454c4c0a1c16030518024433071d070d4f01180410521c0e194c0c1d0b0904161015060d53414f221c1910004506030217124f0b1f1301541106064c1a1c5942553c0017091e59140002180444180d1d53150019590b1a050b41414c371619090445031b0607124c1d19174f14000a14020859120108560101070d1b074c16030c4f58522b041a090b530803180b0554050818094f15161a551117184c41593d0a1a1317441307071d0d4f1f181655150a0e080e00164f41562b01020d1b530b0002170e5506000d004c185303051345051a0c491b191d1859161a07 16 | print(cipher2) # 1807095909191302410a030b531b041f164400091a184c061f590c165206141e0000530d1e17060f111c4909091d03590155060d1309095906010813171717071b164c1c090f0a1b520a0f094c14531b04040001541d0717091d1f1a00071745114c0a16061d4c1245111a0c0c011f0c030b0a551d0b044c0a10050a4c030b00111a1a10031d0959091c04004118040b160a4c151016541c0101090a4c0c01111717120f030b164f1613170b5406050a4c1a021d0a0701060e1e0959090a1e19450a17481d1b1e0a09590c000009184c0e0b120c071311 17 | -------------------------------------------------------------------------------- /Crypto/Uroboros 2/README.md: -------------------------------------------------------------------------------- 1 | # Uroboros 2 2 | 3 | ## Задание 4 | 5 | У нас тут опять кто-то скрипты портит :( 6 | 7 | Но все ходы записаны! Вот что скрипт выводил в результате: 8 | TWEGaEc9C0NIeSYhD08YP1BkIDUFQzJ9 9 | 10 | ## Решение 11 | 12 | Можно увидеть то, что в прикрепленном файле **uroboros_strikes_back.py** используется немного измененнное шифрование xor, как в первом Uroboros 13 | изменение заключается в том, что теперь, чтобы получить исходный флаг надо 3 раза прогнать получившийся вывод через encrypt. 14 | Скрипт для расшифровки **uroboros_strikes_back_decode.py** 15 | 16 | Получаем флаг: **CC{w3_n33d_t0_g0_d33p3r}** 17 | -------------------------------------------------------------------------------- /Crypto/Uroboros 2/uroboros_strikes_back.py: -------------------------------------------------------------------------------- 1 | import base64 2 | 3 | flag = 4 | 5 | def encrypt(x, n): 6 | key = 'qwertyuioplkjhgfdsazlfmh' 7 | 8 | if n == len(x): 9 | return ''.join(x) 10 | 11 | for i in range(n, len(x)): 12 | x[i] = chr(ord(x[i]) ^ ord(key[i - n])) 13 | 14 | x.insert(0, x.pop((n + 3) % len(x))) 15 | 16 | return encrypt(x, n + 1) 17 | 18 | enc_flag = base64.b64encode(encrypt(list(flag), 0)) 19 | print enc_flag 20 | 21 | # This script prints "TWEGaEc9C0NIeSYhD08YP1BkIDUFQzJ9" 22 | -------------------------------------------------------------------------------- /Crypto/Uroboros 2/uroboros_strikes_back_decode.py: -------------------------------------------------------------------------------- 1 | import base64 2 | 3 | flag = str(base64.b64decode("TWEGaEc9C0NIeSYhD08YP1BkIDUFQzJ9"),"utf-8") 4 | 5 | def encrypt(x, n): 6 | key = 'qwertyuioplkjhgfdsazlfmh' 7 | 8 | if n == len(x): 9 | return ''.join(x) 10 | 11 | for i in range(n, len(x)): 12 | x[i] = chr(ord(x[i]) ^ ord(key[i - n])) 13 | 14 | x.insert(0, x.pop((n + 3) % len(x))) 15 | 16 | return encrypt(x, n + 1) 17 | 18 | for i in range(3): 19 | flag=encrypt(list(flag), 0) 20 | print(flag) 21 | -------------------------------------------------------------------------------- /Crypto/Uroboros/README.md: -------------------------------------------------------------------------------- 1 | # Uroboros 2 | 3 | ## Задание 4 | 5 | Наш скрипт, похоже, немного повредился. Но мы вспомнили, что в результате он выводил строку 6 | 2E\x18fQ)61X@\x10j\x0bjJ+ <\x1fH\x0cuD/Ll 7 | 8 | ## Решение 9 | 10 | Можно увидеть то, что в прикрепленном файле **uroboros.py** используется шифрование xor, а т.к. есть свойство **x xor y = z** , то **z xor y = x** значит можно задать в обратную сторону полученную строку 11 | 12 | Получаем флаг: **CC{w45_17_cryp70_0r_wh47?}** 13 | -------------------------------------------------------------------------------- /Crypto/Uroboros/uroboros.py: -------------------------------------------------------------------------------- 1 | import base64 2 | 3 | def encrypt(x, n): 4 | key = 'qwertyuioplkjhgfdsazlfmhkb' 5 | 6 | if n == len(x): 7 | return ''.join(x) 8 | 9 | for i in range(n, len(x)): 10 | x[i] = chr(ord(x[i]) ^ ord(key[i - n])) 11 | 12 | return encrypt(x, n + 1) 13 | 14 | def encrypt_flag(flag): 15 | return encrypt(list(flag), 0) 16 | 17 | enc_flag = encrypt_flag(flag) 18 | print repr(enc_flag) 19 | 20 | # This script prints "2E\x18fQ)61X@\x10j\x0bjJ+ <\x1fH\x0cuD/Ll" 21 | -------------------------------------------------------------------------------- /Forensic/Demons/Demons.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gleb-shnshn/CyberChallenge_WriteUp/6b351e50f38d1d352d7eaee184c9cb57f0939404/Forensic/Demons/Demons.png -------------------------------------------------------------------------------- /Forensic/Demons/README.md: -------------------------------------------------------------------------------- 1 | # Demons 2 | 3 | ## Задание 4 | 5 | Во время путешествия по Долине Смерти я нашел странный артефакт. Мне кажется, что такое могли создать только в аду. Может быть у тебя есть идеи получше? 6 | 7 | ## Решение 8 | 9 | Прикрепленный файл **artefact.txt** является программой на языке Malbolge, понять это можно, загуглив строчку из кода, первой ссылкой была статья в которой было сказано про него. 10 | 11 | Скомпилировать ее можно, например, здесь 12 | 13 | 15 | 16 | Компилируем, получаем флаг: **CC{fl46_57r416h7_0u774_h3ll}** -------------------------------------------------------------------------------- /Forensic/Demons/artefact.txt: -------------------------------------------------------------------------------- 1 | ('%;:^]!~||3Wyxvu-Qsrqo-&+Ikjhh}Ce@.?><;;:9[vX5s32j0R-lNNc(K9rd$#"!Ck|{hZY;WtUTrqK33HGk/.-+Ae)(&%;_#"!654Xzyxv.RPPaNp-K+*k5FEf$eA!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgf&dcba`_^]\[ZYXWc9'76QPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqponmlkjihgfedcba`_^]\z>=Rv:9865KJn210..CBAed('&$$98\~}|{zyxwA32bON.-,+IkFi~Dfedbxav{ts9[ZYXmlk1SRQPNMMb(JIGFFaZ~BA@?TSRQu9866533Hl0/.,B+@?cb&%$#876Z|{zyxvvu,PqqoK -------------------------------------------------------------------------------- /Forensic/Intercepted/IC_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gleb-shnshn/CyberChallenge_WriteUp/6b351e50f38d1d352d7eaee184c9cb57f0939404/Forensic/Intercepted/IC_1.png -------------------------------------------------------------------------------- /Forensic/Intercepted/IC_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gleb-shnshn/CyberChallenge_WriteUp/6b351e50f38d1d352d7eaee184c9cb57f0939404/Forensic/Intercepted/IC_2.png -------------------------------------------------------------------------------- /Forensic/Intercepted/README.md: -------------------------------------------------------------------------------- 1 | # Intercepted 2 | 3 | ## Задание 4 | 5 | Мы перехватили какой-то странный интернет-трафик. Нам кажется, эти люди что-то замышляют. Впрочем, люди ли? 6 | 7 | ## Решение 8 | 9 | Прикрепленный файл **intercepted.pcap** можно открыть в программе **WireShark**, смотрим протокол FTP 10 | 11 | 13 | 14 | В этом протоколе видно IP адрес - **159.169.59.245**, логин - **anunak** и пароль - **subdue_the_humanity** 15 | 16 | Переходим по ссылке логинимся и видим файл **flag.txt** , в котором и лежит флаг: **CC{1_s33_wh47_y0u_d1d_7h3r3}** 17 | 18 | 20 | -------------------------------------------------------------------------------- /Forensic/Intercepted/flag.txt: -------------------------------------------------------------------------------- 1 | CC{1_s33_wh47_y0u_d1d_7h3r3} 2 | 3 | -------------------------------------------------------------------------------- /Forensic/Intercepted/intercepted.pcap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gleb-shnshn/CyberChallenge_WriteUp/6b351e50f38d1d352d7eaee184c9cb57f0939404/Forensic/Intercepted/intercepted.pcap -------------------------------------------------------------------------------- /Forensic/Some Tricky File/README.md: -------------------------------------------------------------------------------- 1 | # Some Tricky File 2 | 3 | ## Задание 4 | 5 | На конверте, в котором нам прислали флешку с этим файлом, было написано: «...яйцо в утке, утка в зайце...» 6 | 7 | ## Решение 8 | 9 | Прикрепленный файл **some_file** является архивом, в котором хранятся 4 образа linux, т.к. в задании говорится про то что одно в другом, то в образах ищем архивы, в одном из архивов лежит **flag.zip** 10 | 11 | Если его разархивировать, то получим **flag.txt** , в котором и лежит флаг: **CC{l00k_1n51d3_7h3_5qu45h}** -------------------------------------------------------------------------------- /Forensic/Some Tricky File/flag.txt: -------------------------------------------------------------------------------- 1 | ####################################################################### 2 | ####################################################################### 3 | ####################################################################### 4 | ####################################################################### 5 | CC{l00k_1n51d3_7h3_5qu45h} 6 | ####################################################################### 7 | ####################################################################### 8 | ####################################################################### 9 | ####################################################################### -------------------------------------------------------------------------------- /Forensic/Some Tricky File/flag.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gleb-shnshn/CyberChallenge_WriteUp/6b351e50f38d1d352d7eaee184c9cb57f0939404/Forensic/Some Tricky File/flag.zip -------------------------------------------------------------------------------- /Forensic/Some Tricky File/some_file: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gleb-shnshn/CyberChallenge_WriteUp/6b351e50f38d1d352d7eaee184c9cb57f0939404/Forensic/Some Tricky File/some_file -------------------------------------------------------------------------------- /Forensic/ZIP Games/README.md: -------------------------------------------------------------------------------- 1 | # ZIP Games 2 | 3 | ## Задание 4 | 5 | Мы положили флаг в ZIP-архив и, кажется, забыли пароль. Или нет? 6 | 7 | ## Решение 8 | 9 | Обычный прикрепленный архив **flag.zip** без пароля, разархивируем, получаем **flag.txt**, в котором лежит флаг: **CC{1s_th1s_z1p_r3ally_3ncrypt3d}** 10 | -------------------------------------------------------------------------------- /Forensic/ZIP Games/flag.txt: -------------------------------------------------------------------------------- 1 | #################################################################################################################################################################################################################################################################################### 2 | #################################################################################################################################################################################################################################################################################### 3 | #################################################################################################################################################################################################################################################################################### 4 | #################################################################################################################################################################################################################################################################################### 5 | CC{1s_th1s_z1p_r3ally_3ncrypt3d} 6 | #################################################################################################################################################################################################################################################################################### 7 | #################################################################################################################################################################################################################################################################################### 8 | #################################################################################################################################################################################################################################################################################### 9 | #################################################################################################################################################################################################################################################################################### -------------------------------------------------------------------------------- /Forensic/ZIP Games/flag.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gleb-shnshn/CyberChallenge_WriteUp/6b351e50f38d1d352d7eaee184c9cb57f0939404/Forensic/ZIP Games/flag.zip -------------------------------------------------------------------------------- /Misc/Sanity Check/README.md: -------------------------------------------------------------------------------- 1 | # Sanity Check 2 | 3 | ## Задание 4 | 5 | В этой задаче необходимо всего лишь сдать флаг из условия: 6 | 7 | CC{What if the task description was the flag itself?} 8 | 9 | ## Решение 10 | 11 | Копируем флаг из задания и вставляем: **CC{What if the task description was the flag itself?}** -------------------------------------------------------------------------------- /PPC/Brutality/README.md: -------------------------------------------------------------------------------- 1 | # Brutality 2 | 3 | ## Задание 4 | 5 | Мы посчитали MD5-хеш от не очень длинного флага. Получилось 2FBBDC6A5FCF7B96B0B1BE4DD33F94A7. 6 | 7 | Обратную операцию произвести тоже легко, не правда ли? 8 | 9 | ## Решение 10 | 11 | Так как мы знаем что флаг формата **СС{_____}**, то это существенно облегчает задачу перебора, можно перебрать с помощью **brute.py** где-то за 2 мин 12 | 13 | В итоге получаем флаг: **CC{f0rc3}** -------------------------------------------------------------------------------- /PPC/Brutality/brute.py: -------------------------------------------------------------------------------- 1 | import hashlib 2 | 3 | need="2FBBDC6A5FCF7B96B0B1BE4DD33F94A7".lower() 4 | 5 | al="abcdefghijklomnopqrstuvwxyz_0123456789" 6 | 7 | fla="CC{" 8 | 9 | for i1 in al: 10 | for i2 in al: 11 | for i3 in al: 12 | for i4 in al: 13 | for i5 in al: 14 | flag=fla+i1+i2+i3+i4+i5+"}" 15 | if hashlib.md5(bytes(flag,"utf-8")).hexdigest()==need: 16 | print(flag) 17 | 18 | -------------------------------------------------------------------------------- /PPC/Prefix/Prefix.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gleb-shnshn/CyberChallenge_WriteUp/6b351e50f38d1d352d7eaee184c9cb57f0939404/PPC/Prefix/Prefix.png -------------------------------------------------------------------------------- /PPC/Prefix/README.md: -------------------------------------------------------------------------------- 1 | # Prefix 2 | 3 | ## Задание 4 | 5 | Подберите верный флаг. 6 | 7 | Для подключения к сервису воспользуйтесь утилитой netcat следующим образом: 8 | nc prefix.2018.cyberchallenge.ru 9001 9 | 10 | ## Решение 11 | 12 | Сервис отвечает Yes, если присланная строка является началом флага, зная это можно подобрать флаг с помощью **prefix.py** 13 | 14 | 16 | 17 | В итоге получаем флаг: **CC{too_s1mpl3_t0_brut3}** 18 | 19 | -------------------------------------------------------------------------------- /PPC/Prefix/prefix.py: -------------------------------------------------------------------------------- 1 | from socket import create_connection 2 | 3 | s = create_connection(("prefix.2018.cyberchallenge.ru", 9001)) 4 | st="abcdefghijklmnopqrstuvwxyz_0123456789}" 5 | flag1="CC{" 6 | t=s.recv(1024) 7 | while True: 8 | for i1 in st: 9 | flag=flag1+i1 10 | s.send(bytes(flag +'\n',"utf-8")) 11 | t=s.recv(1024) 12 | if t!=b'No\n> ': 13 | print(flag) 14 | flag1=flag 15 | break 16 | if flag1.endswith("}"): 17 | break 18 | -------------------------------------------------------------------------------- /PPC/Rainbow/README.md: -------------------------------------------------------------------------------- 1 | # Rainbow 2 | 3 | ## Задание 4 | 5 | Вот что бывает, когда радуга встречается со шредером. 6 | 7 | Попробуйте восстановить флаг из получившихся кусочков. 8 | 9 | ## Решение 10 | 11 | В прикрепленном архиве хранятся 128 изображений - кусочков радуги. Их можно отсортировать и склеить в одно при помощи скрипта **rainbow.py** 12 | Либо аналоговый вариант распечатать их и в жизни в руках отсортировать, это гораздо проще чем в Photoshop. 13 | 14 | 16 | 17 | В итоге из изображения выписываем флаг: **CC{1_7h1nk_l4dy_r41n1c0rn_w45_50m3wh3r3_h3r3}** 18 | 19 | -------------------------------------------------------------------------------- /PPC/Rainbow/final.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gleb-shnshn/CyberChallenge_WriteUp/6b351e50f38d1d352d7eaee184c9cb57f0939404/PPC/Rainbow/final.png -------------------------------------------------------------------------------- /PPC/Rainbow/pieces/0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gleb-shnshn/CyberChallenge_WriteUp/6b351e50f38d1d352d7eaee184c9cb57f0939404/PPC/Rainbow/pieces/0.png -------------------------------------------------------------------------------- /PPC/Rainbow/pieces/1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gleb-shnshn/CyberChallenge_WriteUp/6b351e50f38d1d352d7eaee184c9cb57f0939404/PPC/Rainbow/pieces/1.png -------------------------------------------------------------------------------- /PPC/Rainbow/pieces/10.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gleb-shnshn/CyberChallenge_WriteUp/6b351e50f38d1d352d7eaee184c9cb57f0939404/PPC/Rainbow/pieces/10.png -------------------------------------------------------------------------------- /PPC/Rainbow/pieces/100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gleb-shnshn/CyberChallenge_WriteUp/6b351e50f38d1d352d7eaee184c9cb57f0939404/PPC/Rainbow/pieces/100.png -------------------------------------------------------------------------------- /PPC/Rainbow/pieces/101.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gleb-shnshn/CyberChallenge_WriteUp/6b351e50f38d1d352d7eaee184c9cb57f0939404/PPC/Rainbow/pieces/101.png -------------------------------------------------------------------------------- /PPC/Rainbow/pieces/102.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gleb-shnshn/CyberChallenge_WriteUp/6b351e50f38d1d352d7eaee184c9cb57f0939404/PPC/Rainbow/pieces/102.png -------------------------------------------------------------------------------- /PPC/Rainbow/pieces/103.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gleb-shnshn/CyberChallenge_WriteUp/6b351e50f38d1d352d7eaee184c9cb57f0939404/PPC/Rainbow/pieces/103.png -------------------------------------------------------------------------------- /PPC/Rainbow/pieces/104.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gleb-shnshn/CyberChallenge_WriteUp/6b351e50f38d1d352d7eaee184c9cb57f0939404/PPC/Rainbow/pieces/104.png -------------------------------------------------------------------------------- /PPC/Rainbow/pieces/105.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gleb-shnshn/CyberChallenge_WriteUp/6b351e50f38d1d352d7eaee184c9cb57f0939404/PPC/Rainbow/pieces/105.png -------------------------------------------------------------------------------- /PPC/Rainbow/pieces/106.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gleb-shnshn/CyberChallenge_WriteUp/6b351e50f38d1d352d7eaee184c9cb57f0939404/PPC/Rainbow/pieces/106.png -------------------------------------------------------------------------------- /PPC/Rainbow/pieces/107.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gleb-shnshn/CyberChallenge_WriteUp/6b351e50f38d1d352d7eaee184c9cb57f0939404/PPC/Rainbow/pieces/107.png -------------------------------------------------------------------------------- /PPC/Rainbow/pieces/108.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gleb-shnshn/CyberChallenge_WriteUp/6b351e50f38d1d352d7eaee184c9cb57f0939404/PPC/Rainbow/pieces/108.png -------------------------------------------------------------------------------- /PPC/Rainbow/pieces/109.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gleb-shnshn/CyberChallenge_WriteUp/6b351e50f38d1d352d7eaee184c9cb57f0939404/PPC/Rainbow/pieces/109.png -------------------------------------------------------------------------------- /PPC/Rainbow/pieces/11.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gleb-shnshn/CyberChallenge_WriteUp/6b351e50f38d1d352d7eaee184c9cb57f0939404/PPC/Rainbow/pieces/11.png -------------------------------------------------------------------------------- /PPC/Rainbow/pieces/110.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gleb-shnshn/CyberChallenge_WriteUp/6b351e50f38d1d352d7eaee184c9cb57f0939404/PPC/Rainbow/pieces/110.png -------------------------------------------------------------------------------- /PPC/Rainbow/pieces/111.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gleb-shnshn/CyberChallenge_WriteUp/6b351e50f38d1d352d7eaee184c9cb57f0939404/PPC/Rainbow/pieces/111.png -------------------------------------------------------------------------------- /PPC/Rainbow/pieces/112.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gleb-shnshn/CyberChallenge_WriteUp/6b351e50f38d1d352d7eaee184c9cb57f0939404/PPC/Rainbow/pieces/112.png -------------------------------------------------------------------------------- /PPC/Rainbow/pieces/113.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gleb-shnshn/CyberChallenge_WriteUp/6b351e50f38d1d352d7eaee184c9cb57f0939404/PPC/Rainbow/pieces/113.png -------------------------------------------------------------------------------- /PPC/Rainbow/pieces/114.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gleb-shnshn/CyberChallenge_WriteUp/6b351e50f38d1d352d7eaee184c9cb57f0939404/PPC/Rainbow/pieces/114.png -------------------------------------------------------------------------------- /PPC/Rainbow/pieces/115.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gleb-shnshn/CyberChallenge_WriteUp/6b351e50f38d1d352d7eaee184c9cb57f0939404/PPC/Rainbow/pieces/115.png -------------------------------------------------------------------------------- /PPC/Rainbow/pieces/116.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gleb-shnshn/CyberChallenge_WriteUp/6b351e50f38d1d352d7eaee184c9cb57f0939404/PPC/Rainbow/pieces/116.png -------------------------------------------------------------------------------- /PPC/Rainbow/pieces/117.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gleb-shnshn/CyberChallenge_WriteUp/6b351e50f38d1d352d7eaee184c9cb57f0939404/PPC/Rainbow/pieces/117.png -------------------------------------------------------------------------------- /PPC/Rainbow/pieces/118.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gleb-shnshn/CyberChallenge_WriteUp/6b351e50f38d1d352d7eaee184c9cb57f0939404/PPC/Rainbow/pieces/118.png -------------------------------------------------------------------------------- /PPC/Rainbow/pieces/119.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gleb-shnshn/CyberChallenge_WriteUp/6b351e50f38d1d352d7eaee184c9cb57f0939404/PPC/Rainbow/pieces/119.png -------------------------------------------------------------------------------- /PPC/Rainbow/pieces/12.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gleb-shnshn/CyberChallenge_WriteUp/6b351e50f38d1d352d7eaee184c9cb57f0939404/PPC/Rainbow/pieces/12.png -------------------------------------------------------------------------------- /PPC/Rainbow/pieces/120.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gleb-shnshn/CyberChallenge_WriteUp/6b351e50f38d1d352d7eaee184c9cb57f0939404/PPC/Rainbow/pieces/120.png -------------------------------------------------------------------------------- /PPC/Rainbow/pieces/121.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gleb-shnshn/CyberChallenge_WriteUp/6b351e50f38d1d352d7eaee184c9cb57f0939404/PPC/Rainbow/pieces/121.png -------------------------------------------------------------------------------- /PPC/Rainbow/pieces/122.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gleb-shnshn/CyberChallenge_WriteUp/6b351e50f38d1d352d7eaee184c9cb57f0939404/PPC/Rainbow/pieces/122.png -------------------------------------------------------------------------------- /PPC/Rainbow/pieces/123.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gleb-shnshn/CyberChallenge_WriteUp/6b351e50f38d1d352d7eaee184c9cb57f0939404/PPC/Rainbow/pieces/123.png -------------------------------------------------------------------------------- /PPC/Rainbow/pieces/124.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gleb-shnshn/CyberChallenge_WriteUp/6b351e50f38d1d352d7eaee184c9cb57f0939404/PPC/Rainbow/pieces/124.png -------------------------------------------------------------------------------- /PPC/Rainbow/pieces/125.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gleb-shnshn/CyberChallenge_WriteUp/6b351e50f38d1d352d7eaee184c9cb57f0939404/PPC/Rainbow/pieces/125.png -------------------------------------------------------------------------------- /PPC/Rainbow/pieces/126.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gleb-shnshn/CyberChallenge_WriteUp/6b351e50f38d1d352d7eaee184c9cb57f0939404/PPC/Rainbow/pieces/126.png -------------------------------------------------------------------------------- /PPC/Rainbow/pieces/127.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gleb-shnshn/CyberChallenge_WriteUp/6b351e50f38d1d352d7eaee184c9cb57f0939404/PPC/Rainbow/pieces/127.png -------------------------------------------------------------------------------- /PPC/Rainbow/pieces/13.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gleb-shnshn/CyberChallenge_WriteUp/6b351e50f38d1d352d7eaee184c9cb57f0939404/PPC/Rainbow/pieces/13.png -------------------------------------------------------------------------------- /PPC/Rainbow/pieces/14.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gleb-shnshn/CyberChallenge_WriteUp/6b351e50f38d1d352d7eaee184c9cb57f0939404/PPC/Rainbow/pieces/14.png -------------------------------------------------------------------------------- /PPC/Rainbow/pieces/15.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gleb-shnshn/CyberChallenge_WriteUp/6b351e50f38d1d352d7eaee184c9cb57f0939404/PPC/Rainbow/pieces/15.png -------------------------------------------------------------------------------- /PPC/Rainbow/pieces/16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gleb-shnshn/CyberChallenge_WriteUp/6b351e50f38d1d352d7eaee184c9cb57f0939404/PPC/Rainbow/pieces/16.png -------------------------------------------------------------------------------- /PPC/Rainbow/pieces/17.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gleb-shnshn/CyberChallenge_WriteUp/6b351e50f38d1d352d7eaee184c9cb57f0939404/PPC/Rainbow/pieces/17.png -------------------------------------------------------------------------------- /PPC/Rainbow/pieces/18.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gleb-shnshn/CyberChallenge_WriteUp/6b351e50f38d1d352d7eaee184c9cb57f0939404/PPC/Rainbow/pieces/18.png -------------------------------------------------------------------------------- /PPC/Rainbow/pieces/19.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gleb-shnshn/CyberChallenge_WriteUp/6b351e50f38d1d352d7eaee184c9cb57f0939404/PPC/Rainbow/pieces/19.png -------------------------------------------------------------------------------- /PPC/Rainbow/pieces/2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gleb-shnshn/CyberChallenge_WriteUp/6b351e50f38d1d352d7eaee184c9cb57f0939404/PPC/Rainbow/pieces/2.png -------------------------------------------------------------------------------- /PPC/Rainbow/pieces/20.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gleb-shnshn/CyberChallenge_WriteUp/6b351e50f38d1d352d7eaee184c9cb57f0939404/PPC/Rainbow/pieces/20.png -------------------------------------------------------------------------------- /PPC/Rainbow/pieces/21.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gleb-shnshn/CyberChallenge_WriteUp/6b351e50f38d1d352d7eaee184c9cb57f0939404/PPC/Rainbow/pieces/21.png -------------------------------------------------------------------------------- /PPC/Rainbow/pieces/22.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gleb-shnshn/CyberChallenge_WriteUp/6b351e50f38d1d352d7eaee184c9cb57f0939404/PPC/Rainbow/pieces/22.png -------------------------------------------------------------------------------- /PPC/Rainbow/pieces/23.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gleb-shnshn/CyberChallenge_WriteUp/6b351e50f38d1d352d7eaee184c9cb57f0939404/PPC/Rainbow/pieces/23.png -------------------------------------------------------------------------------- /PPC/Rainbow/pieces/24.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gleb-shnshn/CyberChallenge_WriteUp/6b351e50f38d1d352d7eaee184c9cb57f0939404/PPC/Rainbow/pieces/24.png -------------------------------------------------------------------------------- /PPC/Rainbow/pieces/25.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gleb-shnshn/CyberChallenge_WriteUp/6b351e50f38d1d352d7eaee184c9cb57f0939404/PPC/Rainbow/pieces/25.png -------------------------------------------------------------------------------- /PPC/Rainbow/pieces/26.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gleb-shnshn/CyberChallenge_WriteUp/6b351e50f38d1d352d7eaee184c9cb57f0939404/PPC/Rainbow/pieces/26.png -------------------------------------------------------------------------------- /PPC/Rainbow/pieces/27.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gleb-shnshn/CyberChallenge_WriteUp/6b351e50f38d1d352d7eaee184c9cb57f0939404/PPC/Rainbow/pieces/27.png -------------------------------------------------------------------------------- /PPC/Rainbow/pieces/28.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gleb-shnshn/CyberChallenge_WriteUp/6b351e50f38d1d352d7eaee184c9cb57f0939404/PPC/Rainbow/pieces/28.png -------------------------------------------------------------------------------- /PPC/Rainbow/pieces/29.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gleb-shnshn/CyberChallenge_WriteUp/6b351e50f38d1d352d7eaee184c9cb57f0939404/PPC/Rainbow/pieces/29.png -------------------------------------------------------------------------------- /PPC/Rainbow/pieces/3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gleb-shnshn/CyberChallenge_WriteUp/6b351e50f38d1d352d7eaee184c9cb57f0939404/PPC/Rainbow/pieces/3.png -------------------------------------------------------------------------------- /PPC/Rainbow/pieces/30.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gleb-shnshn/CyberChallenge_WriteUp/6b351e50f38d1d352d7eaee184c9cb57f0939404/PPC/Rainbow/pieces/30.png -------------------------------------------------------------------------------- /PPC/Rainbow/pieces/31.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gleb-shnshn/CyberChallenge_WriteUp/6b351e50f38d1d352d7eaee184c9cb57f0939404/PPC/Rainbow/pieces/31.png -------------------------------------------------------------------------------- /PPC/Rainbow/pieces/32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gleb-shnshn/CyberChallenge_WriteUp/6b351e50f38d1d352d7eaee184c9cb57f0939404/PPC/Rainbow/pieces/32.png -------------------------------------------------------------------------------- /PPC/Rainbow/pieces/33.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gleb-shnshn/CyberChallenge_WriteUp/6b351e50f38d1d352d7eaee184c9cb57f0939404/PPC/Rainbow/pieces/33.png -------------------------------------------------------------------------------- /PPC/Rainbow/pieces/34.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gleb-shnshn/CyberChallenge_WriteUp/6b351e50f38d1d352d7eaee184c9cb57f0939404/PPC/Rainbow/pieces/34.png -------------------------------------------------------------------------------- /PPC/Rainbow/pieces/35.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gleb-shnshn/CyberChallenge_WriteUp/6b351e50f38d1d352d7eaee184c9cb57f0939404/PPC/Rainbow/pieces/35.png -------------------------------------------------------------------------------- /PPC/Rainbow/pieces/36.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gleb-shnshn/CyberChallenge_WriteUp/6b351e50f38d1d352d7eaee184c9cb57f0939404/PPC/Rainbow/pieces/36.png -------------------------------------------------------------------------------- /PPC/Rainbow/pieces/37.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gleb-shnshn/CyberChallenge_WriteUp/6b351e50f38d1d352d7eaee184c9cb57f0939404/PPC/Rainbow/pieces/37.png -------------------------------------------------------------------------------- /PPC/Rainbow/pieces/38.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gleb-shnshn/CyberChallenge_WriteUp/6b351e50f38d1d352d7eaee184c9cb57f0939404/PPC/Rainbow/pieces/38.png -------------------------------------------------------------------------------- /PPC/Rainbow/pieces/39.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gleb-shnshn/CyberChallenge_WriteUp/6b351e50f38d1d352d7eaee184c9cb57f0939404/PPC/Rainbow/pieces/39.png -------------------------------------------------------------------------------- /PPC/Rainbow/pieces/4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gleb-shnshn/CyberChallenge_WriteUp/6b351e50f38d1d352d7eaee184c9cb57f0939404/PPC/Rainbow/pieces/4.png -------------------------------------------------------------------------------- /PPC/Rainbow/pieces/40.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gleb-shnshn/CyberChallenge_WriteUp/6b351e50f38d1d352d7eaee184c9cb57f0939404/PPC/Rainbow/pieces/40.png -------------------------------------------------------------------------------- /PPC/Rainbow/pieces/41.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gleb-shnshn/CyberChallenge_WriteUp/6b351e50f38d1d352d7eaee184c9cb57f0939404/PPC/Rainbow/pieces/41.png -------------------------------------------------------------------------------- /PPC/Rainbow/pieces/42.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gleb-shnshn/CyberChallenge_WriteUp/6b351e50f38d1d352d7eaee184c9cb57f0939404/PPC/Rainbow/pieces/42.png -------------------------------------------------------------------------------- /PPC/Rainbow/pieces/43.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gleb-shnshn/CyberChallenge_WriteUp/6b351e50f38d1d352d7eaee184c9cb57f0939404/PPC/Rainbow/pieces/43.png -------------------------------------------------------------------------------- /PPC/Rainbow/pieces/44.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gleb-shnshn/CyberChallenge_WriteUp/6b351e50f38d1d352d7eaee184c9cb57f0939404/PPC/Rainbow/pieces/44.png -------------------------------------------------------------------------------- /PPC/Rainbow/pieces/45.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gleb-shnshn/CyberChallenge_WriteUp/6b351e50f38d1d352d7eaee184c9cb57f0939404/PPC/Rainbow/pieces/45.png -------------------------------------------------------------------------------- /PPC/Rainbow/pieces/46.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gleb-shnshn/CyberChallenge_WriteUp/6b351e50f38d1d352d7eaee184c9cb57f0939404/PPC/Rainbow/pieces/46.png -------------------------------------------------------------------------------- /PPC/Rainbow/pieces/47.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gleb-shnshn/CyberChallenge_WriteUp/6b351e50f38d1d352d7eaee184c9cb57f0939404/PPC/Rainbow/pieces/47.png -------------------------------------------------------------------------------- /PPC/Rainbow/pieces/48.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gleb-shnshn/CyberChallenge_WriteUp/6b351e50f38d1d352d7eaee184c9cb57f0939404/PPC/Rainbow/pieces/48.png -------------------------------------------------------------------------------- /PPC/Rainbow/pieces/49.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gleb-shnshn/CyberChallenge_WriteUp/6b351e50f38d1d352d7eaee184c9cb57f0939404/PPC/Rainbow/pieces/49.png -------------------------------------------------------------------------------- /PPC/Rainbow/pieces/5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gleb-shnshn/CyberChallenge_WriteUp/6b351e50f38d1d352d7eaee184c9cb57f0939404/PPC/Rainbow/pieces/5.png -------------------------------------------------------------------------------- /PPC/Rainbow/pieces/50.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gleb-shnshn/CyberChallenge_WriteUp/6b351e50f38d1d352d7eaee184c9cb57f0939404/PPC/Rainbow/pieces/50.png -------------------------------------------------------------------------------- /PPC/Rainbow/pieces/51.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gleb-shnshn/CyberChallenge_WriteUp/6b351e50f38d1d352d7eaee184c9cb57f0939404/PPC/Rainbow/pieces/51.png -------------------------------------------------------------------------------- /PPC/Rainbow/pieces/52.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gleb-shnshn/CyberChallenge_WriteUp/6b351e50f38d1d352d7eaee184c9cb57f0939404/PPC/Rainbow/pieces/52.png -------------------------------------------------------------------------------- /PPC/Rainbow/pieces/53.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gleb-shnshn/CyberChallenge_WriteUp/6b351e50f38d1d352d7eaee184c9cb57f0939404/PPC/Rainbow/pieces/53.png -------------------------------------------------------------------------------- /PPC/Rainbow/pieces/54.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gleb-shnshn/CyberChallenge_WriteUp/6b351e50f38d1d352d7eaee184c9cb57f0939404/PPC/Rainbow/pieces/54.png -------------------------------------------------------------------------------- /PPC/Rainbow/pieces/55.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gleb-shnshn/CyberChallenge_WriteUp/6b351e50f38d1d352d7eaee184c9cb57f0939404/PPC/Rainbow/pieces/55.png -------------------------------------------------------------------------------- /PPC/Rainbow/pieces/56.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gleb-shnshn/CyberChallenge_WriteUp/6b351e50f38d1d352d7eaee184c9cb57f0939404/PPC/Rainbow/pieces/56.png -------------------------------------------------------------------------------- /PPC/Rainbow/pieces/57.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gleb-shnshn/CyberChallenge_WriteUp/6b351e50f38d1d352d7eaee184c9cb57f0939404/PPC/Rainbow/pieces/57.png -------------------------------------------------------------------------------- /PPC/Rainbow/pieces/58.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gleb-shnshn/CyberChallenge_WriteUp/6b351e50f38d1d352d7eaee184c9cb57f0939404/PPC/Rainbow/pieces/58.png -------------------------------------------------------------------------------- /PPC/Rainbow/pieces/59.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gleb-shnshn/CyberChallenge_WriteUp/6b351e50f38d1d352d7eaee184c9cb57f0939404/PPC/Rainbow/pieces/59.png -------------------------------------------------------------------------------- /PPC/Rainbow/pieces/6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gleb-shnshn/CyberChallenge_WriteUp/6b351e50f38d1d352d7eaee184c9cb57f0939404/PPC/Rainbow/pieces/6.png -------------------------------------------------------------------------------- /PPC/Rainbow/pieces/60.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gleb-shnshn/CyberChallenge_WriteUp/6b351e50f38d1d352d7eaee184c9cb57f0939404/PPC/Rainbow/pieces/60.png -------------------------------------------------------------------------------- /PPC/Rainbow/pieces/61.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gleb-shnshn/CyberChallenge_WriteUp/6b351e50f38d1d352d7eaee184c9cb57f0939404/PPC/Rainbow/pieces/61.png -------------------------------------------------------------------------------- /PPC/Rainbow/pieces/62.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gleb-shnshn/CyberChallenge_WriteUp/6b351e50f38d1d352d7eaee184c9cb57f0939404/PPC/Rainbow/pieces/62.png -------------------------------------------------------------------------------- /PPC/Rainbow/pieces/63.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gleb-shnshn/CyberChallenge_WriteUp/6b351e50f38d1d352d7eaee184c9cb57f0939404/PPC/Rainbow/pieces/63.png -------------------------------------------------------------------------------- /PPC/Rainbow/pieces/64.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gleb-shnshn/CyberChallenge_WriteUp/6b351e50f38d1d352d7eaee184c9cb57f0939404/PPC/Rainbow/pieces/64.png -------------------------------------------------------------------------------- /PPC/Rainbow/pieces/65.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gleb-shnshn/CyberChallenge_WriteUp/6b351e50f38d1d352d7eaee184c9cb57f0939404/PPC/Rainbow/pieces/65.png -------------------------------------------------------------------------------- /PPC/Rainbow/pieces/66.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gleb-shnshn/CyberChallenge_WriteUp/6b351e50f38d1d352d7eaee184c9cb57f0939404/PPC/Rainbow/pieces/66.png -------------------------------------------------------------------------------- /PPC/Rainbow/pieces/67.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gleb-shnshn/CyberChallenge_WriteUp/6b351e50f38d1d352d7eaee184c9cb57f0939404/PPC/Rainbow/pieces/67.png -------------------------------------------------------------------------------- /PPC/Rainbow/pieces/68.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gleb-shnshn/CyberChallenge_WriteUp/6b351e50f38d1d352d7eaee184c9cb57f0939404/PPC/Rainbow/pieces/68.png -------------------------------------------------------------------------------- /PPC/Rainbow/pieces/69.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gleb-shnshn/CyberChallenge_WriteUp/6b351e50f38d1d352d7eaee184c9cb57f0939404/PPC/Rainbow/pieces/69.png -------------------------------------------------------------------------------- /PPC/Rainbow/pieces/7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gleb-shnshn/CyberChallenge_WriteUp/6b351e50f38d1d352d7eaee184c9cb57f0939404/PPC/Rainbow/pieces/7.png -------------------------------------------------------------------------------- /PPC/Rainbow/pieces/70.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gleb-shnshn/CyberChallenge_WriteUp/6b351e50f38d1d352d7eaee184c9cb57f0939404/PPC/Rainbow/pieces/70.png -------------------------------------------------------------------------------- /PPC/Rainbow/pieces/71.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gleb-shnshn/CyberChallenge_WriteUp/6b351e50f38d1d352d7eaee184c9cb57f0939404/PPC/Rainbow/pieces/71.png -------------------------------------------------------------------------------- /PPC/Rainbow/pieces/72.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gleb-shnshn/CyberChallenge_WriteUp/6b351e50f38d1d352d7eaee184c9cb57f0939404/PPC/Rainbow/pieces/72.png -------------------------------------------------------------------------------- /PPC/Rainbow/pieces/73.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gleb-shnshn/CyberChallenge_WriteUp/6b351e50f38d1d352d7eaee184c9cb57f0939404/PPC/Rainbow/pieces/73.png -------------------------------------------------------------------------------- /PPC/Rainbow/pieces/74.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gleb-shnshn/CyberChallenge_WriteUp/6b351e50f38d1d352d7eaee184c9cb57f0939404/PPC/Rainbow/pieces/74.png -------------------------------------------------------------------------------- /PPC/Rainbow/pieces/75.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gleb-shnshn/CyberChallenge_WriteUp/6b351e50f38d1d352d7eaee184c9cb57f0939404/PPC/Rainbow/pieces/75.png -------------------------------------------------------------------------------- /PPC/Rainbow/pieces/76.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gleb-shnshn/CyberChallenge_WriteUp/6b351e50f38d1d352d7eaee184c9cb57f0939404/PPC/Rainbow/pieces/76.png -------------------------------------------------------------------------------- /PPC/Rainbow/pieces/77.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gleb-shnshn/CyberChallenge_WriteUp/6b351e50f38d1d352d7eaee184c9cb57f0939404/PPC/Rainbow/pieces/77.png -------------------------------------------------------------------------------- /PPC/Rainbow/pieces/78.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gleb-shnshn/CyberChallenge_WriteUp/6b351e50f38d1d352d7eaee184c9cb57f0939404/PPC/Rainbow/pieces/78.png -------------------------------------------------------------------------------- /PPC/Rainbow/pieces/79.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gleb-shnshn/CyberChallenge_WriteUp/6b351e50f38d1d352d7eaee184c9cb57f0939404/PPC/Rainbow/pieces/79.png -------------------------------------------------------------------------------- /PPC/Rainbow/pieces/8.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gleb-shnshn/CyberChallenge_WriteUp/6b351e50f38d1d352d7eaee184c9cb57f0939404/PPC/Rainbow/pieces/8.png -------------------------------------------------------------------------------- /PPC/Rainbow/pieces/80.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gleb-shnshn/CyberChallenge_WriteUp/6b351e50f38d1d352d7eaee184c9cb57f0939404/PPC/Rainbow/pieces/80.png -------------------------------------------------------------------------------- /PPC/Rainbow/pieces/81.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gleb-shnshn/CyberChallenge_WriteUp/6b351e50f38d1d352d7eaee184c9cb57f0939404/PPC/Rainbow/pieces/81.png -------------------------------------------------------------------------------- /PPC/Rainbow/pieces/82.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gleb-shnshn/CyberChallenge_WriteUp/6b351e50f38d1d352d7eaee184c9cb57f0939404/PPC/Rainbow/pieces/82.png -------------------------------------------------------------------------------- /PPC/Rainbow/pieces/83.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gleb-shnshn/CyberChallenge_WriteUp/6b351e50f38d1d352d7eaee184c9cb57f0939404/PPC/Rainbow/pieces/83.png -------------------------------------------------------------------------------- /PPC/Rainbow/pieces/84.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gleb-shnshn/CyberChallenge_WriteUp/6b351e50f38d1d352d7eaee184c9cb57f0939404/PPC/Rainbow/pieces/84.png -------------------------------------------------------------------------------- /PPC/Rainbow/pieces/85.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gleb-shnshn/CyberChallenge_WriteUp/6b351e50f38d1d352d7eaee184c9cb57f0939404/PPC/Rainbow/pieces/85.png -------------------------------------------------------------------------------- /PPC/Rainbow/pieces/86.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gleb-shnshn/CyberChallenge_WriteUp/6b351e50f38d1d352d7eaee184c9cb57f0939404/PPC/Rainbow/pieces/86.png -------------------------------------------------------------------------------- /PPC/Rainbow/pieces/87.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gleb-shnshn/CyberChallenge_WriteUp/6b351e50f38d1d352d7eaee184c9cb57f0939404/PPC/Rainbow/pieces/87.png -------------------------------------------------------------------------------- /PPC/Rainbow/pieces/88.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gleb-shnshn/CyberChallenge_WriteUp/6b351e50f38d1d352d7eaee184c9cb57f0939404/PPC/Rainbow/pieces/88.png -------------------------------------------------------------------------------- /PPC/Rainbow/pieces/89.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gleb-shnshn/CyberChallenge_WriteUp/6b351e50f38d1d352d7eaee184c9cb57f0939404/PPC/Rainbow/pieces/89.png -------------------------------------------------------------------------------- /PPC/Rainbow/pieces/9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gleb-shnshn/CyberChallenge_WriteUp/6b351e50f38d1d352d7eaee184c9cb57f0939404/PPC/Rainbow/pieces/9.png -------------------------------------------------------------------------------- /PPC/Rainbow/pieces/90.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gleb-shnshn/CyberChallenge_WriteUp/6b351e50f38d1d352d7eaee184c9cb57f0939404/PPC/Rainbow/pieces/90.png -------------------------------------------------------------------------------- /PPC/Rainbow/pieces/91.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gleb-shnshn/CyberChallenge_WriteUp/6b351e50f38d1d352d7eaee184c9cb57f0939404/PPC/Rainbow/pieces/91.png -------------------------------------------------------------------------------- /PPC/Rainbow/pieces/92.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gleb-shnshn/CyberChallenge_WriteUp/6b351e50f38d1d352d7eaee184c9cb57f0939404/PPC/Rainbow/pieces/92.png -------------------------------------------------------------------------------- /PPC/Rainbow/pieces/93.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gleb-shnshn/CyberChallenge_WriteUp/6b351e50f38d1d352d7eaee184c9cb57f0939404/PPC/Rainbow/pieces/93.png -------------------------------------------------------------------------------- /PPC/Rainbow/pieces/94.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gleb-shnshn/CyberChallenge_WriteUp/6b351e50f38d1d352d7eaee184c9cb57f0939404/PPC/Rainbow/pieces/94.png -------------------------------------------------------------------------------- /PPC/Rainbow/pieces/95.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gleb-shnshn/CyberChallenge_WriteUp/6b351e50f38d1d352d7eaee184c9cb57f0939404/PPC/Rainbow/pieces/95.png -------------------------------------------------------------------------------- /PPC/Rainbow/pieces/96.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gleb-shnshn/CyberChallenge_WriteUp/6b351e50f38d1d352d7eaee184c9cb57f0939404/PPC/Rainbow/pieces/96.png -------------------------------------------------------------------------------- /PPC/Rainbow/pieces/97.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gleb-shnshn/CyberChallenge_WriteUp/6b351e50f38d1d352d7eaee184c9cb57f0939404/PPC/Rainbow/pieces/97.png -------------------------------------------------------------------------------- /PPC/Rainbow/pieces/98.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gleb-shnshn/CyberChallenge_WriteUp/6b351e50f38d1d352d7eaee184c9cb57f0939404/PPC/Rainbow/pieces/98.png -------------------------------------------------------------------------------- /PPC/Rainbow/pieces/99.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gleb-shnshn/CyberChallenge_WriteUp/6b351e50f38d1d352d7eaee184c9cb57f0939404/PPC/Rainbow/pieces/99.png -------------------------------------------------------------------------------- /PPC/Rainbow/rainbow.py: -------------------------------------------------------------------------------- 1 | import colorsys 2 | from PIL import Image 3 | 4 | def get_hsv(hexrgb): 5 | hexrgb=hexrgb[0] 6 | hexrgb = hexrgb.lstrip("#") 7 | r, g, b = (int(hexrgb[i:i+2], 16) / 255.0 for i in range(0,5,2)) 8 | return colorsys.rgb_to_hsv(r, g, b) 9 | 10 | 11 | img = Image.new('RGBA', (44*128, 224)) 12 | 13 | def get_hex_from_rgb(t): 14 | a=hex(t[0])[2:] 15 | a=(2-len(a))*"0"+a 16 | b=hex(t[1])[2:] 17 | b=(2-len(b))*"0"+b 18 | c=hex(t[2])[2:] 19 | c=(2-len(c))*"0"+c 20 | return a+b+c 21 | 22 | color_list=[] 23 | 24 | for i in range(0,128): 25 | img1=Image.open("pieces/"+str(i)+".png") 26 | color_list.append((get_hex_from_rgb(img1.getpixel((20,20))),i)) 27 | color_list.sort(key=get_hsv) 28 | 29 | k=0 30 | 31 | for i in color_list: 32 | img2=Image.open("pieces/"+str(i[1])+".png") 33 | img.paste(img2, (44*k,0)) 34 | k+=1 35 | img.save("final.png") 36 | -------------------------------------------------------------------------------- /PPC/Tic-Tac-Toe/README.md: -------------------------------------------------------------------------------- 1 | # Tic-Tac-Toe 2 | 3 | ## Задание 4 | 5 | Обыграйте наш искусственный интеллект в крестики-нолики, чтобы получить флаг. 6 | 7 | Для подключения к сервису воспользуйтесь утилитой netcat следующим образом: 8 | nc tictactoe.2018.cyberchallenge.ru 9002 9 | 10 | ## Решение 11 | 12 | Используем онлайн сервис для получения api, подгоняем ответы сервера под api, и тогда с помощью **tictactoe.py** , можно запустить игру между двумя ботами 13 | Но, т.к. API не совершенно, то иногда бот проигрывает, скрипт автоматически перезапускается, через какое-то время(когда бот сможет 100 раз выиграть подряд) получаем флаг. 14 | Также можно запустить на чтобы ускорить процесс. 15 | 16 | 17 | 19 | 20 | В итоге получаем флаг: **CC{i06CpqBKUok_good_boiiii}** -------------------------------------------------------------------------------- /PPC/Tic-Tac-Toe/TicTacToe.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gleb-shnshn/CyberChallenge_WriteUp/6b351e50f38d1d352d7eaee184c9cb57f0939404/PPC/Tic-Tac-Toe/TicTacToe.png -------------------------------------------------------------------------------- /PPC/Tic-Tac-Toe/tictactoe.py: -------------------------------------------------------------------------------- 1 | import requests 2 | from socket import create_connection 3 | import json 4 | 5 | def game(): 6 | s = create_connection(("tictactoe.2018.cyberchallenge.ru", 9002)) 7 | player="X" 8 | a=0 9 | t=s.recv(1024) 10 | print(str(t,"utf-8")) 11 | k=0 12 | s.send(bytes("0 0"+"\n","utf-8")) 13 | state="X--------" 14 | while a==0: 15 | t=s.recv(1024) 16 | if k>98: 17 | print(str(t,"utf-8")) 18 | if "x y" not in str(t,"utf-8") or "go" in str(t,"utf-8") : 19 | print(str(t,"utf-8")) 20 | if "loosers" in str(t,"utf-8"): 21 | a=1 22 | break 23 | t=str(t,"utf-8") 24 | if "." in t: 25 | t=t[t.index(".")+1:] 26 | t=bytes(t,"utf-8") 27 | else: 28 | print(t) 29 | k+=1 30 | print(k) 31 | state = str(t,"utf-8").replace("\n","").replace("-","").replace(">","").replace("x y","").replace(" ","").replace("0","").replace("1","").replace("2","").replace("o","O").replace("x","X").replace("_","-") 32 | 33 | response = requests.get("https://stujo-tic-tac-toe-stujo-v1.p.mashape.com/"+state+"/"+player, 34 | headers={ 35 | "X-Mashape-Key": "place for your api key", 36 | "Accept": "application/json" 37 | } 38 | ) 39 | resp_rec=json.loads(response.text)["recommendation"] 40 | x=resp_rec//3 41 | y=resp_rec%3 42 | s.send(bytes(str(x)+" "+str(y)+"\n","utf-8")) 43 | return 0 44 | while game()==0: pass 45 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # CyberChallenge WriteUp 2 | 3 | Самый полный подробный разбор олимпиады в формате CTF CyberChallenge / КиберВызов 4 | 5 | ## [Forensic](Forensic) 6 | [Demons](Forensic/Demons) 7 | 8 | [Intercepted](Forensic/Intercepted) 9 | 10 | [Some Tricky File](Forensic/Some%20Tricky%20File) 11 | 12 | [ZIP Games](Forensic/ZIP%20Games) 13 | 14 | 15 | ## [Crypto](Crypto) 16 | [Big Text](Crypto/Big%20Text) 17 | 18 | [One Time](Crypto/One%20Time) 19 | 20 | [Uroboros](Crypto/Uroboros) 21 | 22 | [Uroboros 2](Crypto/Uroboros%202) 23 | 24 | ## [Misc](Misc) 25 | [Sanity Check](Misc/Sanity%20Check) 26 | 27 | ## [PPC](PPC) 28 | [Prefix](PPC/Prefix) 29 | 30 | [Rainbow](PPC/Rainbow) 31 | 32 | [Brutality](PPC/Brutality) 33 | 34 | [Tic-Tac-Toe](PPC/Tic-Tac-Toe) 35 | 36 | ## [Reverse](Reverse) 37 | [Brain Damage](Reverse/Brain%20Damage) 38 | 39 | [Broken](Reverse/Broken) 40 | 41 | [Cobra](Reverse/Cobra) 42 | 43 | [Flag Checker](Reverse/Flag%20Checker) 44 | 45 | [Long Snek](Reverse/Long%20Snek) 46 | 47 | [Time Loop](Reverse/Time%20Loop) 48 | 49 | ## [Stegano](Stegano) 50 | 51 | [Difference](Stegano/Difference) 52 | 53 | [The End](Stegano/The%20End) 54 | 55 | ## [Web](Web) 56 | 57 | [Another Day](Web/Another%20Day) 58 | 59 | [Converter](Web/Converter) 60 | 61 | [Cookie Monster](Web/Cookie%20Monster) 62 | 63 | [ImageBox](Web/ImageBox) 64 | 65 | [ImageBox 2](Web/ImageBox%202) 66 | 67 | [JSt Do It](Web/JSt%20Do%20It) 68 | 69 | [Just Add](Web/Just%20Add) 70 | 71 | [Kavichka](Web/Kavichka) 72 | 73 | [No Comments](Web/No%20Comments) 74 | 75 | [Octocat](Web/Octocat) 76 | 77 | [Porter](Web/Porter) 78 | 79 | [Router](Web/Router) 80 | 81 | [Silmaril Store 2](Web/Silmaril%20Store%202) 82 | 83 | [Silmaril Store](Web/Silmaril%20Store) 84 | -------------------------------------------------------------------------------- /Reverse/Brain Damage/BD.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gleb-shnshn/CyberChallenge_WriteUp/6b351e50f38d1d352d7eaee184c9cb57f0939404/Reverse/Brain Damage/BD.png -------------------------------------------------------------------------------- /Reverse/Brain Damage/README.md: -------------------------------------------------------------------------------- 1 | # Brain Damage 2 | 3 | ## Задание 4 | 5 | Друг скинул мне этот текст вместе с улыбающимся смайликом. Хорошо зная своего друга, я предполагаю, что для раскрытия загадки этого сообщения нужно напрячь мозги на полную катушку. И хотя я уже потратил много времени на поиски решения, ничего больше странных символов и некоторой структуры в их расположении мне увидеть не удалось. Мне очень бы помогло, если бы вы хотя бы сказали мне, что представляет из себя этот текст... 6 | 7 | ## Решение 8 | 9 | Прикрепленный файл **prog.txt** это программа на языке BrainFuck, это можно было понять либо по названию задания, либо загуглив строчку. 10 | 11 | При попытке скомпилировать, например, здесь получаем строку haha no flag here 12 | 13 | Использовав отладчик здесь можно заметить бесконечный цикл в середине программы, тогда 2 варианта либо добавить >. перед бесконечным циклом либо удалить начало до цикла. 14 | 15 | 17 | 18 | В любом случае, получаем флаг: **CC{Br4inf0ck_ta5k_num_57123849}** -------------------------------------------------------------------------------- /Reverse/Brain Damage/prog.txt: -------------------------------------------------------------------------------- 1 | +[----->+++<]>+.-------.+++++++.-------.-[->+++<]>.+[----->+<]>+.+.[--->+<]>---- 2 | -.++[->+++<]>.++++++.-----------.++++++.-[--->+<]>--.-[--->++<]>--.---.+++++++++ 3 | ++++.-------------.[++>-+<-+--]++++[++++>---<]>..-----[->++<]>-.+[-->+<]>++++.-- 4 | -[----->+<]>-.[-->+<]>-----.[->++<]>+.+++++.--------.[->+++<]>--.+[->++<]>+.++++ 5 | ++++.------------.[--->+<]>-.+[->+++<]>++.+[-->+<]>++++.[->++<]>+.------------.+ 6 | ++++++++++++++.+++++++.--------.--------------.-[->++++++<]>+.++.------.+.+.++++ 7 | +.----.+++++.+[--->++<]>+.>+++++<>>+[+] -------------------------------------------------------------------------------- /Reverse/Broken/README.md: -------------------------------------------------------------------------------- 1 | # Broken 2 | 3 | ## Задание 4 | 5 | У нас есть программа, которая расшифровывает и выводит флаг в консоль — **decrypt_flag**. Но разработчики все перепутали, и теперь вместо расшифрованного флага она выдает что-то непонятное. Правильный декриптор флага мы все-таки нашли и собрали его в отдельную библиотеку — **libdecrypt_good.so**. Как бы теперь заставить все работать? 6 | 7 | Обратите внимание, что исполняемый файл **decrypt_flag** предназначен для запуска под операционной системой семейства GNU/Linux. 8 | 9 | ## Решение 10 | 11 | Чиним прикрепленный файл **decrypt_flag** через переменные окружения вбив в командную строку Linux 12 | 13 | **LD_PRELOAD=libdecrypt_good.so LD_LIBRARY_PATH=. ./decrypt_flag** 14 | 15 | Получаем флаг: **CC{m4k3_d3cryp710n_6r347_4641n!}** 16 | -------------------------------------------------------------------------------- /Reverse/Broken/decrypt_flag: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gleb-shnshn/CyberChallenge_WriteUp/6b351e50f38d1d352d7eaee184c9cb57f0939404/Reverse/Broken/decrypt_flag -------------------------------------------------------------------------------- /Reverse/Broken/libdecrypt.so: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gleb-shnshn/CyberChallenge_WriteUp/6b351e50f38d1d352d7eaee184c9cb57f0939404/Reverse/Broken/libdecrypt.so -------------------------------------------------------------------------------- /Reverse/Broken/libdecrypt_good.so: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gleb-shnshn/CyberChallenge_WriteUp/6b351e50f38d1d352d7eaee184c9cb57f0939404/Reverse/Broken/libdecrypt_good.so -------------------------------------------------------------------------------- /Reverse/Cobra/README.md: -------------------------------------------------------------------------------- 1 | # Cobra 2 | 3 | ## Задание 4 | 5 | В диких условиях продолжительность жизни кобр составляет в среднем 20 лет. Но у тебя есть всего 5 дней, чтобы решить эту задачу. 6 | 7 | ## Решение 8 | 9 | Прикрепленный файл **cobra.py** в котором используется библиотека **marshal**, которая (де-)сериализует код программ. 10 | 11 | Если попробуем вывести объект полученный **marshal.loads()** , то увидим, что это **code object** , погуглив библиотеки для декомпилирования code object, находим **uncompyle6** 12 | Используем **uncompyle6.deparse_code2str(code_object)** 13 | 14 | Получаем читаемый код **cobra_deserialized.py**, в котором видно, что **serial** считается **eval** от строчек '1790 + 1543', '1234 * 3', '9999 - 1337', '2048 // 2', '3 ** 8'. 15 | 16 | Вводим посчитанные выражения через '-', т.е **3333-3702-8662-1024-6561** 17 | 18 | Получаем флаг: **CC{1_60774_5uch_4_l0n6_5n4k3}** -------------------------------------------------------------------------------- /Reverse/Cobra/cobra.py: -------------------------------------------------------------------------------- 1 | import base64 2 | import marshal 3 | 4 | s = 'YwAAAAAAAAAAAgAAAEAAAABzWAAAAGQAAGQBAGwAAG0BAFoBAAFkAABkAgBsAgBaAgBkAwCEAABaAwBkBACEAABaBABlBQBkBQCDAQBaBgBlAwBlBgCDAQByVABlBABlBgCDAQBHSG4AAGQCAFMoBgAAAGn/////KAEAAAB0AwAAAEFFU05jAQAAAAQAAAAFAAAAQwAAAHNfAAAAZAEAZAIAZAMAZAQAZAUAZwUAfQEAeEMAdAAAfAAAagEAZAYAgwEAgwEARF0sAFwCAH0CAH0DAHQCAHwBAHwCABmDAQB0AwB8AwCDAQBrAwByKwB0BABTcSsAV3QFAFMoBwAAAE5zCwAAADE3OTAgKyAxNTQzcwgAAAAxMjM0ICogM3MLAAAAOTk5OSAtIDEzMzdzCQAAADIwNDggLy8gMnMGAAAAMyAqKiA4dAEAAAAtKAYAAAB0CQAAAGVudW1lcmF0ZXQFAAAAc3BsaXR0BAAAAGV2YWx0AwAAAGludHQFAAAARmFsc2V0BAAAAFRydWUoBAAAAHQGAAAAc2VyaWFsdAsAAABleHByZXNzaW9uc3QFAAAAaW5kZXh0BQAAAHZhbHVlKAAAAAAoAAAAAHMIAAAAPHN0cmluZz50BQAAAGNoZWNrBgAAAHMKAAAAAAEVASIBHAEIAWMBAAAAAwAAAAMAAABDAAAAczcAAAB0AABqAQB8AAB0AABqAgCDAgB9AQB8AQBqAwB0BABqBQBkAQCDAQCDAQB9AgB8AgBqBgCDAABTKAIAAABOcywAAAAwUDhwVjBHNldscVV4dXVLTmsreTRONVBUZmFtR0FsbjlnRGhYRHhpNXJNPSgHAAAAUgAAAAB0AwAAAG5ld3QIAAAATU9ERV9FQ0J0BwAAAGRlY3J5cHR0BgAAAGJhc2U2NHQJAAAAYjY0ZGVjb2RldAUAAABzdHJpcCgDAAAAUggAAAB0BgAAAGNpcGhlcnQHAAAAZGVjb2RlZCgAAAAAKAAAAABzCAAAADxzdHJpbmc+dA0AAABnZW5lcmF0ZV9mbGFnDQAAAHMGAAAAAAEVARgBcw4AAABlbnRlciBzZXJpYWw6ICgHAAAAdA0AAABDcnlwdG8uQ2lwaGVyUgAAAABSEAAAAFIMAAAAUhUAAAB0CQAAAHJhd19pbnB1dFIIAAAAKAAAAAAoAAAAACgAAAAAcwgAAAA8c3RyaW5nPnQIAAAAPG1vZHVsZT4DAAAAcwwAAAAQAQwCCQcJBQwBDAE=' 5 | exec(marshal.loads(base64.b64decode(s))) 6 | -------------------------------------------------------------------------------- /Reverse/Cobra/cobra_deserialized.py: -------------------------------------------------------------------------------- 1 | from Crypto.Cipher import AES 2 | import base64 3 | 4 | def check(serial): 5 | expressions = [ 6 | '1790 + 1543', '1234 * 3', '9999 - 1337', '2048 // 2', '3 ** 8'] 7 | for index, value in enumerate(serial.split('-')): 8 | if eval(expressions[index]) != int(value): 9 | return False 10 | 11 | return True 12 | 13 | 14 | def generate_flag(serial): 15 | cipher = AES.new(serial, AES.MODE_ECB) 16 | decoded = cipher.decrypt(base64.b64decode('0P8pV0G6WlqUxuuKNk+y4N5PTfamGAln9gDhXDxi5rM=')) 17 | return decoded.strip() 18 | 19 | 20 | serial = raw_input('enter serial: ') 21 | if check(serial): 22 | print generate_flag(serial) 23 | -------------------------------------------------------------------------------- /Reverse/Flag Checker/FC_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gleb-shnshn/CyberChallenge_WriteUp/6b351e50f38d1d352d7eaee184c9cb57f0939404/Reverse/Flag Checker/FC_1.png -------------------------------------------------------------------------------- /Reverse/Flag Checker/FC_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gleb-shnshn/CyberChallenge_WriteUp/6b351e50f38d1d352d7eaee184c9cb57f0939404/Reverse/Flag Checker/FC_2.png -------------------------------------------------------------------------------- /Reverse/Flag Checker/README.md: -------------------------------------------------------------------------------- 1 | # Flag Checker 2 | 3 | ## Задание 4 | 5 | Подберите правильный флаг к данной программе. 6 | 7 | ## Решение 8 | 9 | Прикрепленный файл **flag_checker.exe** можно просто открыть в блокноте и найти флаг. 10 | 11 | 13 | 14 | Либо чуть умнее с помощью IDA Pro и Hex-Rays, тогда код становится более читабельным 15 | 16 | 18 | 19 | В любом случае, получаем флаг: **CC{W3ll_th1s_is_th3_r1ght_flag}** -------------------------------------------------------------------------------- /Reverse/Flag Checker/flag_checker.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gleb-shnshn/CyberChallenge_WriteUp/6b351e50f38d1d352d7eaee184c9cb57f0939404/Reverse/Flag Checker/flag_checker.exe -------------------------------------------------------------------------------- /Reverse/Long Snek/README.md: -------------------------------------------------------------------------------- 1 | # Long Snek 2 | 3 | ## Задание 4 | 5 | Мои занятия по лингвистике не прошли даром — я достаточно быстро смог понять, что язык, на котором написан этот текст, представляет собой не что иное, как парселтанг. К сожалению, найти словарь для него мне не удалось, и никто из моих друзей не обладает познаниями в этом языке. Жаль, ведь очень хочется понять смысл этого послания. 6 | 7 | ## Решение 8 | 9 | Прикрепленный файл **long_snek.py** необходимо постепенно декодировать, сначале перевернуть строку, потом раскодировать через **base85**, потом **шифр Цезаря**, потом **base32**, потом **unhex**, потом **base64** 10 | 11 | Постепенно получаем **print(["Bad","Good"][int(input() == "CC{Maybe_long_but_not_so_wise_snek}")])** 12 | 13 | Получаем флаг: **CC{Maybe_long_but_not_so_wise_snek}** -------------------------------------------------------------------------------- /Reverse/Long Snek/long_snek.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python3 2 | exec("""))'''ALkFbIzIDWE}vJ=`}vJ?ehgP>fRpMXe4yS(`@HO|F;5SGcG)GsLhMM;cf-OzbU4SX'''(cеxe(cexe;cеxe sa edoced58b tropmi 46esab morf"""[::-1]) -------------------------------------------------------------------------------- /Reverse/Time Loop/README.md: -------------------------------------------------------------------------------- 1 | # Time Loop 2 | 3 | ## Задание 4 | 5 | Если вы сможете остановить время, то я отдам вам флаг. 6 | 7 | Обратите внимание, что данный исполняемый файл предназначен для запуска под операционной системой семейства GNU/Linux. 8 | 9 | ## Решение 10 | 11 | Прикрепленный файл **timeloop** надо открыть в IDA Pro и Hex-Rays. 12 | 13 | 15 | 16 | Функция **time(0)** которая выдает **unix-time** проверяет равенство времени 123456, тогда мы идем в конвертер коневертируем время в обычный вид. 17 | 18 | Получаем **02 Jan 1970 10:17:36** , редактируем так чтобы в нашем часовом поясе показывало именно **123456**, например с помощью **ltrace** 19 | 20 | У меня получилось **02 Jan 1970 5:17:36** 21 | 22 | Запускаем консоль в **Linux** и вписываем туда **for ((i=1; i<=10000 ; i++)); do date --set "02 Jan 1970 5:17:36"; done** 23 | 24 | Это нужно, чтобы время менялось чаще чем его проверяет **timeloop** 25 | 26 | А в другой консоли запускаем **./timeloop** ждем несколько проверок и получаем флаг: **CC{Can_you_really_stop_the_time?}** 27 | 28 | -------------------------------------------------------------------------------- /Reverse/Time Loop/TL.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gleb-shnshn/CyberChallenge_WriteUp/6b351e50f38d1d352d7eaee184c9cb57f0939404/Reverse/Time Loop/TL.png -------------------------------------------------------------------------------- /Reverse/Time Loop/TL_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gleb-shnshn/CyberChallenge_WriteUp/6b351e50f38d1d352d7eaee184c9cb57f0939404/Reverse/Time Loop/TL_1.png -------------------------------------------------------------------------------- /Reverse/Time Loop/timeloop: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gleb-shnshn/CyberChallenge_WriteUp/6b351e50f38d1d352d7eaee184c9cb57f0939404/Reverse/Time Loop/timeloop -------------------------------------------------------------------------------- /Stegano/Difference/README.md: -------------------------------------------------------------------------------- 1 | # The End 2 | 3 | ## Задание 4 | 5 | bliss.bmp: 216d20df62af34d39089e066d1d4b3af 6 | 7 | ## Решение 8 | 9 | Прикрепленное изображение является измененным оригинальным изображением "Безмятежность" из Windows XP. Находим исходное изображение в интернете по хешу. 10 | 11 | 13 | 14 | С помощью скрипта **difference.py** проверяем разные пиксели в первой строке, если пиксели одинаковые то 0, иначе 1. 15 | Получаем строку: 16 | **01000011010000110111101101100100001100010100011001000110010111110110110100110100001101110011011100110011011100100011010101111101000010100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000** 17 | 18 | С помощью конвертера binary в ascii, например здесь получаем флаг: **CC{d1FF_m4773r5}** 19 | 20 | -------------------------------------------------------------------------------- /Stegano/Difference/bliss.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gleb-shnshn/CyberChallenge_WriteUp/6b351e50f38d1d352d7eaee184c9cb57f0939404/Stegano/Difference/bliss.bmp -------------------------------------------------------------------------------- /Stegano/Difference/bliss_new.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gleb-shnshn/CyberChallenge_WriteUp/6b351e50f38d1d352d7eaee184c9cb57f0939404/Stegano/Difference/bliss_new.bmp -------------------------------------------------------------------------------- /Stegano/Difference/difference.py: -------------------------------------------------------------------------------- 1 | from PIL import Image 2 | 3 | b=Image.open("bliss.bmp") 4 | bn=Image.open("bliss_new.bmp") 5 | 6 | a="" 7 | 8 | for i in range(b.width): 9 | if b.getpixel((i,0))==bn.getpixel((i,0)): 10 | a+="0" 11 | else: 12 | a+="1" 13 | 14 | print(a) 15 | 16 | -------------------------------------------------------------------------------- /Stegano/The End/EnD.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gleb-shnshn/CyberChallenge_WriteUp/6b351e50f38d1d352d7eaee184c9cb57f0939404/Stegano/The End/EnD.jpeg -------------------------------------------------------------------------------- /Stegano/The End/README.md: -------------------------------------------------------------------------------- 1 | # The End 2 | 3 | ## Задание 4 | 5 | — Когда человек счастлив, смысл жизни и прочие вечные темы его редко интересуют. Ими следует задаваться в конце жизни. 6 | — А когда наступит этот конец — мы же не знаем, вот и торопимся. 7 | — А ты не торопись — самые счастливые люди те, кто никогда не задавался этими проклятыми вопросами. 8 | 9 | «Солярис», 1972 10 | Может быть, конец — не то, чем кажется? 11 | 12 | ## Решение 13 | 14 | Прикрепленное изображение является архивом с паролем, который написан на изображении - **61mm3_7h3_fl46** , в котором лежит flag.txt, с флагом: **CC{1_h4v3_n3v3r_533n_r4r_jp36_b3f0r3}** 15 | 16 | 18 | -------------------------------------------------------------------------------- /Stegano/The End/flag.txt: -------------------------------------------------------------------------------- 1 | CC{1_h4v3_n3v3r_533n_r4r_jp36_b3f0r3} -------------------------------------------------------------------------------- /Web/Another Day/AD_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gleb-shnshn/CyberChallenge_WriteUp/6b351e50f38d1d352d7eaee184c9cb57f0939404/Web/Another Day/AD_1.png -------------------------------------------------------------------------------- /Web/Another Day/AD_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gleb-shnshn/CyberChallenge_WriteUp/6b351e50f38d1d352d7eaee184c9cb57f0939404/Web/Another Day/AD_2.png -------------------------------------------------------------------------------- /Web/Another Day/README.md: -------------------------------------------------------------------------------- 1 | # Another Day 2 | 3 | ## Задание 4 | 5 | Поиск уязвимостей в языках программирования является очень интересной темой для исследований в области информационной безопасности. Позвольте мне показать вам один пример... 6 | 7 | Ссылка на сервис: 8 | 9 | ## Решение 10 | 11 | Уязвимость нулевого дня. 12 | 13 | 15 | 16 | Используем логин **admin** , а пароль оставляем пустым логинимся и видим флаг: **CC{Am_I_great_bug_or_what?}** 17 | 18 | 20 | -------------------------------------------------------------------------------- /Web/Converter/Converter_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gleb-shnshn/CyberChallenge_WriteUp/6b351e50f38d1d352d7eaee184c9cb57f0939404/Web/Converter/Converter_1.png -------------------------------------------------------------------------------- /Web/Converter/Converter_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gleb-shnshn/CyberChallenge_WriteUp/6b351e50f38d1d352d7eaee184c9cb57f0939404/Web/Converter/Converter_2.png -------------------------------------------------------------------------------- /Web/Converter/README.md: -------------------------------------------------------------------------------- 1 | # Converter 2 | 3 | ## Задание 4 | 5 | Флаг находится в /flag.txt. 6 | 7 | Ссылка на сервис: 8 | 9 | ## Решение 10 | 11 | Переходим по ссылке видим кнопку загрузки, нам необходимо загрузить скрипт, который бы вывел флаг на экран(команда **passthru("cat /flag.txt");** для PHP). 12 | 13 | 15 | 16 | Загружаем на сайт code.php, по логике необходимо было догадаться, что он перед тем как создает .png файл, в той же папке сохраняет оригинальный файл, 17 | в HTML коде берем ссылку на полученное изображение и вместо ссылки на изображение что-то типа **/5ba0e747e204b.png** вставляем **/code.php** 18 | и при переходе на него видим флаг: **CC{n0w_g0_4nd_f1nd_s0m3_r3al_vu1n5_1n_r3al_softw4r3}** 19 | 20 | 22 | -------------------------------------------------------------------------------- /Web/Converter/code.php: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /Web/Cookie Monster/Cookie_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gleb-shnshn/CyberChallenge_WriteUp/6b351e50f38d1d352d7eaee184c9cb57f0939404/Web/Cookie Monster/Cookie_1.png -------------------------------------------------------------------------------- /Web/Cookie Monster/Cookie_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gleb-shnshn/CyberChallenge_WriteUp/6b351e50f38d1d352d7eaee184c9cb57f0939404/Web/Cookie Monster/Cookie_2.png -------------------------------------------------------------------------------- /Web/Cookie Monster/README.md: -------------------------------------------------------------------------------- 1 | # Cookie Monster 2 | 3 | ## Задание 4 | 5 | При посещении вами данного веб-сайта сбор информации может осуществляться посредством cookie-файлов и других технологий. Используя данный веб-сайт, вы даете свое согласие на использование нами cookie-файлов в соответствии с данными Условиями... 6 | 7 | Ссылка на сервис: 8 | 9 | ## Решение 10 | 11 | Переходим по ссылке видим такую картинку, название и описание нам подсказывает, что надо редактировать cookie 12 | 13 | 15 | 16 | Тогда с помощью расширения EditThisCookie меняем значение user на admin перезагружаем страницу и видим флаг: **CC{y4dC3raadSI_yay_i_like_cookies}** 17 | 18 | 20 | -------------------------------------------------------------------------------- /Web/ImageBox 2/IB_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gleb-shnshn/CyberChallenge_WriteUp/6b351e50f38d1d352d7eaee184c9cb57f0939404/Web/ImageBox 2/IB_1.png -------------------------------------------------------------------------------- /Web/ImageBox 2/IB_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gleb-shnshn/CyberChallenge_WriteUp/6b351e50f38d1d352d7eaee184c9cb57f0939404/Web/ImageBox 2/IB_2.png -------------------------------------------------------------------------------- /Web/ImageBox 2/README.md: -------------------------------------------------------------------------------- 1 | # ImageBox 2 2 | 3 | ## Задание 4 | 5 | Разработчики стартапа ImageBox осознали свою ошибку и пересмотрели свой подход к обеспечению безопасности сервиса. По их словам, теперь хостинг неуязвим. Проверим? 6 | 7 | Ссылка на сервис: 8 | 9 | ## Решение 10 | 11 | В отличии от первого ImageBox здесь проверяется, чтобы в файле не было **exec** , **passthru** , **system** , тогда мы используем **echo file_get_contents("/var/flag.txt");** вместо этого 12 | 13 | 15 | 16 | Если попытаться загрузить **code.php.jpg** он не работает, тогла путем проверок понимаем, что файл убирает htaccess из названия и делаем название файла **code.phtaccesshp.jpg** 17 | Запускаем BurpSuite, отправляем файл, изменяем в пакете имя на **code.php** , заходим на ссылку из HTML кода и получаем флаг: **CC{bl4ckl1sts_4nd_s4n1t1z4t10n}** 18 | 19 | 21 | -------------------------------------------------------------------------------- /Web/ImageBox 2/code.phtaccesshp.jpg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /Web/ImageBox/IB_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gleb-shnshn/CyberChallenge_WriteUp/6b351e50f38d1d352d7eaee184c9cb57f0939404/Web/ImageBox/IB_1.png -------------------------------------------------------------------------------- /Web/ImageBox/IB_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gleb-shnshn/CyberChallenge_WriteUp/6b351e50f38d1d352d7eaee184c9cb57f0939404/Web/ImageBox/IB_2.png -------------------------------------------------------------------------------- /Web/ImageBox/README.md: -------------------------------------------------------------------------------- 1 | # ImageBox 2 | 3 | ## Задание 4 | 5 | Стартап ImageBox объявил о запуске нового облачного сервиса для загрузки и хранения изображений. А чтобы загружать было не так скучно, разработчики еще и спрятали флаг на своем сервере. Попробуйте извлечь его. 6 | 7 | Ссылка на сервис: 8 | 9 | ## Решение 10 | 11 | Переходим по ссылке видим кнопку загрузки, нам необходимо загрузить скрипт, который бы вывел флаг на экран(команда **passthru("cat /etc/flag.txt");** для PHP). При попытке загрузить code.php, выдает ошибку. 12 | 13 | 15 | 16 | Тогда с приписываем .jpg и получаем файл code.jpg.php, загружаем на сайт, в HTML коде берем на него ссылку и при переходе на нее видим флаг: **CC{upl0ad_wis3ly}** 17 | 18 | 20 | -------------------------------------------------------------------------------- /Web/ImageBox/code.jpg.php: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /Web/JSt Do It/JS_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gleb-shnshn/CyberChallenge_WriteUp/6b351e50f38d1d352d7eaee184c9cb57f0939404/Web/JSt Do It/JS_1.png -------------------------------------------------------------------------------- /Web/JSt Do It/JS_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gleb-shnshn/CyberChallenge_WriteUp/6b351e50f38d1d352d7eaee184c9cb57f0939404/Web/JSt Do It/JS_2.png -------------------------------------------------------------------------------- /Web/JSt Do It/README.md: -------------------------------------------------------------------------------- 1 | # JSt Do It 2 | 3 | ## Задание 4 | 5 | Не дай своим мечтам остаться мечтами. 6 | Каждый день ты говоришь: «Завтра». 7 | Просто сделай это! 8 | Претвори свои мечты (про кавычки) в жизнь. 9 | Просто сделай это! 10 | 11 | Ссылка на сервис: 12 | 13 | ## Решение 14 | 15 | При переходе по ссылке нас перенаправляет на клип **Rick Astley - Never Gonna Give You Up**, тогда смотри код через 16 | В названии говорится про JS = JavaScript, а в коде есть две обфусцированные функции JS. 17 | 18 | 20 | 21 | Ищем онлайн компилятор JS, например , выполняем поочередно функции и видим флаг: **CC{yTQhjFDMQGo_never_gonna_give_you_up}** 22 | 23 | 25 | -------------------------------------------------------------------------------- /Web/Just Add/Code.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gleb-shnshn/CyberChallenge_WriteUp/6b351e50f38d1d352d7eaee184c9cb57f0939404/Web/Just Add/Code.png -------------------------------------------------------------------------------- /Web/Just Add/Flag.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gleb-shnshn/CyberChallenge_WriteUp/6b351e50f38d1d352d7eaee184c9cb57f0939404/Web/Just Add/Flag.png -------------------------------------------------------------------------------- /Web/Just Add/JA_123.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gleb-shnshn/CyberChallenge_WriteUp/6b351e50f38d1d352d7eaee184c9cb57f0939404/Web/Just Add/JA_123.png -------------------------------------------------------------------------------- /Web/Just Add/README.md: -------------------------------------------------------------------------------- 1 | # Just Add 2 | 3 | ## Задание 4 | 5 | Знание недостатков языка PHP необходимо начинающему специалисту в области информационной безопасности. Продемонстрируйте мне ваши навыки, и вы получите флаг. 6 | 7 | Ссылка на сервис: 8 | 9 | ## Решение 10 | 11 | Переходим по ссылке видим первую страницу, т.к. в задании говорится прибавляй, меняем GET параметр на 2 и 3. Смотрим что тут ничего интересного нет, но можно использовать уязвимость PHP 12 | 13 | 15 | 16 | Тогда переходим по ссылке 17 | с помощью которой получаем исходный код страницы в base64 по протоколу php, после этого декодируем, например, здесь , и в коде видим, что он запрещает переходить на /th1s_1s_the_h1dd3n_fl4g.7x7 18 | 19 | 21 | 22 | Вместо этого переходим по ссылке и видим флаг: **CC{leaRnIng_phP}** 23 | 24 | 26 | -------------------------------------------------------------------------------- /Web/Just Add/index.php: -------------------------------------------------------------------------------- 1 | 19 | 20 | 21 | 47 | 48 | 49 |
50 | 53 |
54 | 55 | 56 | -------------------------------------------------------------------------------- /Web/Kavichka/Kavichka_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gleb-shnshn/CyberChallenge_WriteUp/6b351e50f38d1d352d7eaee184c9cb57f0939404/Web/Kavichka/Kavichka_1.png -------------------------------------------------------------------------------- /Web/Kavichka/Kavichka_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gleb-shnshn/CyberChallenge_WriteUp/6b351e50f38d1d352d7eaee184c9cb57f0939404/Web/Kavichka/Kavichka_2.png -------------------------------------------------------------------------------- /Web/Kavichka/README.md: -------------------------------------------------------------------------------- 1 | # Kavichka 2 | 3 | ## Задание 4 | 5 | Необходимо выполнить вход под учетной записью администратора. Обычное такое задание с кавычками. Классика... 6 | 7 | Ссылка на сервис: 8 | 9 | ## Решение 10 | 11 | Название намекает на использование SQL Injection связанное с кавычкой. 12 | 13 | 15 | 16 | Используем логин **admin' or "1"=="1";** , а пароль - **password** логинимся и видим флаг: **CC{4crgYRC45NY_is_this_flag}** 17 | 18 | 20 | -------------------------------------------------------------------------------- /Web/No Comments/README.md: -------------------------------------------------------------------------------- 1 | # No Comments 2 | 3 | ## Задание 4 | 5 | Найдите флаг, скрытый в веб-сайте: 6 | 7 | ## Решение 8 | 9 | Название намекает на просмотр комментариев в коде, открываем HTML код сайта и находим флаг: **CC{hide_and_seek_is_sane_enough}** 10 | 11 | 13 | -------------------------------------------------------------------------------- /Web/No Comments/Screenshot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gleb-shnshn/CyberChallenge_WriteUp/6b351e50f38d1d352d7eaee184c9cb57f0939404/Web/No Comments/Screenshot.png -------------------------------------------------------------------------------- /Web/Octocat/Dump.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gleb-shnshn/CyberChallenge_WriteUp/6b351e50f38d1d352d7eaee184c9cb57f0939404/Web/Octocat/Dump.png -------------------------------------------------------------------------------- /Web/Octocat/Dump/0-1de193626de000b86a339e7a55d8c8fedaf8e4a2/commit-meta.txt: -------------------------------------------------------------------------------- 1 | tree 0c456b2da430e7eeb669c74d3d472617b137ffcf 2 | parent 2809d1d61998f9c2233c9b7a99b948006a4ed97d 3 | author Nikita Kozlov 1535053473 +0300 4 | committer Nikita Kozlov 1535053473 +0300 5 | 6 | remove sensitive content 7 | -------------------------------------------------------------------------------- /Web/Octocat/Dump/0-1de193626de000b86a339e7a55d8c8fedaf8e4a2/flag.php: -------------------------------------------------------------------------------- 1 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | Flag 16 | 17 | 18 |

flag() is not implemented

19 | 20 | 21 | -------------------------------------------------------------------------------- /Web/Octocat/Dump/0-1de193626de000b86a339e7a55d8c8fedaf8e4a2/index.php: -------------------------------------------------------------------------------- 1 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | Signin 24 | 25 | 27 | 28 | 29 | 30 | 31 | 32 |
33 | 42 |
43 | 44 | 45 | -------------------------------------------------------------------------------- /Web/Octocat/Dump/0-1de193626de000b86a339e7a55d8c8fedaf8e4a2/public/signin.css: -------------------------------------------------------------------------------- 1 | html, 2 | body { 3 | height: 100%; 4 | } 5 | 6 | body { 7 | display: -ms-flexbox; 8 | display: -webkit-box; 9 | display: flex; 10 | -ms-flex-align: center; 11 | -ms-flex-pack: center; 12 | -webkit-box-align: center; 13 | align-items: center; 14 | -webkit-box-pack: center; 15 | justify-content: center; 16 | padding-top: 40px; 17 | padding-bottom: 40px; 18 | background-color: #f5f5f5; 19 | } 20 | 21 | .form-signin { 22 | width: 100%; 23 | max-width: 330px; 24 | padding: 15px; 25 | margin: 0 auto; 26 | } 27 | .form-signin .checkbox { 28 | font-weight: 400; 29 | } 30 | .form-signin .form-control { 31 | position: relative; 32 | box-sizing: border-box; 33 | height: auto; 34 | padding: 10px; 35 | font-size: 16px; 36 | } 37 | .form-signin .form-control:focus { 38 | z-index: 2; 39 | } 40 | .form-signin input[type="email"] { 41 | margin-bottom: -1px; 42 | border-bottom-right-radius: 0; 43 | border-bottom-left-radius: 0; 44 | } 45 | .form-signin input[type="password"] { 46 | margin-bottom: 10px; 47 | border-top-left-radius: 0; 48 | border-top-right-radius: 0; 49 | } 50 | -------------------------------------------------------------------------------- /Web/Octocat/Dump/1-2809d1d61998f9c2233c9b7a99b948006a4ed97d/commit-meta.txt: -------------------------------------------------------------------------------- 1 | tree 7e76618a49ee1c8c7a13d4458b3a4bbdb767d2ca 2 | author Nikita Kozlov 1535053437 +0300 3 | committer Nikita Kozlov 1535053437 +0300 4 | 5 | sample task 6 | -------------------------------------------------------------------------------- /Web/Octocat/Dump/1-2809d1d61998f9c2233c9b7a99b948006a4ed97d/flag.php: -------------------------------------------------------------------------------- 1 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | Flag 16 | 17 | 18 | CC{CseK6Eo762c_octocat_is_fuuuuuuuun} 19 | 20 | 21 | -------------------------------------------------------------------------------- /Web/Octocat/Dump/1-2809d1d61998f9c2233c9b7a99b948006a4ed97d/index.php: -------------------------------------------------------------------------------- 1 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | Signin 24 | 25 | 27 | 28 | 29 | 30 | 31 | 32 |
33 | 42 |
43 | 44 | 45 | -------------------------------------------------------------------------------- /Web/Octocat/Dump/1-2809d1d61998f9c2233c9b7a99b948006a4ed97d/public/signin.css: -------------------------------------------------------------------------------- 1 | html, 2 | body { 3 | height: 100%; 4 | } 5 | 6 | body { 7 | display: -ms-flexbox; 8 | display: -webkit-box; 9 | display: flex; 10 | -ms-flex-align: center; 11 | -ms-flex-pack: center; 12 | -webkit-box-align: center; 13 | align-items: center; 14 | -webkit-box-pack: center; 15 | justify-content: center; 16 | padding-top: 40px; 17 | padding-bottom: 40px; 18 | background-color: #f5f5f5; 19 | } 20 | 21 | .form-signin { 22 | width: 100%; 23 | max-width: 330px; 24 | padding: 15px; 25 | margin: 0 auto; 26 | } 27 | .form-signin .checkbox { 28 | font-weight: 400; 29 | } 30 | .form-signin .form-control { 31 | position: relative; 32 | box-sizing: border-box; 33 | height: auto; 34 | padding: 10px; 35 | font-size: 16px; 36 | } 37 | .form-signin .form-control:focus { 38 | z-index: 2; 39 | } 40 | .form-signin input[type="email"] { 41 | margin-bottom: -1px; 42 | border-bottom-right-radius: 0; 43 | border-bottom-left-radius: 0; 44 | } 45 | .form-signin input[type="password"] { 46 | margin-bottom: 10px; 47 | border-top-left-radius: 0; 48 | border-top-right-radius: 0; 49 | } 50 | -------------------------------------------------------------------------------- /Web/Octocat/Flag.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gleb-shnshn/CyberChallenge_WriteUp/6b351e50f38d1d352d7eaee184c9cb57f0939404/Web/Octocat/Flag.png -------------------------------------------------------------------------------- /Web/Octocat/README.md: -------------------------------------------------------------------------------- 1 | # Octocat 2 | 3 | ## Задание 4 | 5 | Unnamed repository; edit this file 'description' to name the repository. 6 | 7 | Ссылка на сервис: 8 | 9 | ## Решение 10 | 11 | Название и описание наталкивают на мысль, о том, что задание связано с git. 12 | 13 | 15 | 16 | Качаем GitTools, качаем Dump сайта командой **./gitdumper.sh http://octocat.cyberchallenge.ru/.git/ Dump** 17 | разархивируем Dump с помощью **./extractor.sh ~/Desktop/GitTools/Dumper/Dump Dump** 18 | 19 | 21 | 22 | В папке Dump находим 2 commit-a в одном из которых в файле flag.php есть флаг: **CC{CseK6Eo762c_octocat_is_fuuuuuuuun}** 23 | 24 | 26 | -------------------------------------------------------------------------------- /Web/Octocat/Sign.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gleb-shnshn/CyberChallenge_WriteUp/6b351e50f38d1d352d7eaee184c9cb57f0939404/Web/Octocat/Sign.png -------------------------------------------------------------------------------- /Web/Porter/FlagIsHere.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gleb-shnshn/CyberChallenge_WriteUp/6b351e50f38d1d352d7eaee184c9cb57f0939404/Web/Porter/FlagIsHere.png -------------------------------------------------------------------------------- /Web/Porter/README.md: -------------------------------------------------------------------------------- 1 | # Porter 2 | 3 | ## Задание 4 | 5 | Веб-сервис расположен на каком-то из портов в диапазоне 1000-2000 на сервере 2018.cyberchallenge.ru. Сможешь ли ты найти его? 6 | 7 | ## Решение 8 | 9 | Используем утилиту nmap для Linux для нахождения свободных портов **nmap -p 1000-2000 2018.cyberchallenge.ru**, которая говорит нам о том что свободный порт 1337. 10 | Переходим по ссылке в браузере , тыкаем на ссылку, она перенаправляет сначала на flag.html, а потом обратно. 11 | 12 | 14 | 15 | Тогда смотрим код страницы по ссылке видим флаг: **CC{ra8Zb53uJeA_this_was_a_trick}** 16 | 17 | 19 | -------------------------------------------------------------------------------- /Web/Porter/Source.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gleb-shnshn/CyberChallenge_WriteUp/6b351e50f38d1d352d7eaee184c9cb57f0939404/Web/Porter/Source.png -------------------------------------------------------------------------------- /Web/Router/Login.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gleb-shnshn/CyberChallenge_WriteUp/6b351e50f38d1d352d7eaee184c9cb57f0939404/Web/Router/Login.png -------------------------------------------------------------------------------- /Web/Router/README.md: -------------------------------------------------------------------------------- 1 | # Router 2 | 3 | ## Задание 4 | 5 | Купил, подключил, а настроить забыл :( 6 | 7 | Роутер: 8 | 9 | ## Решение 10 | 11 | Ищем стандартные настройки роутера, по умолчанию логин - **webadmin**, пароль - **1234** 12 | 13 | 15 | 16 | После авторизации в устройствах видим флаг: **CC{router_password_is_sooo_weak}** 17 | 18 | 20 | -------------------------------------------------------------------------------- /Web/Router/Screenshot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gleb-shnshn/CyberChallenge_WriteUp/6b351e50f38d1d352d7eaee184c9cb57f0939404/Web/Router/Screenshot.png -------------------------------------------------------------------------------- /Web/Silmaril Store 2/README.md: -------------------------------------------------------------------------------- 1 | # Silmaril Store 2 2 | 3 | ## Задание 4 | 5 | Мы открыли новый интернет-магазин. Сможешь ли ты найти то, что мы прячем от посторонних глаз? 6 | 7 | Ссылка на наш интернет-магазин: 8 | 9 | ## Решение 10 | 11 | Так как POST - запрос отправляет html - код, то мы можем менять id у товара и постепенно дойти до 7, не забывая уменьшить стоимость до нуля 12 | 13 | 15 | 16 | После покупки видим флаг: **CC{when_in_doubt_follow_your_nose}** 17 | 18 | 20 | -------------------------------------------------------------------------------- /Web/Silmaril Store 2/Store_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gleb-shnshn/CyberChallenge_WriteUp/6b351e50f38d1d352d7eaee184c9cb57f0939404/Web/Silmaril Store 2/Store_1.png -------------------------------------------------------------------------------- /Web/Silmaril Store 2/Store_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gleb-shnshn/CyberChallenge_WriteUp/6b351e50f38d1d352d7eaee184c9cb57f0939404/Web/Silmaril Store 2/Store_2.png -------------------------------------------------------------------------------- /Web/Silmaril Store/README.md: -------------------------------------------------------------------------------- 1 | # Silmaril Store 2 | 3 | ## Задание 4 | 5 | Мы открыли новый интернет-магазин. Достаточно ли у тебя денег, чтобы купить самый дорогой товар? 6 | 7 | Ссылка на наш интернет-магазин: 8 | 9 | ## Решение 10 | 11 | Так как POST - запрос отправляет html - код, то мы можем изменить стоимость у товара на 0 и спокойно купить товар 12 | 13 | 15 | 16 | После покупки видим флаг: **CC{lembas_elvish_waybread}** 17 | 18 | 20 | -------------------------------------------------------------------------------- /Web/Silmaril Store/Store_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gleb-shnshn/CyberChallenge_WriteUp/6b351e50f38d1d352d7eaee184c9cb57f0939404/Web/Silmaril Store/Store_1.png -------------------------------------------------------------------------------- /Web/Silmaril Store/Store_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gleb-shnshn/CyberChallenge_WriteUp/6b351e50f38d1d352d7eaee184c9cb57f0939404/Web/Silmaril Store/Store_2.png --------------------------------------------------------------------------------