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 31337 Download: EZDSA.tar.gz (containing 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 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


Challenge was available at (password: wctf2018, SHA1 HASH: 7efe988b1f9fe283e4f3d9bd073d1a97a93f51ee).


Encrypted message for user "admin":


admin public key:

n = 483901264006946269405283937218262944021205510033824140430120406965422208942781742610300462772237450489835092525764447026827915305166372385721345243437217652055280011968958645513779764522873874876168998429546523181404652757474147967518856439439314619402447703345139460317764743055227009595477949315591334102623664616616842043021518775210997349987012692811620258928276654394316710846752732008480088149395145019159397592415637014390713798032125010969597335893399022114906679996982147566245244212524824346645297637425927685406944205604775116409108280942928854694743108774892001745535921521172975113294131711065606768927
e = 65537


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, flag.txt, key_pub.pem)
nc 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 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


We were given a binary smcauth together with a verilog file smcauth_syn.v and a server address. It can act as server:

./smcauth verify --secret aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa --netlist smcauth_syn.v [--listen ip:port]

and client:

./smcauth auth --secret aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa --netlist smcauth_syn.v [--verifier ip:port]

The client tells us whether the secret was "correct", or rather whether the circuit specified by --netlist evaluates to true, taking the client's and server's secret as input.

May 14 13:31:42.775 INFO authentication successful

May 14 13:31:57.274 WARN authentication failed

At this point, it is pretty obvious that we need to obtain the server's secret.

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