Introduction
picoCTF 2026 is the biggest season the archive on this site has covered: 70 solved challenges against 41 the year before, spread across seven categories instead of six. If you are picking it up now in picoGym and wondering where to start, the short answer is General Skills, which went from five challenges to seventeen and is now by a wide margin the friendliest way in.
This guide is the index I wanted while working through it. Every challenge below links to a full walkthrough, grouped by category, with a line on what it actually teaches rather than what its name suggests. There is also a section on what the season rewarded, because the pattern is unusually clear this year and it tells you what to practise.
Only three of the ten web challenges are SQL injection. Five are authentication, and no two of them break it the same way.
That is the kind of thing a season index is actually for, and there are three more like it below.
The season in numbers
| Category | Challenges | The shape of it |
|---|---|---|
| General Skills | 17 | Linux, encoding, SMB, git, Kubernetes. The category grew more than any other |
| Cryptography | 12 | Four RSA, two LFSR, two lattice. Harder on average than 2025 |
| Reverse Engineering | 11 | Custom ciphers in binaries, plus a two-part Frida instrumentation set |
| Web Exploitation | 10 | Half of them are authentication bypass. Almost an auth category |
| Binary Exploitation | 8 | Four stack overflows, three heap bugs, one static-analysis quiz |
| Forensics | 8 | Six are disk images, and three of those are one git-archaeology series |
| Blockchain | 4 | New category. Solidity, and the four bugs everyone teaches first |
By difficulty the split is 15 easy, 41 medium, 14 hard. That medium block is where the season lives, and it is worth knowing that picoCTF's medium has drifted upward: several of these would have been labelled hard three years ago.
What changed in 2026
Four things, and each one is a hint about what to practise.
1. Blockchain is a real category now
Four Solidity challenges, and they are the canonical four: Access_Control, Reentrance, Smart_Overflow, and Front_Running. If you have done any Ethernaut-style exercise you will recognise all four immediately. If you have not, this is the gentlest introduction to smart contract bugs that exists, and four challenges is enough to leave you genuinely able to read a contract.
2. Git stopped being a General Skills novelty
Four challenges involve git, and the interesting three are a Forensics series. Each hands you a disk image, and the repository inside it has had its evidence deleted through the normal git interface, which does not delete anything. The fourth, MY GIT, is about a different git weakness entirely: commit author fields are typed in by the client, so a server that grants access based on who a commit says it is from can be impersonated with two lines of git config.
git log shows you the history someone chose to present. git cat-file --batch-all-objects --batch-check shows you every object the repository still holds, including the ones no branch or tag points at. Dangling blobs from amended commits, deleted branches, and dropped stashes all survive there until garbage collection runs, and on a disk image handed to you as evidence it never has.# Every object, reachable or notgit cat-file --batch-all-objects --batch-check# Everything HEAD has ever pointed at, including 'lost' commitsgit reflog --all# What git itself considers unreachablegit fsck --lost-found --unreachable# Read one out by hashgit cat-file -p <hash>
3. Web became an authentication category
Five of the ten web challenges break authentication, and no two break it the same way: a debug endpoint that lists live sessions (Old Sessions), sequential profile IDs behind a hash (Hashgate), a one-time code sitting in a signed-but-readable session cookie (No FA), passwords reused from a breach dump (Credential Stuffing), and a fixed-window rate limit you can simply wait out (Fool the Lockout).
Solve all five and you have a working model of how logins fail, which is worth more than any single payload. It is also a better argument for reading authentication bypass and IDOR than I could write.
4. Encoding is the most common single skill
Eight challenges turn on reading or producing an encoding, more than any other single technique in the season. The four-part bytemancy series walks the gap between a character and a byte in four steps: what a code point is, how to answer with one, how to send bytes no keyboard can type, and finally how to pack four function addresses out of a non-PIE binary and send those. That last step is quietly a binary exploitation lesson wearing a General Skills badge.
How to plan a run at it
Seventy challenges is a lot. Three routes through, depending on why you are here.
| You are | Do this | Roughly |
|---|---|---|
| New to CTF | The 15 easy challenges, all of them, in order of category size. Start with Undo and Binary Digits. Read the beginners guide first | A weekend |
| Comfortable, want breadth | Two challenges from every category, easy then medium. The seven-category spread is the point: this season is unusually good for finding out which category you actually like | A week of evenings |
| Practising for a real event | The 14 hard ones, plus the three that impose their own clock: Autorev 1 sends 20 binaries at one second each, offset-cycle regenerates its binary per instance and gives you about 120 seconds, and offset-cycleV2 is a race by design. Nothing else in picoCTF rehearses competition pressure this directly | Ongoing |
General Skills (17)
The category that grew from five challenges to seventeen, and the reason 2026 is a good season to start with. It is also the least accurately named: SMB enumeration and Kubernetes secrets are not general skills by any normal reading, and the three-part Printer Shares series would be at home in a network pentest course.
| Challenge | What it teaches | Difficulty |
|---|---|---|
| Undo | Reversing a chain of text transforms. The best first challenge of the season | Easy |
| MultiCode | Layered classic encodings, peeled one at a time | Easy |
| bytemancy 0 | ASCII, and what a program sees when you type a character | Easy |
| bytemancy 1 | Decoding a request and answering it with exact bytes | Easy |
| bytemancy 2 | Sending raw byte values rather than printable characters | Medium |
| bytemancy 3 | Read four function addresses out of a non-PIE binary and send them packed | Medium |
| MY GIT | Commit author fields are self-reported, so access control built on them is impersonation | Easy |
| Piece by Piece | Reassemble a split archive in the right order, then open it with the password | Easy |
| SUDO MAKE ME A SANDWICH | The sudo grant is emacs, and emacs spawns a shell. The GTFOBins reflex | Easy |
| Password Profiler | Build a wordlist from one person's details with CUPP, then crack their SHA-1 | Easy |
| ping-cmd | Command injection through an unsanitised system call | Easy |
| Printer Shares | SMB enumeration. Anonymous access to a print server | Easy |
| ABSOLUTE NANO | A sudo grant on nano is a sudo grant on /etc/sudoers, which is a sudo grant on everything | Medium |
| Failure Failure | Flood the primary until HAProxy fails over to the softer backup | Medium |
| KSECRETS | kubectl, and the fact that a Kubernetes Secret is base64, not encryption | Medium |
| Printer Shares 2 | Read the anonymous share, then brute-force a named user against the restricted one | Hard |
| Printer Shares 3 | An anonymously writable share holds a script that root's cron runs. Overwrite it | Hard |
Background reading: the Linux command line for CTF, encodings for the bytemancy set, Linux privilege escalation for the sudo and restricted shell challenges, command injection for ping-cmd, and hash cracking for Password Profiler. The category hub is the General Skills roadmap.
Cryptography (12)
The most demanding category of the season, and the one where a maths gap shows up fastest. Two challenges want lattice reduction, which is a real step up from what picoCTF crypto usually asks for. Four are RSA, and usefully they are four different RSA attacks rather than four variations on small exponents.
| Challenge | What it teaches | Difficulty |
|---|---|---|
| Shared Secrets | Key exchange with one private exponent leaked, which is the whole of the secret | Easy |
| StegoRSA | The private key is hex in an EXIF field. The maths is untouched and irrelevant | Easy |
| ClusterRSA | Multi-prime RSA. The modulus factors into more than two primes | Medium |
| Related Messages | Franklin-Reiter related message attack, with a shared modulus | Medium |
| Small Trouble | Wiener's attack: a private exponent small enough for continued fractions to find | Medium |
| shift registers | An LFSR with an 8-bit seed, so brute force beats Berlekamp-Massey to the answer | Medium |
| cryptomaze | An LFSR feeding an AES key. Two layers, one weak | Medium |
| Timestamped Secrets | A key derived from a timestamp, so the keyspace is a search | Medium |
| Black Cobra Pepper | AES with SubBytes removed. Drop the only non-linear step and it is XOR with a constant | Medium |
| Not TRUe | NTRU at too small a dimension, so LLL reads the private key off the public one | Medium |
| Secure Dot Product | SHA-512 length extension to forge vectors, then 32 equations solved over Z/256 | Hard |
| MSS_ADVANCE Revenge | Secret sharing with fewer shares than the threshold, broken by lattice | Hard |
The prerequisites, in the order they help: modular arithmetic, RSA attacks for four of these directly, elliptic curves and Diffie-Hellman for Shared Secrets, stream ciphers for the two LFSR challenges, AES for cryptomaze and Timestamped Secrets, and custom cipher reversing for Black Cobra Pepper, and hash length extension for the first half of Secure Dot Product. The cryptography roadmap orders the whole category.
Reverse Engineering (11)
Two clear themes. Half the category is a transformation somebody wrote themselves, XOR or multiplication or a shift, sitting inside a binary next to its own key. The other theme is that reading the algorithm is often the slower path: Secure Password Database and JITFP both fall faster to a breakpoint than to a decompiler, and two more want Frida attached to a running Windows process, which picoCTF has not leaned on this hard before.
| Challenge | What it teaches | Difficulty |
|---|---|---|
| Secure Password Database | Stop reversing the hash. Break on it in GDB and read the return value | Medium |
| Bypass Me | An XOR-encoded password compiled into the binary, read in Ghidra or leaked in LLDB | Medium |
| Gatekeeper | A length check and a value check disagree, and hex encoding lives in the gap | Medium |
| Autorev 1 | Twenty binaries at one second each, so you write a Capstone solver, not a decompiler workflow | Medium |
| Hidden Cipher 1 | UPX-packed. Unpack it and the XOR key is sitting next to the ciphertext | Medium |
| Hidden Cipher 2 | The service multiplies each flag character by the answer to its own maths question | Medium |
| The Add/On Trap | Unpack an extension, read its manifest permissions, then decode the strings it hides | Medium |
| Silent Stream | Pull the right TCP stream out of a capture, then subtract the constant it was shifted by | Medium |
| Binary Instrumentation 3 | Frida against a packed Windows binary, catching it unpacked in memory | Hard |
| Binary Instrumentation 4 | Frida rewriting behaviour: hook connect() to your own listener, force a check to return 0 | Hard |
| JITFP | The password only exists as function pointers patched in at runtime. Static analysis cannot win | Hard |
Reading for this category: Ghidra for the decompiler work, Frida for the instrumentation pair, binary patching and crackmes for Bypass Me and Gatekeeper, custom cipher reversing for both Hidden Ciphers, JavaScript deobfuscation for The Add/On Trap, side channel attacks for JITFP, and the reverse engineering roadmap for the order to learn them in.
Web Exploitation (10)
The most interesting category of the season, because it is not really about injection. Five of the ten are authentication failures, and they are chosen to be five different ones, so working through the set leaves you with an actual model of how login systems break rather than one payload you can type.
| Challenge | What it teaches | Difficulty |
|---|---|---|
| Old Sessions | A debug endpoint lists every live session. Take the admin's. The most-read 2026 walkthrough on this site | Easy |
| Hashgate | Profile IDs hashed but sequential underneath, so you count your way to the admin | Medium |
| No FA | Crack the admin hash, then read the one-time code straight out of the Flask session cookie | Medium |
| Credential Stuffing | Replay a breach dump against a TCP login service. Pure scripting practice | Medium |
| Fool the Lockout | A fixed-window lockout, so the script waits it out instead of beating it | Medium |
| Sql Map1 | SQL injection into a search endpoint, then an unsalted MD5 | Medium |
| Secret Box | Injection through a stored content field, nowhere near the login form | Medium |
| North-South | A real GeoIP block. No header spoof helps; you route through the country | Medium |
| ORDER ORDER | Second-order injection again, firing in a report generator | Hard |
| paper-2 | XSLT injection, then a Redis cache-eviction side channel because CSP closes every other exit | Hard |
Reading: authentication bypass and IDOR covers the five auth challenges directly, cookies and JWTs for Old Sessions and No FA, sqlmap and SQL injection for the three injection ones, HTTP for CTF for North-South and Failure Failure, hash cracking for Hashgate and Sql Map1, and the web exploitation roadmap for the category as a whole.
Binary Exploitation (8)
The smallest it has been in a while, and gentler than its reputation. Four of the eight are stack overflows that end in a call to win(), three are heap bugs, and one is a reading exercise with no exploit in it at all. Note that the two Echo Escape challenges are tagged format string and are nothing of the kind; if you go in expecting %n you will waste an hour. If you have never written an exploit, Quizploit is a deliberate on-ramp.
| Challenge | What it teaches | Difficulty |
|---|---|---|
| Quizploit | Thirteen questions about a binary. checksec and objdump, no exploit | Easy |
| offset-cycle | Cyclic pattern, offset, ret2win, in a fresh binary every instance with a 120 second budget | Medium |
| Echo Escape 1 | A stack overflow, an address for win(), and one payload. The category's hello world | Medium |
| Echo Escape 2 | fgets() given a size larger than its buffer, which is gets() with better manners | Medium |
| tea-cash | Heap arithmetic: a 0x80 request becomes a 0x90 chunk, and the offsets follow from that | Medium |
| offset-cycleV2 | NX is off, so skip the gadget hunt: one jmp rsp and your shellcode runs. Also timed | Hard |
| Heap Havoc | An unbounded strcpy into a chunk that sits directly before a callback pointer | Hard |
| Pizza Router | A signed array index, so a negative one walks backwards into earlier allocations | Hard |
Reading: buffer overflows covers four of the eight on its own, then heap exploitation and use after free for tea-cash, Heap Havoc and Pizza Router, and shellcode for offset-cycleV2, where NX being off makes writing your own the short path. pwntools and gdb are the tooling, integer overflow explains the signed index in Pizza Router, and the binary exploitation roadmap is the ladder.
pwntools script that connects, sends a cyclic pattern, catches the crash, and prints the offset, and keep it somewhere you can find it in ten seconds. Inside a 120 second budget that file is the difference between solving it and watching the instance expire, and it is the same file you will want at every event you ever enter.Forensics (8)
Six of the eight are disk images, and three of those are one series about the same idea: git does not delete things, it stops pointing at them. Do Forensics Git 0 first, because it teaches the object-store technique the other two need. The two Timeline challenges are tagged git and never open a repository; they are timestamp analysis, which is a different skill wearing the same label.
| Challenge | What it teaches | Difficulty |
|---|---|---|
| Binary Digits | Binary digits, one decode. The easiest challenge in the season | Easy |
| Forensics Git 0 | Mount the image, then search the object store instead of the working tree | Medium |
| Forensics Git 1 | The flag is in an object no branch points at, which git keeps until a gc it never runs | Medium |
| Forensics Git 2 | The ref directories are gone. Recreate them, then let the reflog point at the old HEAD | Medium |
| Timeline 0 | Build a filesystem timeline and the planted file announces itself with a 1985 date | Medium |
| Timeline 1 | Timestomping's tell: modified, accessed, changed and born all at the same instant | Medium |
| DISKO 4 | Deletion frees the inode and leaves the blocks. Find the inode, icat it back | Medium |
| Rogue Tower | Take the IMSI from a User-Agent, rebuild the base64 exfil, XOR it with the IMSI tail | Medium |
Reading: git forensics for the five git challenges, disk forensics for DISKO 4 and the Timelines, Wireshark and pcap analysis for Rogue Tower, encodings for Binary Digits, and the forensics roadmap for the category.
Blockchain (4)
The new category, and a well-designed introduction. Each challenge is one classic Solidity bug, in isolation, with nothing else in the way. You interact with a deployed contract rather than reversing anything, so the whole difficulty is in reading the contract and seeing what the author assumed.
| Challenge | The bug | Difficulty |
|---|---|---|
| Access_Control | A privileged function without a modifier guarding it | Medium |
| Smart_Overflow | Arithmetic that wraps around in balance tracking | Medium |
| Reentrance | State updated after the external call, so the call can re-enter | Hard |
| Front_Running | The mempool is public, so your transaction is a preview | Hard |
Smart contract bugs in CTF covers all four patterns, and integer overflow covers the arithmetic one from the other direction, since the same wraparound logic shows up in C.
The five worth doing anyway
If you are not going to work through seventy challenges, work through these. Each one teaches something that transfers well beyond picoCTF, and between them they cover five different disciplines.
| Challenge | Why this one |
|---|---|
| Forensics Git 0 | Git as a content-addressable object store rather than a version control UI. This changes how you look at every repository afterwards, including your own |
| Old Sessions | The cheapest possible lesson in why session invalidation is a separate problem from authentication. It is also the most-read 2026 walkthrough on this site, which suggests a lot of people got stuck on it |
| Secret Box | Second-order injection, which is the version of SQL injection that survives in real applications because the obvious defence is applied at the wrong boundary |
| bytemancy 2 | Sending bytes rather than characters. Half of all "my exploit works locally and not remotely" problems are this misunderstanding |
| Related Messages | Franklin-Reiter. The clearest demonstration that RSA breaks on how it is used far more often than on the factoring problem itself |
What to learn before next season
Reading a season backwards is the cheapest form of preparation there is. Four things from 2026 that will keep paying:
| Skill | Why | Start here |
|---|---|---|
| Git internals | Four challenges, three of them one series. Objects, refs, reflog, and what deletion does not do | Git forensics |
| Encodings, precisely | Eight challenges, from a numeric base to sending bytes no keyboard can produce | CTF encodings |
| Auth as a system | Five challenges, five distinct failures. Sessions, identifiers, second factors, credential reuse, rate limits | Auth bypass and IDOR |
| Dynamic instrumentation | Two hard challenges wanted Frida, and packed binaries are only going to get more common | Frida for CTF |
If you want the ordered path rather than the season index, the six category roadmaps are the better entry point: General Skills, Web, Cryptography, Reverse Engineering, Binary Exploitation, and Forensics. If you are new to all of it, start at how to start CTF and come back here when a category name means something to you.
Sources and further reading
Counts and category splits come from the 70 picoCTF 2026 walkthroughs published on this site. Everything else is the primary documentation for the tools the season asks for.
- picoCTF and the picoGym practice archive, where every challenge here stays playable after the competition ends.
- Pro Git, Git Internals for the object model the Forensics Git series is built on, and the reason
git fsck --lost-foundfinds thingsgit logdoes not. - The Frida documentation for the instrumentation pair, in particular the Interceptor and Memory APIs.
- The Sleuth Kit for the disk image work behind DISKO 4 and both Timeline challenges.
- The kubectl reference for KSECRETS, and specifically for what a Kubernetes Secret is and is not.
- The Solidity documentation for the Blockchain category, including the checked arithmetic change in 0.8.0 that Smart_Overflow has to work around.
