Merge branch 'master' of github.com:failedxyz/easyctf

This commit is contained in:
Michael Zhang 2017-03-14 17:24:02 -05:00
commit bdcafb8e42
28 changed files with 70 additions and 16 deletions

View file

@ -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.)

4
a-maze-ing/grader.py Normal file
View file

@ -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."

7
a-maze-ing/problem.yml Normal file
View file

@ -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

1
blogbox/description.md Normal file
View file

@ -0,0 +1 @@
I found another [blog](http://blogbox.web.easyctf.com/)! Do you think you can find a flag on it?

4
blogbox/grader.py Normal file
View file

@ -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."

6
blogbox/problem.yml Normal file
View file

@ -0,0 +1,6 @@
author: blockingthesky
title: Blogbox
category: Web
autogen: false
programming: false
value: 135

View file

@ -6,5 +6,5 @@ programming: true
value: 175 value: 175
test_cases: 10 test_cases: 10
time_limit: 1000 time_limit: 1
memory_limit: 256000 memory_limit: 256000

2
match-me/couple_list.txt Normal file
View file

@ -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)

View file

@ -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. 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 "<male_name>,<female_name>" 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}). Here are the lists of preferences:[male preferences](${male_prefs_txt}), [female preferences](${female_prefs_txt}).

View file

@ -1,4 +1,4 @@
def grade(autogen, key): def grade(autogen, key):
if key.find("Paris,Blair") != -1: if key.find("51cacb0258b7862d646964c0da7c6125") != -1:
return True, "Correct!" return True, "Correct!"
return False, "Nope!" return False, "Nope!"

View file

@ -1,6 +1,6 @@
author: GenericNickname author: GenericNickname
title: Match Me 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 category: Programming
autogen: false autogen: false
programming: false programming: false

View file

@ -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. 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`

View file

@ -1 +1 @@
I found somebody's notes on their private RSA! Help me crack [this](${ciphertext_txt}). I found somebody's notes on their private RSA! Help me crack [this](${ciphertext1_txt}).

View file

@ -39,11 +39,11 @@ def generate_ciphertext(random):
def generate(random): def generate(random):
return dict(files={ return dict(files={
"ciphertext.txt": generate_ciphertext "ciphertext1.txt": generate_ciphertext
}) })
def grade(random, key): def grade(random, key):
n, salt = get_problem(random) p, q, e, salt = get_problem(random)
if key.find("%s_%s" % (flag, salt)) >= 0: if key.find("%s_%s" % (flag, salt)) >= 0:
return True, "Correct!" return True, "Correct!"
return False, "Nope." return False, "Nope."

View file

@ -1 +1 @@
Some more RSA! This time, there's no P and Q... [this](${ciphertext_txt}). Some more RSA! This time, there's no P and Q... [this](${ciphertext2_txt}).

View file

@ -38,11 +38,11 @@ def generate_ciphertext(random):
def generate(random): def generate(random):
return dict(files={ return dict(files={
"ciphertext.txt": generate_ciphertext "ciphertext2.txt": generate_ciphertext
}) })
def grade(random, key): def grade(random, key):
n, salt = get_problem(random) p, q, e, salt = get_problem(random)
if key.find("%s_%s" % (flag, salt)) >= 0: if key.find("%s_%s" % (flag, salt)) >= 0:
return True, "Correct!" return True, "Correct!"
return False, "Nope." return False, "Nope."

View file

@ -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? 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}) [encrypt.sage](${encrypt_sage})
[publickey_and_ciphertext.txt](${publickey_and_ciphertext_txt}) [publickey and ciphertext.txt](${publickey_and_ciphertext_txt})

Binary file not shown.

Binary file not shown.

View file

@ -1,2 +1,5 @@
Welcome to the RE training course, this problem has 4 phases. Solve all four to get the flag. 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}) [Download](${morpher_exe})

View file

@ -128,7 +128,7 @@ past_trash:
retn retn
b_val dd 0x4039999a 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 a_val dd 0x40d00000
scanf_txt db '%f', 0 scanf_txt db '%f', 0
final_val dd 0xc092e6a0 final_val dd 0xc092e6a0

Binary file not shown.

View file

@ -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))

Binary file not shown.

View file

@ -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. 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 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 #### 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 5
1 2 3 4 5 2 4 7 3 1
``` ```
#### Sample Output #### Sample Output
``` ```
15``` 17```

View file

@ -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?

4
web-tunnel/grader.py Normal file
View file

@ -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."

7
web-tunnel/problem.yml Normal file
View file

@ -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