diff --git a/a-maze-ing/description.md b/a-maze-ing/description.md new file mode 100644 index 0000000..f585a2e --- /dev/null +++ b/a-maze-ing/description.md @@ -0,0 +1 @@ +Solve a maze! 'j' is left, 'k' is down, 'l' is right, and 'i' is up. You input directions in a string. An example: "jkliilillikjk". Submit your input string as the flag. (Whoops! You don't have a maze, do you? Sucks to be you.) \ No newline at end of file diff --git a/a-maze-ing/grader.py b/a-maze-ing/grader.py new file mode 100644 index 0000000..2328177 --- /dev/null +++ b/a-maze-ing/grader.py @@ -0,0 +1,4 @@ +def grade(autogen, answer): + if len(answer)>= 25: + return True, "You guessed right!" + return False, "Nope. The maze is a bit longer than that." diff --git a/a-maze-ing/problem.yml b/a-maze-ing/problem.yml new file mode 100644 index 0000000..eca8f9c --- /dev/null +++ b/a-maze-ing/problem.yml @@ -0,0 +1,7 @@ +title: A-maze-ing +author: nicebowlofsoup +hint: It may take you a while to get to the end. Just keep going! +category: Miscellaneous +autogen: false +programming: false +value: 30 diff --git a/blogbox/description.md b/blogbox/description.md new file mode 100644 index 0000000..49bf3d2 --- /dev/null +++ b/blogbox/description.md @@ -0,0 +1 @@ +I found another [blog](http://blogbox.web.easyctf.com/)! Do you think you can find a flag on it? \ No newline at end of file diff --git a/blogbox/grader.py b/blogbox/grader.py new file mode 100644 index 0000000..29044ed --- /dev/null +++ b/blogbox/grader.py @@ -0,0 +1,4 @@ +def grade(autogen, key): + if key.find("i_cant_GET_n0_s@tisfAct10N") != -1: + return True, "I always knew you could GET it!" + return False, "Keep trying." diff --git a/blogbox/problem.yml b/blogbox/problem.yml new file mode 100644 index 0000000..5f8075e --- /dev/null +++ b/blogbox/problem.yml @@ -0,0 +1,6 @@ +author: blockingthesky +title: Blogbox +category: Web +autogen: false +programming: false +value: 135 \ No newline at end of file diff --git a/library/problem.yml b/library/problem.yml index b093837..b2ba428 100644 --- a/library/problem.yml +++ b/library/problem.yml @@ -6,5 +6,5 @@ programming: true value: 175 test_cases: 10 -time_limit: 1000 +time_limit: 1 memory_limit: 256000 diff --git a/match-me/couple_list.txt b/match-me/couple_list.txt new file mode 100644 index 0000000..99d3514 --- /dev/null +++ b/match-me/couple_list.txt @@ -0,0 +1,2 @@ +There's really no need for this but whatever, this is the string that needs to be md5'd to get the flag +(Alejandro,Kerri)(Angel,Corina)(Austen,Baylee)(Caden,Patrice)(Camron,Lourdes)(Carter,Kalyn)(Clyde,Krista)(Cortez,Lucia)(Cullen,Justine)(Daquan,Sandra)(Drake,Tianna)(Edwin,Virginia)(Elvin,Tierra)(Galen,Lacey)(Gary,Shirley)(Gerald,Valeria)(Greg,Norma)(Harold,Eunice)(Jerrod,Kathryn)(Jerry,Katrina)(Joseph,Alyssa)(Kenny,Jenifer)(Ladarius,Tatiana)(Leonard,Beth)(Luciano,Nikita)(Marc,Madison)(Mario,Keri)(Mathew,Alicia)(Maxwell,Devin)(Mickey,Crystal)(Mike,Ivette)(Myron,Robin)(Nathanial,Jacquelyn)(Nathaniel,Infant)(Quinten,Shelly)(Quinton,Lorena)(Rashad,Jessika)(Scott,Janae)(Shaun,Micah)(Tristan,Sherry)(Tyron,Darian)(Zachery,Dara) \ No newline at end of file diff --git a/match-me/description.md b/match-me/description.md index 32c5773..44bf1f6 100644 --- a/match-me/description.md +++ b/match-me/description.md @@ -5,6 +5,8 @@ We received two files, one listing men and the other women. Each line contains a For example, the entry "Joe 4, 5, 3, 1, 2" means that Joe would most prefer the 4th entry on the opposite list, and least prefer the 2nd. -We have heard that there is one pairing which will be together in all possible stable matchings, please discover who this couple is and provide their names as "," +We have heard that there are some pairings that will be together in all possible stable matchings, please find them. However, because there are quite a bit of them, please submit your solution as the following: + +MD5 hash of `(male_1,female_1)(male_2,female_2)...(male_n,female_n)`, where the pairings are sorted alphabetically by male names. For example, `(Bob,Susie)(Jim,Carol)(Tom,Emma)` would be submitted as `b0d75104ce4b3a7d892f745fd515fea4`. Here are the lists of preferences:[male preferences](${male_prefs_txt}), [female preferences](${female_prefs_txt}). diff --git a/match-me/grader.py b/match-me/grader.py index db293db..3ae33ca 100644 --- a/match-me/grader.py +++ b/match-me/grader.py @@ -1,4 +1,4 @@ def grade(autogen, key): - if key.find("Paris,Blair") != -1: + if key.find("51cacb0258b7862d646964c0da7c6125") != -1: return True, "Correct!" return False, "Nope!" diff --git a/match-me/problem.yml b/match-me/problem.yml index b62bd80..36f2b60 100644 --- a/match-me/problem.yml +++ b/match-me/problem.yml @@ -1,6 +1,6 @@ author: GenericNickname title: Match Me -hint: This is a fairly well-known graph problem, there's probably some sort of internet source on it. +hint: This is a fairly well-known graph problem. I would guess there is some sort of internet source on it. category: Programming autogen: false programming: false diff --git a/paillier-service/description.md b/paillier-service/description.md index e7ceda0..bada969 100644 --- a/paillier-service/description.md +++ b/paillier-service/description.md @@ -1,3 +1,3 @@ My friend made some sort of encryption service using the Paillier cryptosystem. Can you get him to encrypt the string `easyctf{3ncrypt_m3!}` for me? Your flag will be a base 10 integer. -Access his encryption serice at `paillier.tcp.easyctf.com 8570` +Access his encryption service at `paillier.tcp.easyctf.com 8570` diff --git a/rsa1/description.md b/rsa1/description.md index d44c07b..8f7e8c3 100644 --- a/rsa1/description.md +++ b/rsa1/description.md @@ -1 +1 @@ -I found somebody's notes on their private RSA! Help me crack [this](${ciphertext_txt}). \ No newline at end of file +I found somebody's notes on their private RSA! Help me crack [this](${ciphertext1_txt}). \ No newline at end of file diff --git a/rsa1/grader.py b/rsa1/grader.py index 7bc9d86..4f75e94 100644 --- a/rsa1/grader.py +++ b/rsa1/grader.py @@ -39,11 +39,11 @@ def generate_ciphertext(random): def generate(random): return dict(files={ - "ciphertext.txt": generate_ciphertext + "ciphertext1.txt": generate_ciphertext }) def grade(random, key): - n, salt = get_problem(random) + p, q, e, salt = get_problem(random) if key.find("%s_%s" % (flag, salt)) >= 0: return True, "Correct!" return False, "Nope." diff --git a/rsa2/description.md b/rsa2/description.md index d5802d9..3c4893d 100644 --- a/rsa2/description.md +++ b/rsa2/description.md @@ -1 +1 @@ -Some more RSA! This time, there's no P and Q... [this](${ciphertext_txt}). \ No newline at end of file +Some more RSA! This time, there's no P and Q... [this](${ciphertext2_txt}). \ No newline at end of file diff --git a/rsa2/grader.py b/rsa2/grader.py index b5e0f6f..fd30123 100644 --- a/rsa2/grader.py +++ b/rsa2/grader.py @@ -38,11 +38,11 @@ def generate_ciphertext(random): def generate(random): return dict(files={ - "ciphertext.txt": generate_ciphertext + "ciphertext2.txt": generate_ciphertext }) def grade(random, key): - n, salt = get_problem(random) + p, q, e, salt = get_problem(random) if key.find("%s_%s" % (flag, salt)) >= 0: return True, "Correct!" return False, "Nope." diff --git a/security-through-obscurity/description.md b/security-through-obscurity/description.md index 2b09f78..00fe755 100644 --- a/security-through-obscurity/description.md +++ b/security-through-obscurity/description.md @@ -1,4 +1,4 @@ I've never seen such a cryptosystem before! It looks like a public key cryptosystem, though... Could you help me crack it? [encrypt.sage](${encrypt_sage}) -[publickey_and_ciphertext.txt](${publickey_and_ciphertext_txt}) \ No newline at end of file +[publickey and ciphertext.txt](${publickey_and_ciphertext_txt}) diff --git a/self-modifier/b0.bin b/self-modifier/b0.bin index 3014467..ac4e313 100644 Binary files a/self-modifier/b0.bin and b/self-modifier/b0.bin differ diff --git a/self-modifier/b1.bin b/self-modifier/b1.bin index 21c4f15..f56c1fc 100644 Binary files a/self-modifier/b1.bin and b/self-modifier/b1.bin differ diff --git a/self-modifier/description.md b/self-modifier/description.md index bb9b86f..e51f2df 100644 --- a/self-modifier/description.md +++ b/self-modifier/description.md @@ -1,2 +1,5 @@ Welcome to the RE training course, this problem has 4 phases. Solve all four to get the flag. + +Note: On phase 1 round to 6 significant figures. + [Download](${morpher_exe}) \ No newline at end of file diff --git a/self-modifier/first.asm b/self-modifier/first.asm index b3f2be6..c6185f7 100644 --- a/self-modifier/first.asm +++ b/self-modifier/first.asm @@ -128,7 +128,7 @@ past_trash: retn b_val dd 0x4039999a -base_txt db 'Please enter the best number', ENDL, 0 +base_txt db 'Please enter the best number, round to 6 significant figures.', ENDL, 0 a_val dd 0x40d00000 scanf_txt db '%f', 0 final_val dd 0xc092e6a0 diff --git a/self-modifier/first.bin b/self-modifier/first.bin index 990c9b1..09c6b3c 100644 Binary files a/self-modifier/first.bin and b/self-modifier/first.bin differ diff --git a/self-modifier/flag_genner.py b/self-modifier/flag_genner.py new file mode 100644 index 0000000..b1ae190 --- /dev/null +++ b/self-modifier/flag_genner.py @@ -0,0 +1,12 @@ +# Generates random flag thing +import random + +flag_temp = '{%s}' + +def gen_flag(len): + val = '' + for x in range(len): + val += random.choice(list('abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789')) + return flag_temp % val + +print(gen_flag((4*3)-2)) \ No newline at end of file diff --git a/self-modifier/morpher.exe b/self-modifier/morpher.exe index 2eaddea..473fe0a 100644 Binary files a/self-modifier/morpher.exe and b/self-modifier/morpher.exe differ diff --git a/things-add-up/description.md b/things-add-up/description.md index 092392a..cab1cd0 100644 --- a/things-add-up/description.md +++ b/things-add-up/description.md @@ -5,7 +5,7 @@ Output goes to STDOUT - `cout`, `print`, and `System.out`. Your program will be ours for each testcase, this problem will be marked solved. We'll start with a simple challenge. Each testcase has two lines of input. The first will contain an integer `N`. The second will contain a -series of integers `a_1, a_2, ..., a_N`. You are to output the sum of that series - that is, `a_1 + a_2 + ... + a_n`. Good luck! +sequence of integers `a_1, a_2, ..., a_N`. You are to output the sum of that sequence - that is, `a_1 + a_2 + ... + a_n`. Good luck! #### Input Constraints @@ -17,10 +17,10 @@ series of integers `a_1, a_2, ..., a_N`. You are to output the sum of that serie ``` 5 -1 2 3 4 5 +2 4 7 3 1 ``` #### Sample Output ``` -15``` +17``` diff --git a/web-tunnel/description.md b/web-tunnel/description.md new file mode 100644 index 0000000..96ae9e1 --- /dev/null +++ b/web-tunnel/description.md @@ -0,0 +1 @@ +I was just going to search some random cat videos on a Saturday morning when my friend came up to me and told me to reach the end of this [tunnel](http://tunnel.web.easyctf.com). Can you do it for me? \ No newline at end of file diff --git a/web-tunnel/grader.py b/web-tunnel/grader.py new file mode 100644 index 0000000..5de5c2a --- /dev/null +++ b/web-tunnel/grader.py @@ -0,0 +1,4 @@ +def grade(autogen, key): + if key.find("y0u_sh0uld_b3_t1r3d_tr4v3ll1ng_all_th1s_w4y") != -1: + return True, "Nice job! Your journey was fruitful!" + return False, "Nope. Dig deeper." diff --git a/web-tunnel/problem.yml b/web-tunnel/problem.yml new file mode 100644 index 0000000..45f1336 --- /dev/null +++ b/web-tunnel/problem.yml @@ -0,0 +1,7 @@ +title: Web Tunnel +author: dududum561 +hint: You should write a script for this. The tunnel goes on too deep for any normal human. +category: Web +autogen: false +programming: false +value: 260 \ No newline at end of file