The Joseph Challenge
APender’s Ark Challenge page tracks his progress through all challenges published by Ark (an incredible clientside web challenge author, and web author in general).
The Ark Challenge inspired me to go searching for a collection of challenges that would allow me to do something similar for binary exploitation and other areas of cybersecurity that I want to improve at, such as cryptography.
After a lot of fruitless Google searching, I decided to see if anyone else had repositories of the same name as Ark’s my-ctf-challenges repository. I did a quick Google dork and sifted through the results.
Lo-and-behold, Joseph–of Skateboarding Dog fame–was the third result, and the rest is history.
As with APender’s Ark Challenge page, I’m using this page to track my progress through all of Joseph’s CTF challenges.
If you’re doing a similar sort of challenge, you might find my generate-challenge-index.py script useful. I created it to scrape all of the challenges from Joseph’s challenge repository and reorganise them by difficulty. You can likely update it to fit your needs.
Difficulty: 👶
| Name | Category | Solved? | Writeup |
|---|---|---|---|
| rot-i | crypto | No | Not written |
| no strings | reversing | No | Not written |
| Substitution Cipher I | crypto | No | Not written |
| babyp(y)wn | pwn | No | Not written |
| source provided | rev | No | Not written |
| baby arx | crypto | No | Not written |
| static file server | beginner | No | Not written |
| downunderflow | beginner | No | Not written |
| complementary | beginner | No | Not written |
| randomly chosen | beginner | No | Not written |
| flag art | beginner | No | Not written |
| one byte | beginner | No | Not written |
| confusing | beginner | No | Not written |
| number mashing | beginner | No | Not written |
| vector overflow | beginner | No | Not written |
| yawa | beginner | No | Not written |
Difficulty: ⭐️
| Name | Category | Solved? | Writeup |
|---|---|---|---|
| babyrsa | crypto | No | Not written |
| Substitution Cipher II | crypto | No | Not written |
| treasure | crypto | No | Not written |
| flag loader | reversing | No | Not written |
| write what where | pwn | No | Not written |
| js lock | rev | No | Not written |
| login | pwn | No | Not written |
| oracle for block cipher enthusiasts | crypto | No | Not written |
| cheap ring theory | crypto | No | Not written |
| rsa interval oracle i | crypto | No | Not written |
| noteworthy | web | No | Not written |
| ezpz-rev | rev | No | Not written |
| ezpz-pwn | pwn | No | Not written |
| last digit | misc | No | Not written |
| Crypto Casino | blockchain | No | Not written |
| apbq rsa i | crypto | No | Not written |
| masked squares flag checker | rev | No | Not written |
| decrypt then eval | crypto | No | Not written |
| sign in | pwn | No | Not written |
| jmp flag | rev | No | Not written |
| pac shell | pwn | No | Not written |
| SwiftPasswordManager: ClickMe | rev | No | Not written |
| fakeobj.py | pwn | No | Not written |
| yet another login | crypto | No | Not written |
| Touch Grass | game | No | Not written |
| supeRSAnic v1.0 | crypto | No | Not written |
| Long String of Flags | game | No | Not written |
| Ruff-undable Goods | game, web | No | Not written |
| dockjmp | pwn | No | Not written |
| Colliding Heritage | crypto | No | Not written |
| Echo Command Breaker | crypto | No | Not written |
| Greeter | pwn | No | Not written |
Difficulty: ⭐️⭐️
| Name | Category | Solved? | Writeup |
|---|---|---|---|
| Extra Cool Block Chaining | crypto | No | Not written |
| Hex Shift Cipher | crypto | No | Not written |
| Cosmic Rays | crypto | No | Not written |
| connect the dots | reversing | No | Not written |
| ready, bounce, pwn! | pwn | No | Not written |
| gamer | reversing | No | Not written |
| flag printer | reversing | No | Not written |
| bullet hell | reversing | No | Not written |
| rsa interval oracle ii | crypto | No | Not written |
| xva | rev | No | Not written |
| rsa interval oracle iii | crypto | No | Not written |
| time locked | crypto | No | Not written |
| click the flag | rev | No | Not written |
| kv_db | pwn | No | Not written |
| file magic | misc | No | Not written |
| pac | pwn | No | Not written |
| shifty mem | pwn | No | Not written |
| mini dns server | misc | No | Not written |
| sideways | rev | No | Not written |
| fnv | crypto | No | Not written |
| binary mail | pwn | No | Not written |
| apbq rsa ii | crypto | No | Not written |
| lcg card gimmicks | crypto | No | Not written |
| number theoretic flag checker | rev | No | Not written |
| pressing buttons | rev | No | Not written |
| dungeon | rev | No | Not written |
| sheep farm simulator | pwn | No | Not written |
| average assembly assignment | rev | No | Not written |
| pkijs< | misc | No | Not written |
| Poly1305 OTM | crypto | No | Not written |
| SwiftPasswordManager: LoadMe | rev | No | Not written |
| SwiftPasswordManager: CrackMe | rev | No | Not written |
| rw.py | pwn | No | Not written |
| SH-RSA | crypto | No | Not written |
| Okay Buddy | game, rev | No | Not written |
| uppawcase | misc, pwn | No | Not written |
| disc | crypto | No | Not written |
| Lucky Visitor | pwn, ios | No | Not written |
| LibEatPan | misc | No | Not written |
| Uninvited Visitor | game, crypto | No | Not written |
| supeRSAnic v2.0 | crypto | No | Not written |
| Pixelize as a Service | game, pwn | No | Not written |
| Kyber Noncense | crypto | No | Not written |
| Biased Heritage | crypto | No | Not written |
| Cryptography 101 Final Exam | crypto | No | Not written |
| Discrete Leaky PRNG | crypto | No | Not written |
Difficulty: ⭐️⭐️⭐️
| Name | Category | Solved? | Writeup |
|---|---|---|---|
| ImpECCable | crypto | No | Not written |
| 1337crypt | crypto | No | Not written |
| encrypted note | pwn | No | Not written |
| flag checker | reversing | No | Not written |
| power sign | crypto | No | Not written |
| yadlp | crypto | No | Not written |
| 1337crypt v2 | crypto | No | Not written |
| Substitution Cipher III | crypto | No | Not written |
| battlesweeper | misc | No | Not written |
| faulty arx | crypto | No | Not written |
| rsa interval oracle iv | crypto | No | Not written |
| EVM Vault Mechanism | blockchain | No | Not written |
| 1337crypt v3 | crypto | No | Not written |
| advanced vector expositions | rev | No | Not written |
| handshake | crypto | No | Not written |
| encrypted mail | crypto | No | Not written |
| ESPecially secure boot | pwn | No | Not written |
| adorable encrypted animal | rev | No | Not written |
| pkijs= | misc | No | Not written |
| certvalidated | crypto | No | Not written |
| encrypted file server | pwn, crypto | No | Not written |
| Ruby Chef | web | No | Not written |
| ESPer Flag Checker | rev | No | Not written |
| Additional Emoji Suffering | crypto | No | Not written |
Difficulty: ⭐️⭐️⭐️⭐️
| Name | Category | Solved? | Writeup |
|---|---|---|---|
| kyber± | crypto | No | Not written |
| dilithium± | crypto | No | Not written |
| kyber decryption oracle | crypto | No | Not written |