Welcome to CryptoHack! These introductory challenges are designed to walk you through the process of solving challenges and submitting flags. Complete the challenges to earn your first gold trophy.
Each challenge is designed to help introduce you to a new piece of cryptography. Solving a challenge will require you to find a "flag".
These flags will usually be in the format crypto{y0ur_f1rst_fl4g}
. The flag format helps you verify that you found the correct solution.
Try submitting this flag into the form below to solve your first challenge.
You must be logged in to submit your flag.
Modern cryptography involves code, and code involves coding. CryptoHack provides a good opportunity to sharpen your skills.
Of all modern programming languages, Python 3 stands out as ideal for quickly writing cryptographic scripts and attacks. For more information about why we think Python is so great for this, please see the FAQ.
Run the attached Python script and it will output your flag.
Challenge files:
- great_snakes.py
Resources:
- Downloading Python
You must be logged in to submit your flag.
Several of the challenges are dynamic and require you to talk to our challenge servers over the network. This allows you to perform man-in-the-middle attacks on people trying to communicate, or directly attack a vulnerable service. To keep things consistent, our interactive servers always send and receive JSON objects.
Python makes such network communication easy with the telnetlib
module. Conveniently, it's part of Python's standard library, so let's use it for now.
For this challenge, connect to socket.cryptohack.org
on port 11112
. Send a JSON object with the key buy
and value flag
.
The example script below contains the beginnings of a solution for you to modify, and you can reuse it for later challenges.
Connect at nc socket.cryptohack.org 11112
Challenge files:
- telnetlib_example.py
You must be logged in to submit your flag.
You are now level Current level