[This challenges had a mountainous flavor text, now lost to history.]

In short, the task is to provide vectors flipping specific bits in an encryption scheme resembling ring learning with errors.

1 solve / 500 points

Read full post

Ok, so maybe that artisan hash wasn’t such a great idea. Let’s use a standard cryptographic hash instead.

Hint: The server is running ubuntu 18.04

nc chals.damctf.xyz 31656

3 solves / 499 points

Read full post


Tears dripped from my face as I stood over the bathroom sink. Exposed again! The tears melted into thoughts, and an idea formed in my head. This will surely keep my secrets safe, once and for all. I crept back to my computer and began to type.

Read full post
Challenge description: Categories: network | pwned! Points: 893 Solves: 8 We have managed to intercept communications from Dr. Evil’s base but it seems to be encrypted. Can you recover the secret message. Download: dr_evil.tar.gz (containing dr-evil.pcap) The TAR archive contains a .pcap file of a TLS v1.2 connection between (Client) and (Server). The TLS connction uses the TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 cipher suite and the Server is authenticated with a DigiCert certificate. Read full post
Ezdsa | crypto Points: 223 Solves: 57 Someone told me not to use DSA, so I came up with this. Service: nc ezdsa-01.play.midnightsunctf.se 31337 Download: EZDSA.tar.gz (containing ezdsa.py) We are presented with a service. When connecting with the service we can choose to sign some data or to quit. Quitting does exactly what you’d think it does. When choosing to sign some data you must encode them as base 64 and are given back two numbers. Read full post

Primes are fun, don’t google translate me bro

Read full post


You might be cool, but are you 5 popped shells cool?
Service: nc polyshell-01.play.midnightsunctf.se 30000
Hint: The syscalls should be made using standard Linux syscall calling convention
Read full post

We made a ZK protocol with a bit of HFS-flair to it!

Correction of description, prover does not take a string, but a polynomial

Read full post


Organize those rectangular things that take physical space!



A website is given along with its source where you can create an account and add books with some metadata.

Read full post

Challenge (46 solves, 210 points)

You discover this cat enthusiast chat app, but the annoying thing about it is that you’re always banned when you start talking about dogs. Maybe if you would somehow get to know the admin’s password, you could fix that.

We are given a chat website. When entering it we are redirected to a random room and are greeted by a message.

Read full post

Challenge (74 solves, 158 points)

This crypto experiment will help you decrypt an RSA encrypted message.
(Attachment containing challenge.py, flag.txt, key_pub.pem)
nc perfect-secrecy.ctfcompetition.com 1337

Looking at the description and the given files we can guess, that flag.txt is the flag encrypted with RSA under key_pub.pem, which turns out to be correct. Furthermore we can guess that challenge.py is running on the server, which is also correct.

It seems our goal is to use the server to decrypt the flag for us.

Read full post

Challenge: “Win the game 1,000,000 times to get the flag.”

To get things started, I ran the apk in Anbox. We are greeted by a Tic-Tac-Toe implementation. Now from the challenge we know that we have to win the game 1 million times to get the flag. Being an avid gamer, I took this challenge and just went on a 1 million games winning streak, thanks for reading this Write-Up.

Jokes aside, this would not be a challenge, as the used AI seems to play really random, so we basically win after 3 turns anyway. So lets get us a real challenge.

Read full post


We receive the following info:

Building the future web, together. 


After loading the page we are presented with:

Read full post

First a disclaimer, we did not actually solve this challenge during the competition, but the servers were left running…

A server is provided: nc 22555

It greets us with the following text:

| Welcome to the Yunnyit crypto task! |
| Options:                            |
| [M]ixed encryption function of FLAG |
| [D]ecrypting cipher                 |
| [E]ncryption & decryption function  |
| [F]LAG encrypting...                |
| [Q]uit                              |
Submit a printable string X, such that sha256(X)[-6:] = 92730d
Read full post

/upb/hack e.V.
IBAN: DE91472601218328783500

Wir sind ein eingetragener, gemeinnütziger Verein. Für eine Spendenquittung wenden Sie sich bitte an: [email protected]

Unsere digitale Spendenquittung können Sie mit dem folgenden Zertifikat verifizieren: Zertifikat