Practice arena
CTF Arena — 300 free challenges
Standalone CTF puzzles — separate from Academy Labs. Each challenge includes steps to recover the flag. Beginner · Intermediate · Expert. Submit CYBERLIUM{...} for XP. For live vulnerable apps, use Labs.Sign in so XP lands on your account.
How to solve a CTF challenge
- 1
Sign in
Log in to earn XP. You can still read challenges while signed out.
- 2
CTF ≠ Labs
Academy Labs are live vulnerable apps under Labs. CTF challenges are separate self-contained puzzles — they do not open lab sandboxes.
- 3
Open a CTF challenge
Pick Beginner / Intermediate / Expert, then open a card.
- 4
Follow “How to get the flag”
Each challenge includes step-by-step solve instructions (decode, search logs, join strings, etc.).
- 5
Submit CYBERLIUM{...}
Paste the recovered flag and Submit. Correct = XP. Wrong = try again.
- Crypto·Beginner100 XP
ROT13 Memo #1
Ops memo obfuscated with ROT13: PLOREYVHZ{pelcgb_cnpx_001} Recover the plaintext flag. CTF only — separate from Labs.
How to get the flag
- Copy the ROT13 ciphertext.
- Apply ROT13 again (it is symmetric) using CyberChef or: tr 'A-Za-z' 'N-ZA-Mn-za-m'
- +2 more steps inside →
- Crypto·Beginner100 XP
Caesar Shift-5 #2
Ciphertext (Caesar +5): HDGJWQNZR{hwduyt_ufhp_002} Shift letters back by 5. Digits and symbols stay. CTF puzzle (not a Lab).
How to get the flag
- Treat A–Z / a–z as a Caesar cipher with shift +5.
- Decode by shifting each letter back by 5 (or forward by 21).
- +2 more steps inside →
- Crypto·Beginner100 XP
Hex Dump #3
Hex-encoded flag: 43594245524c49554d7b63727970746f5f7061636b5f3030337d Convert hex → ASCII. CTF challenge — Labs are unrelated.
How to get the flag
- Copy the hex string (even length).
- Decode: xxd -r -p or python -c "print(bytes.fromhex('...').decode())"
- +2 more steps inside →
- Crypto·Beginner100 XP
XOR Key 0x24 #4
Each byte XOR'd with 0x24: 677d666176686d71695f47565d54504b7b5445474f7b14141059 Recover plaintext. Standalone CTF — not linked to Labs.
How to get the flag
- Parse the hex into bytes.
- XOR every byte with 0x24.
- +2 more steps inside →
- Crypto·Beginner100 XP
Base64 Packet #5
A captured token is Base64-encoded: Q1lCRVJMSVVNe2NyeXB0b19wYWNrXzAwNX0= Decode it to recover the CTF flag. This is a CTF puzzle — not an Academy Lab.
How to get the flag
- Copy the Base64 string from the problem statement.
- Decode with: echo '<string>' | base64 -d (Cloud Shell / Linux) or an online Base64 decoder.
- +2 more steps inside →
- Crypto·Beginner100 XP
ROT13 Memo #6
Ops memo obfuscated with ROT13: PLOREYVHZ{pelcgb_cnpx_006} Recover the plaintext flag. CTF only — separate from Labs.
How to get the flag
- Copy the ROT13 ciphertext.
- Apply ROT13 again (it is symmetric) using CyberChef or: tr 'A-Za-z' 'N-ZA-Mn-za-m'
- +2 more steps inside →
- Crypto·Beginner100 XP
Caesar Shift-10 #7
Ciphertext (Caesar +10): MILOBVSEW{mbizdy_zkmu_007} Shift letters back by 10. Digits and symbols stay. CTF puzzle (not a Lab).
How to get the flag
- Treat A–Z / a–z as a Caesar cipher with shift +10.
- Decode by shifting each letter back by 10 (or forward by 16).
- +2 more steps inside →
- Crypto·Beginner100 XP
Hex Dump #8
Hex-encoded flag: 43594245524c49554d7b63727970746f5f7061636b5f3030387d Convert hex → ASCII. CTF challenge — Labs are unrelated.
How to get the flag
- Copy the hex string (even length).
- Decode: xxd -r -p or python -c "print(bytes.fromhex('...').decode())"
- +2 more steps inside →
- Crypto·Beginner100 XP
XOR Key 0x29 #9
Each byte XOR'd with 0x29: 6a706b6c7b65607c64524a5b50595d467659484a427619191054 Recover plaintext. Standalone CTF — not linked to Labs.
How to get the flag
- Parse the hex into bytes.
- XOR every byte with 0x29.
- +2 more steps inside →
- Crypto·Beginner100 XP
Base64 Packet #10
A captured token is Base64-encoded: Q1lCRVJMSVVNe2NyeXB0b19wYWNrXzAxMH0= Decode it to recover the CTF flag. This is a CTF puzzle — not an Academy Lab.
How to get the flag
- Copy the Base64 string from the problem statement.
- Decode with: echo '<string>' | base64 -d (Cloud Shell / Linux) or an online Base64 decoder.
- +2 more steps inside →
- Crypto·Beginner100 XP
ROT13 Memo #11
Ops memo obfuscated with ROT13: PLOREYVHZ{pelcgb_cnpx_011} Recover the plaintext flag. CTF only — separate from Labs.
How to get the flag
- Copy the ROT13 ciphertext.
- Apply ROT13 again (it is symmetric) using CyberChef or: tr 'A-Za-z' 'N-ZA-Mn-za-m'
- +2 more steps inside →
- Crypto·Beginner100 XP
Caesar Shift-5 #12
Ciphertext (Caesar +5): HDGJWQNZR{hwduyt_ufhp_012} Shift letters back by 5. Digits and symbols stay. CTF puzzle (not a Lab).
How to get the flag
- Treat A–Z / a–z as a Caesar cipher with shift +5.
- Decode by shifting each letter back by 5 (or forward by 21).
- +2 more steps inside →
- Crypto·Beginner100 XP
Hex Dump #13
Hex-encoded flag: 43594245524c49554d7b63727970746f5f7061636b5f3031337d Convert hex → ASCII. CTF challenge — Labs are unrelated.
How to get the flag
- Copy the hex string (even length).
- Decode: xxd -r -p or python -c "print(bytes.fromhex('...').decode())"
- +2 more steps inside →
- Crypto·Beginner100 XP
XOR Key 0x2e #14
Each byte XOR'd with 0x2e: 6d776c6b7c62677b63554d5c575e5a41715e4f4d45711e1f1a53 Recover plaintext. Standalone CTF — not linked to Labs.
How to get the flag
- Parse the hex into bytes.
- XOR every byte with 0x2e.
- +2 more steps inside →
- Crypto·Beginner100 XP
Base64 Packet #15
A captured token is Base64-encoded: Q1lCRVJMSVVNe2NyeXB0b19wYWNrXzAxNX0= Decode it to recover the CTF flag. This is a CTF puzzle — not an Academy Lab.
How to get the flag
- Copy the Base64 string from the problem statement.
- Decode with: echo '<string>' | base64 -d (Cloud Shell / Linux) or an online Base64 decoder.
- +2 more steps inside →
- Crypto·Beginner100 XP
ROT13 Memo #16
Ops memo obfuscated with ROT13: PLOREYVHZ{pelcgb_cnpx_016} Recover the plaintext flag. CTF only — separate from Labs.
How to get the flag
- Copy the ROT13 ciphertext.
- Apply ROT13 again (it is symmetric) using CyberChef or: tr 'A-Za-z' 'N-ZA-Mn-za-m'
- +2 more steps inside →
- Crypto·Beginner100 XP
Caesar Shift-10 #17
Ciphertext (Caesar +10): MILOBVSEW{mbizdy_zkmu_017} Shift letters back by 10. Digits and symbols stay. CTF puzzle (not a Lab).
How to get the flag
- Treat A–Z / a–z as a Caesar cipher with shift +10.
- Decode by shifting each letter back by 10 (or forward by 16).
- +2 more steps inside →
- Crypto·Beginner100 XP
Hex Dump #18
Hex-encoded flag: 43594245524c49554d7b63727970746f5f7061636b5f3031387d Convert hex → ASCII. CTF challenge — Labs are unrelated.
How to get the flag
- Copy the hex string (even length).
- Decode: xxd -r -p or python -c "print(bytes.fromhex('...').decode())"
- +2 more steps inside →
- Crypto·Beginner100 XP
XOR Key 0x33 #19
Each byte XOR'd with 0x33: 706a7176617f7a667e4850414a43475c6c435250586c03020a4e Recover plaintext. Standalone CTF — not linked to Labs.
How to get the flag
- Parse the hex into bytes.
- XOR every byte with 0x33.
- +2 more steps inside →
- Crypto·Beginner100 XP
Base64 Packet #20
A captured token is Base64-encoded: Q1lCRVJMSVVNe2NyeXB0b19wYWNrXzAyMH0= Decode it to recover the CTF flag. This is a CTF puzzle — not an Academy Lab.
How to get the flag
- Copy the Base64 string from the problem statement.
- Decode with: echo '<string>' | base64 -d (Cloud Shell / Linux) or an online Base64 decoder.
- +2 more steps inside →
- Crypto·Beginner100 XP
ROT13 Memo #21
Ops memo obfuscated with ROT13: PLOREYVHZ{pelcgb_cnpx_021} Recover the plaintext flag. CTF only — separate from Labs.
How to get the flag
- Copy the ROT13 ciphertext.
- Apply ROT13 again (it is symmetric) using CyberChef or: tr 'A-Za-z' 'N-ZA-Mn-za-m'
- +2 more steps inside →
- Crypto·Beginner100 XP
Caesar Shift-5 #22
Ciphertext (Caesar +5): HDGJWQNZR{hwduyt_ufhp_022} Shift letters back by 5. Digits and symbols stay. CTF puzzle (not a Lab).
How to get the flag
- Treat A–Z / a–z as a Caesar cipher with shift +5.
- Decode by shifting each letter back by 5 (or forward by 21).
- +2 more steps inside →
- Crypto·Beginner100 XP
Hex Dump #23
Hex-encoded flag: 43594245524c49554d7b63727970746f5f7061636b5f3032337d Convert hex → ASCII. CTF challenge — Labs are unrelated.
How to get the flag
- Copy the hex string (even length).
- Decode: xxd -r -p or python -c "print(bytes.fromhex('...').decode())"
- +2 more steps inside →
- Crypto·Beginner100 XP
XOR Key 0x38 #24
Each byte XOR'd with 0x38: 7b617a7d6a74716d75435b4a41484c576748595b5367080a0c45 Recover plaintext. Standalone CTF — not linked to Labs.
How to get the flag
- Parse the hex into bytes.
- XOR every byte with 0x38.
- +2 more steps inside →
- Crypto·Beginner100 XP
Base64 Packet #25
A captured token is Base64-encoded: Q1lCRVJMSVVNe2NyeXB0b19wYWNrXzAyNX0= Decode it to recover the CTF flag. This is a CTF puzzle — not an Academy Lab.
How to get the flag
- Copy the Base64 string from the problem statement.
- Decode with: echo '<string>' | base64 -d (Cloud Shell / Linux) or an online Base64 decoder.
- +2 more steps inside →
- Crypto·Beginner100 XP
ROT13 Memo #26
Ops memo obfuscated with ROT13: PLOREYVHZ{pelcgb_cnpx_026} Recover the plaintext flag. CTF only — separate from Labs.
How to get the flag
- Copy the ROT13 ciphertext.
- Apply ROT13 again (it is symmetric) using CyberChef or: tr 'A-Za-z' 'N-ZA-Mn-za-m'
- +2 more steps inside →
- Crypto·Beginner100 XP
Caesar Shift-10 #27
Ciphertext (Caesar +10): MILOBVSEW{mbizdy_zkmu_027} Shift letters back by 10. Digits and symbols stay. CTF puzzle (not a Lab).
How to get the flag
- Treat A–Z / a–z as a Caesar cipher with shift +10.
- Decode by shifting each letter back by 10 (or forward by 16).
- +2 more steps inside →
- Crypto·Beginner100 XP
Hex Dump #28
Hex-encoded flag: 43594245524c49554d7b63727970746f5f7061636b5f3032387d Convert hex → ASCII. CTF challenge — Labs are unrelated.
How to get the flag
- Copy the hex string (even length).
- Decode: xxd -r -p or python -c "print(bytes.fromhex('...').decode())"
- +2 more steps inside →
- Crypto·Beginner100 XP
XOR Key 0x3d #29
Each byte XOR'd with 0x3d: 7e647f786f71746870465e4f444d4952624d5c5e56620d0f0440 Recover plaintext. Standalone CTF — not linked to Labs.
How to get the flag
- Parse the hex into bytes.
- XOR every byte with 0x3d.
- +2 more steps inside →
- Crypto·Beginner100 XP
Base64 Packet #30
A captured token is Base64-encoded: Q1lCRVJMSVVNe2NyeXB0b19wYWNrXzAzMH0= Decode it to recover the CTF flag. This is a CTF puzzle — not an Academy Lab.
How to get the flag
- Copy the Base64 string from the problem statement.
- Decode with: echo '<string>' | base64 -d (Cloud Shell / Linux) or an online Base64 decoder.
- +2 more steps inside →
- Crypto·Beginner100 XP
ROT13 Memo #31
Ops memo obfuscated with ROT13: PLOREYVHZ{pelcgb_cnpx_031} Recover the plaintext flag. CTF only — separate from Labs.
How to get the flag
- Copy the ROT13 ciphertext.
- Apply ROT13 again (it is symmetric) using CyberChef or: tr 'A-Za-z' 'N-ZA-Mn-za-m'
- +2 more steps inside →
- Crypto·Beginner100 XP
Caesar Shift-5 #32
Ciphertext (Caesar +5): HDGJWQNZR{hwduyt_ufhp_032} Shift letters back by 5. Digits and symbols stay. CTF puzzle (not a Lab).
How to get the flag
- Treat A–Z / a–z as a Caesar cipher with shift +5.
- Decode by shifting each letter back by 5 (or forward by 21).
- +2 more steps inside →
- Crypto·Intermediate200 XP
Hex Dump #33
Hex-encoded flag: 43594245524c49554d7b63727970746f5f7061636b5f3033337d Convert hex → ASCII. CTF challenge — Labs are unrelated.
How to get the flag
- Copy the hex string (even length).
- Decode: xxd -r -p or python -c "print(bytes.fromhex('...').decode())"
- +2 more steps inside →
- Crypto·Intermediate200 XP
XOR Key 0x42 #34
Each byte XOR'd with 0x42: 011b0007100e0b170f3921303b32362d1d322321291d7271763f Recover plaintext. Standalone CTF — not linked to Labs.
How to get the flag
- Parse the hex into bytes.
- XOR every byte with 0x42.
- +2 more steps inside →
- Crypto·Intermediate200 XP
Base64 Packet #35
A captured token is Base64-encoded: Q1lCRVJMSVVNe2NyeXB0b19wYWNrXzAzNX0= Decode it to recover the CTF flag. This is a CTF puzzle — not an Academy Lab.
How to get the flag
- Copy the Base64 string from the problem statement.
- Decode with: echo '<string>' | base64 -d (Cloud Shell / Linux) or an online Base64 decoder.
- +2 more steps inside →
- Crypto·Intermediate200 XP
ROT13 Memo #36
Ops memo obfuscated with ROT13: PLOREYVHZ{pelcgb_cnpx_036} Recover the plaintext flag. CTF only — separate from Labs.
How to get the flag
- Copy the ROT13 ciphertext.
- Apply ROT13 again (it is symmetric) using CyberChef or: tr 'A-Za-z' 'N-ZA-Mn-za-m'
- +2 more steps inside →
- Crypto·Intermediate200 XP
Caesar Shift-10 #37
Ciphertext (Caesar +10): MILOBVSEW{mbizdy_zkmu_037} Shift letters back by 10. Digits and symbols stay. CTF puzzle (not a Lab).
How to get the flag
- Treat A–Z / a–z as a Caesar cipher with shift +10.
- Decode by shifting each letter back by 10 (or forward by 16).
- +2 more steps inside →
- Crypto·Intermediate200 XP
Hex Dump #38
Hex-encoded flag: 43594245524c49554d7b63727970746f5f7061636b5f3033387d Convert hex → ASCII. CTF challenge — Labs are unrelated.
How to get the flag
- Copy the hex string (even length).
- Decode: xxd -r -p or python -c "print(bytes.fromhex('...').decode())"
- +2 more steps inside →
- Crypto·Intermediate200 XP
XOR Key 0x47 #39
Each byte XOR'd with 0x47: 041e0502150b0e120a3c24353e373328183726242c1877747e3a Recover plaintext. Standalone CTF — not linked to Labs.
How to get the flag
- Parse the hex into bytes.
- XOR every byte with 0x47.
- +2 more steps inside →
- Crypto·Intermediate200 XP
Base64 Packet #40
A captured token is Base64-encoded: Q1lCRVJMSVVNe2NyeXB0b19wYWNrXzA0MH0= Decode it to recover the CTF flag. This is a CTF puzzle — not an Academy Lab.
How to get the flag
- Copy the Base64 string from the problem statement.
- Decode with: echo '<string>' | base64 -d (Cloud Shell / Linux) or an online Base64 decoder.
- +2 more steps inside →
- Crypto·Intermediate200 XP
ROT13 Memo #41
Ops memo obfuscated with ROT13: PLOREYVHZ{pelcgb_cnpx_041} Recover the plaintext flag. CTF only — separate from Labs.
How to get the flag
- Copy the ROT13 ciphertext.
- Apply ROT13 again (it is symmetric) using CyberChef or: tr 'A-Za-z' 'N-ZA-Mn-za-m'
- +2 more steps inside →
- Crypto·Intermediate200 XP
Caesar Shift-5 #42
Ciphertext (Caesar +5): HDGJWQNZR{hwduyt_ufhp_042} Shift letters back by 5. Digits and symbols stay. CTF puzzle (not a Lab).
How to get the flag
- Treat A–Z / a–z as a Caesar cipher with shift +5.
- Decode by shifting each letter back by 5 (or forward by 21).
- +2 more steps inside →
- Crypto·Intermediate200 XP
Hex Dump #43
Hex-encoded flag: 43594245524c49554d7b63727970746f5f7061636b5f3034337d Convert hex → ASCII. CTF challenge — Labs are unrelated.
How to get the flag
- Copy the hex string (even length).
- Decode: xxd -r -p or python -c "print(bytes.fromhex('...').decode())"
- +2 more steps inside →
- Crypto·Intermediate200 XP
XOR Key 0x24 #44
Each byte XOR'd with 0x24: 677d666176686d71695f47565d54504b7b5445474f7b14101059 Recover plaintext. Standalone CTF — not linked to Labs.
How to get the flag
- Parse the hex into bytes.
- XOR every byte with 0x24.
- +2 more steps inside →
- Crypto·Intermediate200 XP
Base64 Packet #45
A captured token is Base64-encoded: Q1lCRVJMSVVNe2NyeXB0b19wYWNrXzA0NX0= Decode it to recover the CTF flag. This is a CTF puzzle — not an Academy Lab.
How to get the flag
- Copy the Base64 string from the problem statement.
- Decode with: echo '<string>' | base64 -d (Cloud Shell / Linux) or an online Base64 decoder.
- +2 more steps inside →
- Crypto·Intermediate200 XP
ROT13 Memo #46
Ops memo obfuscated with ROT13: PLOREYVHZ{pelcgb_cnpx_046} Recover the plaintext flag. CTF only — separate from Labs.
How to get the flag
- Copy the ROT13 ciphertext.
- Apply ROT13 again (it is symmetric) using CyberChef or: tr 'A-Za-z' 'N-ZA-Mn-za-m'
- +2 more steps inside →
- Crypto·Intermediate200 XP
Caesar Shift-10 #47
Ciphertext (Caesar +10): MILOBVSEW{mbizdy_zkmu_047} Shift letters back by 10. Digits and symbols stay. CTF puzzle (not a Lab).
How to get the flag
- Treat A–Z / a–z as a Caesar cipher with shift +10.
- Decode by shifting each letter back by 10 (or forward by 16).
- +2 more steps inside →
- Crypto·Intermediate200 XP
Hex Dump #48
Hex-encoded flag: 43594245524c49554d7b63727970746f5f7061636b5f3034387d Convert hex → ASCII. CTF challenge — Labs are unrelated.
How to get the flag
- Copy the hex string (even length).
- Decode: xxd -r -p or python -c "print(bytes.fromhex('...').decode())"
- +2 more steps inside →
- Crypto·Intermediate200 XP
XOR Key 0x29 #49
Each byte XOR'd with 0x29: 6a706b6c7b65607c64524a5b50595d467659484a4276191d1054 Recover plaintext. Standalone CTF — not linked to Labs.
How to get the flag
- Parse the hex into bytes.
- XOR every byte with 0x29.
- +2 more steps inside →
- Crypto·Intermediate200 XP
Base64 Packet #50
A captured token is Base64-encoded: Q1lCRVJMSVVNe2NyeXB0b19wYWNrXzA1MH0= Decode it to recover the CTF flag. This is a CTF puzzle — not an Academy Lab.
How to get the flag
- Copy the Base64 string from the problem statement.
- Decode with: echo '<string>' | base64 -d (Cloud Shell / Linux) or an online Base64 decoder.
- +2 more steps inside →
- Crypto·Intermediate200 XP
ROT13 Memo #51
Ops memo obfuscated with ROT13: PLOREYVHZ{pelcgb_cnpx_051} Recover the plaintext flag. CTF only — separate from Labs.
How to get the flag
- Copy the ROT13 ciphertext.
- Apply ROT13 again (it is symmetric) using CyberChef or: tr 'A-Za-z' 'N-ZA-Mn-za-m'
- +2 more steps inside →
- Crypto·Intermediate200 XP
Caesar Shift-5 #52
Ciphertext (Caesar +5): HDGJWQNZR{hwduyt_ufhp_052} Shift letters back by 5. Digits and symbols stay. CTF puzzle (not a Lab).
How to get the flag
- Treat A–Z / a–z as a Caesar cipher with shift +5.
- Decode by shifting each letter back by 5 (or forward by 21).
- +2 more steps inside →
- Crypto·Intermediate200 XP
Hex Dump #53
Hex-encoded flag: 43594245524c49554d7b63727970746f5f7061636b5f3035337d Convert hex → ASCII. CTF challenge — Labs are unrelated.
How to get the flag
- Copy the hex string (even length).
- Decode: xxd -r -p or python -c "print(bytes.fromhex('...').decode())"
- +2 more steps inside →
- Crypto·Intermediate200 XP
XOR Key 0x2e #54
Each byte XOR'd with 0x2e: 6d776c6b7c62677b63554d5c575e5a41715e4f4d45711e1b1a53 Recover plaintext. Standalone CTF — not linked to Labs.
How to get the flag
- Parse the hex into bytes.
- XOR every byte with 0x2e.
- +2 more steps inside →
- Crypto·Intermediate200 XP
Base64 Packet #55
A captured token is Base64-encoded: Q1lCRVJMSVVNe2NyeXB0b19wYWNrXzA1NX0= Decode it to recover the CTF flag. This is a CTF puzzle — not an Academy Lab.
How to get the flag
- Copy the Base64 string from the problem statement.
- Decode with: echo '<string>' | base64 -d (Cloud Shell / Linux) or an online Base64 decoder.
- +2 more steps inside →
- Crypto·Intermediate200 XP
ROT13 Memo #56
Ops memo obfuscated with ROT13: PLOREYVHZ{pelcgb_cnpx_056} Recover the plaintext flag. CTF only — separate from Labs.
How to get the flag
- Copy the ROT13 ciphertext.
- Apply ROT13 again (it is symmetric) using CyberChef or: tr 'A-Za-z' 'N-ZA-Mn-za-m'
- +2 more steps inside →
- Crypto·Intermediate200 XP
Caesar Shift-10 #57
Ciphertext (Caesar +10): MILOBVSEW{mbizdy_zkmu_057} Shift letters back by 10. Digits and symbols stay. CTF puzzle (not a Lab).
How to get the flag
- Treat A–Z / a–z as a Caesar cipher with shift +10.
- Decode by shifting each letter back by 10 (or forward by 16).
- +2 more steps inside →
- Crypto·Intermediate200 XP
Hex Dump #58
Hex-encoded flag: 43594245524c49554d7b63727970746f5f7061636b5f3035387d Convert hex → ASCII. CTF challenge — Labs are unrelated.
How to get the flag
- Copy the hex string (even length).
- Decode: xxd -r -p or python -c "print(bytes.fromhex('...').decode())"
- +2 more steps inside →
- Crypto·Intermediate200 XP
XOR Key 0x33 #59
Each byte XOR'd with 0x33: 706a7176617f7a667e4850414a43475c6c435250586c03060a4e Recover plaintext. Standalone CTF — not linked to Labs.
How to get the flag
- Parse the hex into bytes.
- XOR every byte with 0x33.
- +2 more steps inside →
- Crypto·Intermediate200 XP
Base64 Packet #60
A captured token is Base64-encoded: Q1lCRVJMSVVNe2NyeXB0b19wYWNrXzA2MH0= Decode it to recover the CTF flag. This is a CTF puzzle — not an Academy Lab.
How to get the flag
- Copy the Base64 string from the problem statement.
- Decode with: echo '<string>' | base64 -d (Cloud Shell / Linux) or an online Base64 decoder.
- +2 more steps inside →
- Crypto·Intermediate200 XP
ROT13 Memo #61
Ops memo obfuscated with ROT13: PLOREYVHZ{pelcgb_cnpx_061} Recover the plaintext flag. CTF only — separate from Labs.
How to get the flag
- Copy the ROT13 ciphertext.
- Apply ROT13 again (it is symmetric) using CyberChef or: tr 'A-Za-z' 'N-ZA-Mn-za-m'
- +2 more steps inside →
- Crypto·Intermediate200 XP
Caesar Shift-5 #62
Ciphertext (Caesar +5): HDGJWQNZR{hwduyt_ufhp_062} Shift letters back by 5. Digits and symbols stay. CTF puzzle (not a Lab).
How to get the flag
- Treat A–Z / a–z as a Caesar cipher with shift +5.
- Decode by shifting each letter back by 5 (or forward by 21).
- +2 more steps inside →
- Crypto·Intermediate200 XP
Hex Dump #63
Hex-encoded flag: 43594245524c49554d7b63727970746f5f7061636b5f3036337d Convert hex → ASCII. CTF challenge — Labs are unrelated.
How to get the flag
- Copy the hex string (even length).
- Decode: xxd -r -p or python -c "print(bytes.fromhex('...').decode())"
- +2 more steps inside →
- Crypto·Intermediate200 XP
XOR Key 0x38 #64
Each byte XOR'd with 0x38: 7b617a7d6a74716d75435b4a41484c576748595b5367080e0c45 Recover plaintext. Standalone CTF — not linked to Labs.
How to get the flag
- Parse the hex into bytes.
- XOR every byte with 0x38.
- +2 more steps inside →
- Crypto·Expert300 XP
Base64 Packet #65
A captured token is Base64-encoded: Q1lCRVJMSVVNe2NyeXB0b19wYWNrXzA2NX0= Decode it to recover the CTF flag. This is a CTF puzzle — not an Academy Lab.
How to get the flag
- Copy the Base64 string from the problem statement.
- Decode with: echo '<string>' | base64 -d (Cloud Shell / Linux) or an online Base64 decoder.
- +2 more steps inside →
- Crypto·Expert300 XP
ROT13 Memo #66
Ops memo obfuscated with ROT13: PLOREYVHZ{pelcgb_cnpx_066} Recover the plaintext flag. CTF only — separate from Labs.
How to get the flag
- Copy the ROT13 ciphertext.
- Apply ROT13 again (it is symmetric) using CyberChef or: tr 'A-Za-z' 'N-ZA-Mn-za-m'
- +2 more steps inside →
- Crypto·Expert300 XP
Caesar Shift-10 #67
Ciphertext (Caesar +10): MILOBVSEW{mbizdy_zkmu_067} Shift letters back by 10. Digits and symbols stay. CTF puzzle (not a Lab).
How to get the flag
- Treat A–Z / a–z as a Caesar cipher with shift +10.
- Decode by shifting each letter back by 10 (or forward by 16).
- +2 more steps inside →
- Crypto·Expert300 XP
Hex Dump #68
Hex-encoded flag: 43594245524c49554d7b63727970746f5f7061636b5f3036387d Convert hex → ASCII. CTF challenge — Labs are unrelated.
How to get the flag
- Copy the hex string (even length).
- Decode: xxd -r -p or python -c "print(bytes.fromhex('...').decode())"
- +2 more steps inside →
- Crypto·Expert300 XP
XOR Key 0x3d #69
Each byte XOR'd with 0x3d: 7e647f786f71746870465e4f444d4952624d5c5e56620d0b0440 Recover plaintext. Standalone CTF — not linked to Labs.
How to get the flag
- Parse the hex into bytes.
- XOR every byte with 0x3d.
- +2 more steps inside →
- Crypto·Expert300 XP
Base64 Packet #70
A captured token is Base64-encoded: Q1lCRVJMSVVNe2NyeXB0b19wYWNrXzA3MH0= Decode it to recover the CTF flag. This is a CTF puzzle — not an Academy Lab.
How to get the flag
- Copy the Base64 string from the problem statement.
- Decode with: echo '<string>' | base64 -d (Cloud Shell / Linux) or an online Base64 decoder.
- +2 more steps inside →
- Crypto·Expert300 XP
ROT13 Memo #71
Ops memo obfuscated with ROT13: PLOREYVHZ{pelcgb_cnpx_071} Recover the plaintext flag. CTF only — separate from Labs.
How to get the flag
- Copy the ROT13 ciphertext.
- Apply ROT13 again (it is symmetric) using CyberChef or: tr 'A-Za-z' 'N-ZA-Mn-za-m'
- +2 more steps inside →
- Crypto·Expert300 XP
Caesar Shift-5 #72
Ciphertext (Caesar +5): HDGJWQNZR{hwduyt_ufhp_072} Shift letters back by 5. Digits and symbols stay. CTF puzzle (not a Lab).
How to get the flag
- Treat A–Z / a–z as a Caesar cipher with shift +5.
- Decode by shifting each letter back by 5 (or forward by 21).
- +2 more steps inside →
- Crypto·Expert300 XP
Hex Dump #73
Hex-encoded flag: 43594245524c49554d7b63727970746f5f7061636b5f3037337d Convert hex → ASCII. CTF challenge — Labs are unrelated.
How to get the flag
- Copy the hex string (even length).
- Decode: xxd -r -p or python -c "print(bytes.fromhex('...').decode())"
- +2 more steps inside →
- Crypto·Expert300 XP
XOR Key 0x42 #74
Each byte XOR'd with 0x42: 011b0007100e0b170f3921303b32362d1d322321291d7275763f Recover plaintext. Standalone CTF — not linked to Labs.
How to get the flag
- Parse the hex into bytes.
- XOR every byte with 0x42.
- +2 more steps inside →
- Crypto·Expert300 XP
Base64 Packet #75
A captured token is Base64-encoded: Q1lCRVJMSVVNe2NyeXB0b19wYWNrXzA3NX0= Decode it to recover the CTF flag. This is a CTF puzzle — not an Academy Lab.
How to get the flag
- Copy the Base64 string from the problem statement.
- Decode with: echo '<string>' | base64 -d (Cloud Shell / Linux) or an online Base64 decoder.
- +2 more steps inside →
- Crypto·Expert300 XP
ROT13 Memo #76
Ops memo obfuscated with ROT13: PLOREYVHZ{pelcgb_cnpx_076} Recover the plaintext flag. CTF only — separate from Labs.
How to get the flag
- Copy the ROT13 ciphertext.
- Apply ROT13 again (it is symmetric) using CyberChef or: tr 'A-Za-z' 'N-ZA-Mn-za-m'
- +2 more steps inside →
- Crypto·Expert300 XP
Caesar Shift-10 #77
Ciphertext (Caesar +10): MILOBVSEW{mbizdy_zkmu_077} Shift letters back by 10. Digits and symbols stay. CTF puzzle (not a Lab).
How to get the flag
- Treat A–Z / a–z as a Caesar cipher with shift +10.
- Decode by shifting each letter back by 10 (or forward by 16).
- +2 more steps inside →
- Crypto·Expert300 XP
Hex Dump #78
Hex-encoded flag: 43594245524c49554d7b63727970746f5f7061636b5f3037387d Convert hex → ASCII. CTF challenge — Labs are unrelated.
How to get the flag
- Copy the hex string (even length).
- Decode: xxd -r -p or python -c "print(bytes.fromhex('...').decode())"
- +2 more steps inside →
- Crypto·Expert300 XP
XOR Key 0x47 #79
Each byte XOR'd with 0x47: 041e0502150b0e120a3c24353e373328183726242c1877707e3a Recover plaintext. Standalone CTF — not linked to Labs.
How to get the flag
- Parse the hex into bytes.
- XOR every byte with 0x47.
- +2 more steps inside →
- Crypto·Expert300 XP
Base64 Packet #80
A captured token is Base64-encoded: Q1lCRVJMSVVNe2NyeXB0b19wYWNrXzA4MH0= Decode it to recover the CTF flag. This is a CTF puzzle — not an Academy Lab.
How to get the flag
- Copy the Base64 string from the problem statement.
- Decode with: echo '<string>' | base64 -d (Cloud Shell / Linux) or an online Base64 decoder.
- +2 more steps inside →
- Forensics·Beginner100 XP
HTTP Header Trace #1
Simulated HTTP headers: GET /beacon HTTP/1.1 Host: cdn.example X-Debug-Trace: Q1lCRVJMSVVNe2ZvcmVuc2ljc18wMDF9 Cookie: sid=1abc Decode X-Debug-Trace. Standalone CTF.
How to get the flag
- Locate the X-Debug-Trace header value.
- Base64-decode that value.
- +2 more steps inside →
- Forensics·Beginner100 XP
Strings Excerpt #2
Partial strings from a practice dump: /usr/bin/bash PATH=/usr/bin NOISE=ignore_2 FLAG_CANDIDATE=CYBERLIUM{forensics_002} null Pull the candidate flag. Not an Academy Lab.
How to get the flag
- Scan the strings listing for FLAG_CANDIDATE or CYBERLIUM.
- Copy the full CYBERLIUM{...} token.
- +1 more steps inside →
- Forensics·Beginner100 XP
Auth Log Slice #3
Practice auth log (fictional): 2026-07-01T10:00:03Z FAIL user=guest 2026-07-01T10:00:13Z OK user=admin note=CYBERLIUM{forensics_003} 2026-07-01T10:00:23Z OK user=admin Extract the flag from the successful note. CTF ≠ Lab.
How to get the flag
- Read the log lines carefully.
- Find the OK line with note=...
- +2 more steps inside →
- Forensics·Beginner100 XP
HTTP Header Trace #4
Simulated HTTP headers: GET /beacon HTTP/1.1 Host: cdn.example X-Debug-Trace: Q1lCRVJMSVVNe2ZvcmVuc2ljc18wMDR9 Cookie: sid=4abc Decode X-Debug-Trace. Standalone CTF.
How to get the flag
- Locate the X-Debug-Trace header value.
- Base64-decode that value.
- +2 more steps inside →
- Forensics·Beginner100 XP
Strings Excerpt #5
Partial strings from a practice dump: /usr/bin/bash PATH=/usr/bin NOISE=ignore_5 FLAG_CANDIDATE=CYBERLIUM{forensics_005} null Pull the candidate flag. Not an Academy Lab.
How to get the flag
- Scan the strings listing for FLAG_CANDIDATE or CYBERLIUM.
- Copy the full CYBERLIUM{...} token.
- +1 more steps inside →
- Forensics·Beginner100 XP
Auth Log Slice #6
Practice auth log (fictional): 2026-07-01T10:00:06Z FAIL user=guest 2026-07-01T10:00:16Z OK user=admin note=CYBERLIUM{forensics_006} 2026-07-01T10:00:26Z OK user=admin Extract the flag from the successful note. CTF ≠ Lab.
How to get the flag
- Read the log lines carefully.
- Find the OK line with note=...
- +2 more steps inside →
- Forensics·Beginner100 XP
HTTP Header Trace #7
Simulated HTTP headers: GET /beacon HTTP/1.1 Host: cdn.example X-Debug-Trace: Q1lCRVJMSVVNe2ZvcmVuc2ljc18wMDd9 Cookie: sid=7abc Decode X-Debug-Trace. Standalone CTF.
How to get the flag
- Locate the X-Debug-Trace header value.
- Base64-decode that value.
- +2 more steps inside →
- Forensics·Beginner100 XP
Strings Excerpt #8
Partial strings from a practice dump: /usr/bin/bash PATH=/usr/bin NOISE=ignore_8 FLAG_CANDIDATE=CYBERLIUM{forensics_008} null Pull the candidate flag. Not an Academy Lab.
How to get the flag
- Scan the strings listing for FLAG_CANDIDATE or CYBERLIUM.
- Copy the full CYBERLIUM{...} token.
- +1 more steps inside →
- Forensics·Beginner100 XP
Auth Log Slice #9
Practice auth log (fictional): 2026-07-01T10:00:00Z FAIL user=guest 2026-07-01T10:00:10Z OK user=admin note=CYBERLIUM{forensics_009} 2026-07-01T10:00:20Z OK user=admin Extract the flag from the successful note. CTF ≠ Lab.
How to get the flag
- Read the log lines carefully.
- Find the OK line with note=...
- +2 more steps inside →
- Forensics·Beginner100 XP
HTTP Header Trace #10
Simulated HTTP headers: GET /beacon HTTP/1.1 Host: cdn.example X-Debug-Trace: Q1lCRVJMSVVNe2ZvcmVuc2ljc18wMTB9 Cookie: sid=10abc Decode X-Debug-Trace. Standalone CTF.
How to get the flag
- Locate the X-Debug-Trace header value.
- Base64-decode that value.
- +2 more steps inside →
- Forensics·Beginner100 XP
Strings Excerpt #11
Partial strings from a practice dump: /usr/bin/bash PATH=/usr/bin NOISE=ignore_11 FLAG_CANDIDATE=CYBERLIUM{forensics_011} null Pull the candidate flag. Not an Academy Lab.
How to get the flag
- Scan the strings listing for FLAG_CANDIDATE or CYBERLIUM.
- Copy the full CYBERLIUM{...} token.
- +1 more steps inside →
- Forensics·Beginner100 XP
Auth Log Slice #12
Practice auth log (fictional): 2026-07-01T10:00:03Z FAIL user=guest 2026-07-01T10:00:13Z OK user=admin note=CYBERLIUM{forensics_012} 2026-07-01T10:00:23Z OK user=admin Extract the flag from the successful note. CTF ≠ Lab.
How to get the flag
- Read the log lines carefully.
- Find the OK line with note=...
- +2 more steps inside →
- Forensics·Beginner100 XP
HTTP Header Trace #13
Simulated HTTP headers: GET /beacon HTTP/1.1 Host: cdn.example X-Debug-Trace: Q1lCRVJMSVVNe2ZvcmVuc2ljc18wMTN9 Cookie: sid=13abc Decode X-Debug-Trace. Standalone CTF.
How to get the flag
- Locate the X-Debug-Trace header value.
- Base64-decode that value.
- +2 more steps inside →
- Forensics·Beginner100 XP
Strings Excerpt #14
Partial strings from a practice dump: /usr/bin/bash PATH=/usr/bin NOISE=ignore_14 FLAG_CANDIDATE=CYBERLIUM{forensics_014} null Pull the candidate flag. Not an Academy Lab.
How to get the flag
- Scan the strings listing for FLAG_CANDIDATE or CYBERLIUM.
- Copy the full CYBERLIUM{...} token.
- +1 more steps inside →
- Forensics·Beginner100 XP
Auth Log Slice #15
Practice auth log (fictional): 2026-07-01T10:00:06Z FAIL user=guest 2026-07-01T10:00:16Z OK user=admin note=CYBERLIUM{forensics_015} 2026-07-01T10:00:26Z OK user=admin Extract the flag from the successful note. CTF ≠ Lab.
How to get the flag
- Read the log lines carefully.
- Find the OK line with note=...
- +2 more steps inside →
- Forensics·Beginner100 XP
HTTP Header Trace #16
Simulated HTTP headers: GET /beacon HTTP/1.1 Host: cdn.example X-Debug-Trace: Q1lCRVJMSVVNe2ZvcmVuc2ljc18wMTZ9 Cookie: sid=16abc Decode X-Debug-Trace. Standalone CTF.
How to get the flag
- Locate the X-Debug-Trace header value.
- Base64-decode that value.
- +2 more steps inside →
- Forensics·Beginner100 XP
Strings Excerpt #17
Partial strings from a practice dump: /usr/bin/bash PATH=/usr/bin NOISE=ignore_17 FLAG_CANDIDATE=CYBERLIUM{forensics_017} null Pull the candidate flag. Not an Academy Lab.
How to get the flag
- Scan the strings listing for FLAG_CANDIDATE or CYBERLIUM.
- Copy the full CYBERLIUM{...} token.
- +1 more steps inside →
- Forensics·Beginner100 XP
Auth Log Slice #18
Practice auth log (fictional): 2026-07-01T10:00:00Z FAIL user=guest 2026-07-01T10:00:10Z OK user=admin note=CYBERLIUM{forensics_018} 2026-07-01T10:00:20Z OK user=admin Extract the flag from the successful note. CTF ≠ Lab.
How to get the flag
- Read the log lines carefully.
- Find the OK line with note=...
- +2 more steps inside →
- Forensics·Beginner100 XP
HTTP Header Trace #19
Simulated HTTP headers: GET /beacon HTTP/1.1 Host: cdn.example X-Debug-Trace: Q1lCRVJMSVVNe2ZvcmVuc2ljc18wMTl9 Cookie: sid=19abc Decode X-Debug-Trace. Standalone CTF.
How to get the flag
- Locate the X-Debug-Trace header value.
- Base64-decode that value.
- +2 more steps inside →
- Forensics·Beginner100 XP
Strings Excerpt #20
Partial strings from a practice dump: /usr/bin/bash PATH=/usr/bin NOISE=ignore_20 FLAG_CANDIDATE=CYBERLIUM{forensics_020} null Pull the candidate flag. Not an Academy Lab.
How to get the flag
- Scan the strings listing for FLAG_CANDIDATE or CYBERLIUM.
- Copy the full CYBERLIUM{...} token.
- +1 more steps inside →
- Forensics·Beginner100 XP
Auth Log Slice #21
Practice auth log (fictional): 2026-07-01T10:00:03Z FAIL user=guest 2026-07-01T10:00:13Z OK user=admin note=CYBERLIUM{forensics_021} 2026-07-01T10:00:23Z OK user=admin Extract the flag from the successful note. CTF ≠ Lab.
How to get the flag
- Read the log lines carefully.
- Find the OK line with note=...
- +2 more steps inside →
- Forensics·Beginner100 XP
HTTP Header Trace #22
Simulated HTTP headers: GET /beacon HTTP/1.1 Host: cdn.example X-Debug-Trace: Q1lCRVJMSVVNe2ZvcmVuc2ljc18wMjJ9 Cookie: sid=22abc Decode X-Debug-Trace. Standalone CTF.
How to get the flag
- Locate the X-Debug-Trace header value.
- Base64-decode that value.
- +2 more steps inside →
- Forensics·Beginner100 XP
Strings Excerpt #23
Partial strings from a practice dump: /usr/bin/bash PATH=/usr/bin NOISE=ignore_23 FLAG_CANDIDATE=CYBERLIUM{forensics_023} null Pull the candidate flag. Not an Academy Lab.
How to get the flag
- Scan the strings listing for FLAG_CANDIDATE or CYBERLIUM.
- Copy the full CYBERLIUM{...} token.
- +1 more steps inside →
- Forensics·Beginner100 XP
Auth Log Slice #24
Practice auth log (fictional): 2026-07-01T10:00:06Z FAIL user=guest 2026-07-01T10:00:16Z OK user=admin note=CYBERLIUM{forensics_024} 2026-07-01T10:00:26Z OK user=admin Extract the flag from the successful note. CTF ≠ Lab.
How to get the flag
- Read the log lines carefully.
- Find the OK line with note=...
- +2 more steps inside →
- Forensics·Intermediate200 XP
HTTP Header Trace #25
Simulated HTTP headers: GET /beacon HTTP/1.1 Host: cdn.example X-Debug-Trace: Q1lCRVJMSVVNe2ZvcmVuc2ljc18wMjV9 Cookie: sid=25abc Decode X-Debug-Trace. Standalone CTF.
How to get the flag
- Locate the X-Debug-Trace header value.
- Base64-decode that value.
- +2 more steps inside →
- Forensics·Intermediate200 XP
Strings Excerpt #26
Partial strings from a practice dump: /usr/bin/bash PATH=/usr/bin NOISE=ignore_26 FLAG_CANDIDATE=CYBERLIUM{forensics_026} null Pull the candidate flag. Not an Academy Lab.
How to get the flag
- Scan the strings listing for FLAG_CANDIDATE or CYBERLIUM.
- Copy the full CYBERLIUM{...} token.
- +1 more steps inside →
- Forensics·Intermediate200 XP
Auth Log Slice #27
Practice auth log (fictional): 2026-07-01T10:00:00Z FAIL user=guest 2026-07-01T10:00:10Z OK user=admin note=CYBERLIUM{forensics_027} 2026-07-01T10:00:20Z OK user=admin Extract the flag from the successful note. CTF ≠ Lab.
How to get the flag
- Read the log lines carefully.
- Find the OK line with note=...
- +2 more steps inside →
- Forensics·Intermediate200 XP
HTTP Header Trace #28
Simulated HTTP headers: GET /beacon HTTP/1.1 Host: cdn.example X-Debug-Trace: Q1lCRVJMSVVNe2ZvcmVuc2ljc18wMjh9 Cookie: sid=28abc Decode X-Debug-Trace. Standalone CTF.
How to get the flag
- Locate the X-Debug-Trace header value.
- Base64-decode that value.
- +2 more steps inside →
- Forensics·Intermediate200 XP
Strings Excerpt #29
Partial strings from a practice dump: /usr/bin/bash PATH=/usr/bin NOISE=ignore_29 FLAG_CANDIDATE=CYBERLIUM{forensics_029} null Pull the candidate flag. Not an Academy Lab.
How to get the flag
- Scan the strings listing for FLAG_CANDIDATE or CYBERLIUM.
- Copy the full CYBERLIUM{...} token.
- +1 more steps inside →
- Forensics·Intermediate200 XP
Auth Log Slice #30
Practice auth log (fictional): 2026-07-01T10:00:03Z FAIL user=guest 2026-07-01T10:00:13Z OK user=admin note=CYBERLIUM{forensics_030} 2026-07-01T10:00:23Z OK user=admin Extract the flag from the successful note. CTF ≠ Lab.
How to get the flag
- Read the log lines carefully.
- Find the OK line with note=...
- +2 more steps inside →
- Forensics·Intermediate200 XP
HTTP Header Trace #31
Simulated HTTP headers: GET /beacon HTTP/1.1 Host: cdn.example X-Debug-Trace: Q1lCRVJMSVVNe2ZvcmVuc2ljc18wMzF9 Cookie: sid=31abc Decode X-Debug-Trace. Standalone CTF.
How to get the flag
- Locate the X-Debug-Trace header value.
- Base64-decode that value.
- +2 more steps inside →
- Forensics·Intermediate200 XP
Strings Excerpt #32
Partial strings from a practice dump: /usr/bin/bash PATH=/usr/bin NOISE=ignore_32 FLAG_CANDIDATE=CYBERLIUM{forensics_032} null Pull the candidate flag. Not an Academy Lab.
How to get the flag
- Scan the strings listing for FLAG_CANDIDATE or CYBERLIUM.
- Copy the full CYBERLIUM{...} token.
- +1 more steps inside →
- Forensics·Intermediate200 XP
Auth Log Slice #33
Practice auth log (fictional): 2026-07-01T10:00:06Z FAIL user=guest 2026-07-01T10:00:16Z OK user=admin note=CYBERLIUM{forensics_033} 2026-07-01T10:00:26Z OK user=admin Extract the flag from the successful note. CTF ≠ Lab.
How to get the flag
- Read the log lines carefully.
- Find the OK line with note=...
- +2 more steps inside →
- Forensics·Intermediate200 XP
HTTP Header Trace #34
Simulated HTTP headers: GET /beacon HTTP/1.1 Host: cdn.example X-Debug-Trace: Q1lCRVJMSVVNe2ZvcmVuc2ljc18wMzR9 Cookie: sid=34abc Decode X-Debug-Trace. Standalone CTF.
How to get the flag
- Locate the X-Debug-Trace header value.
- Base64-decode that value.
- +2 more steps inside →
- Forensics·Intermediate200 XP
Strings Excerpt #35
Partial strings from a practice dump: /usr/bin/bash PATH=/usr/bin NOISE=ignore_35 FLAG_CANDIDATE=CYBERLIUM{forensics_035} null Pull the candidate flag. Not an Academy Lab.
How to get the flag
- Scan the strings listing for FLAG_CANDIDATE or CYBERLIUM.
- Copy the full CYBERLIUM{...} token.
- +1 more steps inside →
- Forensics·Intermediate200 XP
Auth Log Slice #36
Practice auth log (fictional): 2026-07-01T10:00:00Z FAIL user=guest 2026-07-01T10:00:10Z OK user=admin note=CYBERLIUM{forensics_036} 2026-07-01T10:00:20Z OK user=admin Extract the flag from the successful note. CTF ≠ Lab.
How to get the flag
- Read the log lines carefully.
- Find the OK line with note=...
- +2 more steps inside →
- Forensics·Intermediate200 XP
HTTP Header Trace #37
Simulated HTTP headers: GET /beacon HTTP/1.1 Host: cdn.example X-Debug-Trace: Q1lCRVJMSVVNe2ZvcmVuc2ljc18wMzd9 Cookie: sid=37abc Decode X-Debug-Trace. Standalone CTF.
How to get the flag
- Locate the X-Debug-Trace header value.
- Base64-decode that value.
- +2 more steps inside →
- Forensics·Intermediate200 XP
Strings Excerpt #38
Partial strings from a practice dump: /usr/bin/bash PATH=/usr/bin NOISE=ignore_38 FLAG_CANDIDATE=CYBERLIUM{forensics_038} null Pull the candidate flag. Not an Academy Lab.
How to get the flag
- Scan the strings listing for FLAG_CANDIDATE or CYBERLIUM.
- Copy the full CYBERLIUM{...} token.
- +1 more steps inside →
- Forensics·Intermediate200 XP
Auth Log Slice #39
Practice auth log (fictional): 2026-07-01T10:00:03Z FAIL user=guest 2026-07-01T10:00:13Z OK user=admin note=CYBERLIUM{forensics_039} 2026-07-01T10:00:23Z OK user=admin Extract the flag from the successful note. CTF ≠ Lab.
How to get the flag
- Read the log lines carefully.
- Find the OK line with note=...
- +2 more steps inside →
- Forensics·Intermediate200 XP
HTTP Header Trace #40
Simulated HTTP headers: GET /beacon HTTP/1.1 Host: cdn.example X-Debug-Trace: Q1lCRVJMSVVNe2ZvcmVuc2ljc18wNDB9 Cookie: sid=40abc Decode X-Debug-Trace. Standalone CTF.
How to get the flag
- Locate the X-Debug-Trace header value.
- Base64-decode that value.
- +2 more steps inside →
- Forensics·Intermediate200 XP
Strings Excerpt #41
Partial strings from a practice dump: /usr/bin/bash PATH=/usr/bin NOISE=ignore_41 FLAG_CANDIDATE=CYBERLIUM{forensics_041} null Pull the candidate flag. Not an Academy Lab.
How to get the flag
- Scan the strings listing for FLAG_CANDIDATE or CYBERLIUM.
- Copy the full CYBERLIUM{...} token.
- +1 more steps inside →
- Forensics·Intermediate200 XP
Auth Log Slice #42
Practice auth log (fictional): 2026-07-01T10:00:06Z FAIL user=guest 2026-07-01T10:00:16Z OK user=admin note=CYBERLIUM{forensics_042} 2026-07-01T10:00:26Z OK user=admin Extract the flag from the successful note. CTF ≠ Lab.
How to get the flag
- Read the log lines carefully.
- Find the OK line with note=...
- +2 more steps inside →
- Forensics·Intermediate200 XP
HTTP Header Trace #43
Simulated HTTP headers: GET /beacon HTTP/1.1 Host: cdn.example X-Debug-Trace: Q1lCRVJMSVVNe2ZvcmVuc2ljc18wNDN9 Cookie: sid=43abc Decode X-Debug-Trace. Standalone CTF.
How to get the flag
- Locate the X-Debug-Trace header value.
- Base64-decode that value.
- +2 more steps inside →
- Forensics·Intermediate200 XP
Strings Excerpt #44
Partial strings from a practice dump: /usr/bin/bash PATH=/usr/bin NOISE=ignore_44 FLAG_CANDIDATE=CYBERLIUM{forensics_044} null Pull the candidate flag. Not an Academy Lab.
How to get the flag
- Scan the strings listing for FLAG_CANDIDATE or CYBERLIUM.
- Copy the full CYBERLIUM{...} token.
- +1 more steps inside →
- Forensics·Intermediate200 XP
Auth Log Slice #45
Practice auth log (fictional): 2026-07-01T10:00:00Z FAIL user=guest 2026-07-01T10:00:10Z OK user=admin note=CYBERLIUM{forensics_045} 2026-07-01T10:00:20Z OK user=admin Extract the flag from the successful note. CTF ≠ Lab.
How to get the flag
- Read the log lines carefully.
- Find the OK line with note=...
- +2 more steps inside →
- Forensics·Intermediate200 XP
HTTP Header Trace #46
Simulated HTTP headers: GET /beacon HTTP/1.1 Host: cdn.example X-Debug-Trace: Q1lCRVJMSVVNe2ZvcmVuc2ljc18wNDZ9 Cookie: sid=46abc Decode X-Debug-Trace. Standalone CTF.
How to get the flag
- Locate the X-Debug-Trace header value.
- Base64-decode that value.
- +2 more steps inside →
- Forensics·Intermediate200 XP
Strings Excerpt #47
Partial strings from a practice dump: /usr/bin/bash PATH=/usr/bin NOISE=ignore_47 FLAG_CANDIDATE=CYBERLIUM{forensics_047} null Pull the candidate flag. Not an Academy Lab.
How to get the flag
- Scan the strings listing for FLAG_CANDIDATE or CYBERLIUM.
- Copy the full CYBERLIUM{...} token.
- +1 more steps inside →
- Forensics·Intermediate200 XP
Auth Log Slice #48
Practice auth log (fictional): 2026-07-01T10:00:03Z FAIL user=guest 2026-07-01T10:00:13Z OK user=admin note=CYBERLIUM{forensics_048} 2026-07-01T10:00:23Z OK user=admin Extract the flag from the successful note. CTF ≠ Lab.
How to get the flag
- Read the log lines carefully.
- Find the OK line with note=...
- +2 more steps inside →
- Forensics·Expert300 XP
HTTP Header Trace #49
Simulated HTTP headers: GET /beacon HTTP/1.1 Host: cdn.example X-Debug-Trace: Q1lCRVJMSVVNe2ZvcmVuc2ljc18wNDl9 Cookie: sid=49abc Decode X-Debug-Trace. Standalone CTF.
How to get the flag
- Locate the X-Debug-Trace header value.
- Base64-decode that value.
- +2 more steps inside →
- Forensics·Expert300 XP
Strings Excerpt #50
Partial strings from a practice dump: /usr/bin/bash PATH=/usr/bin NOISE=ignore_50 FLAG_CANDIDATE=CYBERLIUM{forensics_050} null Pull the candidate flag. Not an Academy Lab.
How to get the flag
- Scan the strings listing for FLAG_CANDIDATE or CYBERLIUM.
- Copy the full CYBERLIUM{...} token.
- +1 more steps inside →
- Forensics·Expert300 XP
Auth Log Slice #51
Practice auth log (fictional): 2026-07-01T10:00:06Z FAIL user=guest 2026-07-01T10:00:16Z OK user=admin note=CYBERLIUM{forensics_051} 2026-07-01T10:00:26Z OK user=admin Extract the flag from the successful note. CTF ≠ Lab.
How to get the flag
- Read the log lines carefully.
- Find the OK line with note=...
- +2 more steps inside →
- Forensics·Expert300 XP
HTTP Header Trace #52
Simulated HTTP headers: GET /beacon HTTP/1.1 Host: cdn.example X-Debug-Trace: Q1lCRVJMSVVNe2ZvcmVuc2ljc18wNTJ9 Cookie: sid=52abc Decode X-Debug-Trace. Standalone CTF.
How to get the flag
- Locate the X-Debug-Trace header value.
- Base64-decode that value.
- +2 more steps inside →
- Forensics·Expert300 XP
Strings Excerpt #53
Partial strings from a practice dump: /usr/bin/bash PATH=/usr/bin NOISE=ignore_53 FLAG_CANDIDATE=CYBERLIUM{forensics_053} null Pull the candidate flag. Not an Academy Lab.
How to get the flag
- Scan the strings listing for FLAG_CANDIDATE or CYBERLIUM.
- Copy the full CYBERLIUM{...} token.
- +1 more steps inside →
- Forensics·Expert300 XP
Auth Log Slice #54
Practice auth log (fictional): 2026-07-01T10:00:00Z FAIL user=guest 2026-07-01T10:00:10Z OK user=admin note=CYBERLIUM{forensics_054} 2026-07-01T10:00:20Z OK user=admin Extract the flag from the successful note. CTF ≠ Lab.
How to get the flag
- Read the log lines carefully.
- Find the OK line with note=...
- +2 more steps inside →
- Forensics·Expert300 XP
HTTP Header Trace #55
Simulated HTTP headers: GET /beacon HTTP/1.1 Host: cdn.example X-Debug-Trace: Q1lCRVJMSVVNe2ZvcmVuc2ljc18wNTV9 Cookie: sid=55abc Decode X-Debug-Trace. Standalone CTF.
How to get the flag
- Locate the X-Debug-Trace header value.
- Base64-decode that value.
- +2 more steps inside →
- Forensics·Expert300 XP
Strings Excerpt #56
Partial strings from a practice dump: /usr/bin/bash PATH=/usr/bin NOISE=ignore_56 FLAG_CANDIDATE=CYBERLIUM{forensics_056} null Pull the candidate flag. Not an Academy Lab.
How to get the flag
- Scan the strings listing for FLAG_CANDIDATE or CYBERLIUM.
- Copy the full CYBERLIUM{...} token.
- +1 more steps inside →
- Forensics·Expert300 XP
Auth Log Slice #57
Practice auth log (fictional): 2026-07-01T10:00:03Z FAIL user=guest 2026-07-01T10:00:13Z OK user=admin note=CYBERLIUM{forensics_057} 2026-07-01T10:00:23Z OK user=admin Extract the flag from the successful note. CTF ≠ Lab.
How to get the flag
- Read the log lines carefully.
- Find the OK line with note=...
- +2 more steps inside →
- Forensics·Expert300 XP
HTTP Header Trace #58
Simulated HTTP headers: GET /beacon HTTP/1.1 Host: cdn.example X-Debug-Trace: Q1lCRVJMSVVNe2ZvcmVuc2ljc18wNTh9 Cookie: sid=58abc Decode X-Debug-Trace. Standalone CTF.
How to get the flag
- Locate the X-Debug-Trace header value.
- Base64-decode that value.
- +2 more steps inside →
- Forensics·Expert300 XP
Strings Excerpt #59
Partial strings from a practice dump: /usr/bin/bash PATH=/usr/bin NOISE=ignore_59 FLAG_CANDIDATE=CYBERLIUM{forensics_059} null Pull the candidate flag. Not an Academy Lab.
How to get the flag
- Scan the strings listing for FLAG_CANDIDATE or CYBERLIUM.
- Copy the full CYBERLIUM{...} token.
- +1 more steps inside →
- Forensics·Expert300 XP
Auth Log Slice #60
Practice auth log (fictional): 2026-07-01T10:00:06Z FAIL user=guest 2026-07-01T10:00:16Z OK user=admin note=CYBERLIUM{forensics_060} 2026-07-01T10:00:26Z OK user=admin Extract the flag from the successful note. CTF ≠ Lab.
How to get the flag
- Read the log lines carefully.
- Find the OK line with note=...
- +2 more steps inside →
- Web·Beginner100 XP
Security Header Token #1
Response headers from a practice host: Server: nginx X-Powered-By: Express X-CTF-Token: CYBERLIUM{web_recon_001} Content-Type: text/html Grab the intentional CTF token header. Separate from Academy Labs.
How to get the flag
- Inspect response headers in the statement.
- Find X-CTF-Token.
- +2 more steps inside →
- Web·Beginner100 XP
JWT Payload Peek #2
Educational JWT payload (middle segment only): eyJzdWIiOiJ1c2VyMiIsImZsYWciOiJDWUJFUkxJVU17d2ViX3JlY29uXzAwMn0ifQ Base64url-decode the payload JSON and read the flag field. CTF theory puzzle — not a Lab.
How to get the flag
- Take the Base64url payload segment.
- Decode it to JSON (add padding = if needed).
- +2 more steps inside →
- Web·Beginner100 XP
Cookie Clue #3
Set-Cookie: session=abc; Path=/ Set-Cookie: ctf_note=Q1lCRVJMSVVNe3dlYl9yZWNvbl8wMDN9; HttpOnly Decode the ctf_note cookie. Standalone CTF.
How to get the flag
- Find the ctf_note cookie value.
- Base64-decode it.
- +1 more steps inside →
- Web·Beginner100 XP
robots.txt Path #4
Simulated robots.txt: User-agent: * Disallow: /backup/ Disallow: /secret-4.txt # File body at that path would contain: CYBERLIUM{web_recon_004} In this CTF, recover the flag as if you fetched the disallowed file. (No Lab sandbox.)
How to get the flag
- Read Disallow entries for interesting paths.
- The challenge states the file body contains the flag.
- +2 more steps inside →
- Web·Beginner100 XP
Security Header Token #5
Response headers from a practice host: Server: nginx X-Powered-By: Express X-CTF-Token: CYBERLIUM{web_recon_005} Content-Type: text/html Grab the intentional CTF token header. Separate from Academy Labs.
How to get the flag
- Inspect response headers in the statement.
- Find X-CTF-Token.
- +2 more steps inside →
- Web·Beginner100 XP
JWT Payload Peek #6
Educational JWT payload (middle segment only): eyJzdWIiOiJ1c2VyNiIsImZsYWciOiJDWUJFUkxJVU17d2ViX3JlY29uXzAwNn0ifQ Base64url-decode the payload JSON and read the flag field. CTF theory puzzle — not a Lab.
How to get the flag
- Take the Base64url payload segment.
- Decode it to JSON (add padding = if needed).
- +2 more steps inside →
- Web·Beginner100 XP
Cookie Clue #7
Set-Cookie: session=abc; Path=/ Set-Cookie: ctf_note=Q1lCRVJMSVVNe3dlYl9yZWNvbl8wMDd9; HttpOnly Decode the ctf_note cookie. Standalone CTF.
How to get the flag
- Find the ctf_note cookie value.
- Base64-decode it.
- +1 more steps inside →
- Web·Beginner100 XP
robots.txt Path #8
Simulated robots.txt: User-agent: * Disallow: /backup/ Disallow: /secret-8.txt # File body at that path would contain: CYBERLIUM{web_recon_008} In this CTF, recover the flag as if you fetched the disallowed file. (No Lab sandbox.)
How to get the flag
- Read Disallow entries for interesting paths.
- The challenge states the file body contains the flag.
- +2 more steps inside →
- Web·Beginner100 XP
Security Header Token #9
Response headers from a practice host: Server: nginx X-Powered-By: Express X-CTF-Token: CYBERLIUM{web_recon_009} Content-Type: text/html Grab the intentional CTF token header. Separate from Academy Labs.
How to get the flag
- Inspect response headers in the statement.
- Find X-CTF-Token.
- +2 more steps inside →
- Web·Beginner100 XP
JWT Payload Peek #10
Educational JWT payload (middle segment only): eyJzdWIiOiJ1c2VyMTAiLCJmbGFnIjoiQ1lCRVJMSVVNe3dlYl9yZWNvbl8wMTB9In0 Base64url-decode the payload JSON and read the flag field. CTF theory puzzle — not a Lab.
How to get the flag
- Take the Base64url payload segment.
- Decode it to JSON (add padding = if needed).
- +2 more steps inside →
- Web·Beginner100 XP
Cookie Clue #11
Set-Cookie: session=abc; Path=/ Set-Cookie: ctf_note=Q1lCRVJMSVVNe3dlYl9yZWNvbl8wMTF9; HttpOnly Decode the ctf_note cookie. Standalone CTF.
How to get the flag
- Find the ctf_note cookie value.
- Base64-decode it.
- +1 more steps inside →
- Web·Beginner100 XP
robots.txt Path #12
Simulated robots.txt: User-agent: * Disallow: /backup/ Disallow: /secret-12.txt # File body at that path would contain: CYBERLIUM{web_recon_012} In this CTF, recover the flag as if you fetched the disallowed file. (No Lab sandbox.)
How to get the flag
- Read Disallow entries for interesting paths.
- The challenge states the file body contains the flag.
- +2 more steps inside →
- Web·Beginner100 XP
Security Header Token #13
Response headers from a practice host: Server: nginx X-Powered-By: Express X-CTF-Token: CYBERLIUM{web_recon_013} Content-Type: text/html Grab the intentional CTF token header. Separate from Academy Labs.
How to get the flag
- Inspect response headers in the statement.
- Find X-CTF-Token.
- +2 more steps inside →
- Web·Beginner100 XP
JWT Payload Peek #14
Educational JWT payload (middle segment only): eyJzdWIiOiJ1c2VyMTQiLCJmbGFnIjoiQ1lCRVJMSVVNe3dlYl9yZWNvbl8wMTR9In0 Base64url-decode the payload JSON and read the flag field. CTF theory puzzle — not a Lab.
How to get the flag
- Take the Base64url payload segment.
- Decode it to JSON (add padding = if needed).
- +2 more steps inside →
- Web·Beginner100 XP
Cookie Clue #15
Set-Cookie: session=abc; Path=/ Set-Cookie: ctf_note=Q1lCRVJMSVVNe3dlYl9yZWNvbl8wMTV9; HttpOnly Decode the ctf_note cookie. Standalone CTF.
How to get the flag
- Find the ctf_note cookie value.
- Base64-decode it.
- +1 more steps inside →
- Web·Beginner100 XP
robots.txt Path #16
Simulated robots.txt: User-agent: * Disallow: /backup/ Disallow: /secret-16.txt # File body at that path would contain: CYBERLIUM{web_recon_016} In this CTF, recover the flag as if you fetched the disallowed file. (No Lab sandbox.)
How to get the flag
- Read Disallow entries for interesting paths.
- The challenge states the file body contains the flag.
- +2 more steps inside →
- Web·Beginner100 XP
Security Header Token #17
Response headers from a practice host: Server: nginx X-Powered-By: Express X-CTF-Token: CYBERLIUM{web_recon_017} Content-Type: text/html Grab the intentional CTF token header. Separate from Academy Labs.
How to get the flag
- Inspect response headers in the statement.
- Find X-CTF-Token.
- +2 more steps inside →
- Web·Beginner100 XP
JWT Payload Peek #18
Educational JWT payload (middle segment only): eyJzdWIiOiJ1c2VyMTgiLCJmbGFnIjoiQ1lCRVJMSVVNe3dlYl9yZWNvbl8wMTh9In0 Base64url-decode the payload JSON and read the flag field. CTF theory puzzle — not a Lab.
How to get the flag
- Take the Base64url payload segment.
- Decode it to JSON (add padding = if needed).
- +2 more steps inside →
- Web·Beginner100 XP
Cookie Clue #19
Set-Cookie: session=abc; Path=/ Set-Cookie: ctf_note=Q1lCRVJMSVVNe3dlYl9yZWNvbl8wMTl9; HttpOnly Decode the ctf_note cookie. Standalone CTF.
How to get the flag
- Find the ctf_note cookie value.
- Base64-decode it.
- +1 more steps inside →
- Web·Beginner100 XP
robots.txt Path #20
Simulated robots.txt: User-agent: * Disallow: /backup/ Disallow: /secret-20.txt # File body at that path would contain: CYBERLIUM{web_recon_020} In this CTF, recover the flag as if you fetched the disallowed file. (No Lab sandbox.)
How to get the flag
- Read Disallow entries for interesting paths.
- The challenge states the file body contains the flag.
- +2 more steps inside →
- Web·Intermediate200 XP
Security Header Token #21
Response headers from a practice host: Server: nginx X-Powered-By: Express X-CTF-Token: CYBERLIUM{web_recon_021} Content-Type: text/html Grab the intentional CTF token header. Separate from Academy Labs.
How to get the flag
- Inspect response headers in the statement.
- Find X-CTF-Token.
- +2 more steps inside →
- Web·Intermediate200 XP
JWT Payload Peek #22
Educational JWT payload (middle segment only): eyJzdWIiOiJ1c2VyMjIiLCJmbGFnIjoiQ1lCRVJMSVVNe3dlYl9yZWNvbl8wMjJ9In0 Base64url-decode the payload JSON and read the flag field. CTF theory puzzle — not a Lab.
How to get the flag
- Take the Base64url payload segment.
- Decode it to JSON (add padding = if needed).
- +2 more steps inside →
- Web·Intermediate200 XP
Cookie Clue #23
Set-Cookie: session=abc; Path=/ Set-Cookie: ctf_note=Q1lCRVJMSVVNe3dlYl9yZWNvbl8wMjN9; HttpOnly Decode the ctf_note cookie. Standalone CTF.
How to get the flag
- Find the ctf_note cookie value.
- Base64-decode it.
- +1 more steps inside →
- Web·Intermediate200 XP
robots.txt Path #24
Simulated robots.txt: User-agent: * Disallow: /backup/ Disallow: /secret-24.txt # File body at that path would contain: CYBERLIUM{web_recon_024} In this CTF, recover the flag as if you fetched the disallowed file. (No Lab sandbox.)
How to get the flag
- Read Disallow entries for interesting paths.
- The challenge states the file body contains the flag.
- +2 more steps inside →
- Web·Intermediate200 XP
Security Header Token #25
Response headers from a practice host: Server: nginx X-Powered-By: Express X-CTF-Token: CYBERLIUM{web_recon_025} Content-Type: text/html Grab the intentional CTF token header. Separate from Academy Labs.
How to get the flag
- Inspect response headers in the statement.
- Find X-CTF-Token.
- +2 more steps inside →
- Web·Intermediate200 XP
JWT Payload Peek #26
Educational JWT payload (middle segment only): eyJzdWIiOiJ1c2VyMjYiLCJmbGFnIjoiQ1lCRVJMSVVNe3dlYl9yZWNvbl8wMjZ9In0 Base64url-decode the payload JSON and read the flag field. CTF theory puzzle — not a Lab.
How to get the flag
- Take the Base64url payload segment.
- Decode it to JSON (add padding = if needed).
- +2 more steps inside →
- Web·Intermediate200 XP
Cookie Clue #27
Set-Cookie: session=abc; Path=/ Set-Cookie: ctf_note=Q1lCRVJMSVVNe3dlYl9yZWNvbl8wMjd9; HttpOnly Decode the ctf_note cookie. Standalone CTF.
How to get the flag
- Find the ctf_note cookie value.
- Base64-decode it.
- +1 more steps inside →
- Web·Intermediate200 XP
robots.txt Path #28
Simulated robots.txt: User-agent: * Disallow: /backup/ Disallow: /secret-28.txt # File body at that path would contain: CYBERLIUM{web_recon_028} In this CTF, recover the flag as if you fetched the disallowed file. (No Lab sandbox.)
How to get the flag
- Read Disallow entries for interesting paths.
- The challenge states the file body contains the flag.
- +2 more steps inside →
- Web·Intermediate200 XP
Security Header Token #29
Response headers from a practice host: Server: nginx X-Powered-By: Express X-CTF-Token: CYBERLIUM{web_recon_029} Content-Type: text/html Grab the intentional CTF token header. Separate from Academy Labs.
How to get the flag
- Inspect response headers in the statement.
- Find X-CTF-Token.
- +2 more steps inside →
- Web·Intermediate200 XP
JWT Payload Peek #30
Educational JWT payload (middle segment only): eyJzdWIiOiJ1c2VyMzAiLCJmbGFnIjoiQ1lCRVJMSVVNe3dlYl9yZWNvbl8wMzB9In0 Base64url-decode the payload JSON and read the flag field. CTF theory puzzle — not a Lab.
How to get the flag
- Take the Base64url payload segment.
- Decode it to JSON (add padding = if needed).
- +2 more steps inside →
- Web·Intermediate200 XP
Cookie Clue #31
Set-Cookie: session=abc; Path=/ Set-Cookie: ctf_note=Q1lCRVJMSVVNe3dlYl9yZWNvbl8wMzF9; HttpOnly Decode the ctf_note cookie. Standalone CTF.
How to get the flag
- Find the ctf_note cookie value.
- Base64-decode it.
- +1 more steps inside →
- Web·Intermediate200 XP
robots.txt Path #32
Simulated robots.txt: User-agent: * Disallow: /backup/ Disallow: /secret-32.txt # File body at that path would contain: CYBERLIUM{web_recon_032} In this CTF, recover the flag as if you fetched the disallowed file. (No Lab sandbox.)
How to get the flag
- Read Disallow entries for interesting paths.
- The challenge states the file body contains the flag.
- +2 more steps inside →
- Web·Intermediate200 XP
Security Header Token #33
Response headers from a practice host: Server: nginx X-Powered-By: Express X-CTF-Token: CYBERLIUM{web_recon_033} Content-Type: text/html Grab the intentional CTF token header. Separate from Academy Labs.
How to get the flag
- Inspect response headers in the statement.
- Find X-CTF-Token.
- +2 more steps inside →
- Web·Intermediate200 XP
JWT Payload Peek #34
Educational JWT payload (middle segment only): eyJzdWIiOiJ1c2VyMzQiLCJmbGFnIjoiQ1lCRVJMSVVNe3dlYl9yZWNvbl8wMzR9In0 Base64url-decode the payload JSON and read the flag field. CTF theory puzzle — not a Lab.
How to get the flag
- Take the Base64url payload segment.
- Decode it to JSON (add padding = if needed).
- +2 more steps inside →
- Web·Intermediate200 XP
Cookie Clue #35
Set-Cookie: session=abc; Path=/ Set-Cookie: ctf_note=Q1lCRVJMSVVNe3dlYl9yZWNvbl8wMzV9; HttpOnly Decode the ctf_note cookie. Standalone CTF.
How to get the flag
- Find the ctf_note cookie value.
- Base64-decode it.
- +1 more steps inside →
- Web·Intermediate200 XP
robots.txt Path #36
Simulated robots.txt: User-agent: * Disallow: /backup/ Disallow: /secret-36.txt # File body at that path would contain: CYBERLIUM{web_recon_036} In this CTF, recover the flag as if you fetched the disallowed file. (No Lab sandbox.)
How to get the flag
- Read Disallow entries for interesting paths.
- The challenge states the file body contains the flag.
- +2 more steps inside →
- Web·Intermediate200 XP
Security Header Token #37
Response headers from a practice host: Server: nginx X-Powered-By: Express X-CTF-Token: CYBERLIUM{web_recon_037} Content-Type: text/html Grab the intentional CTF token header. Separate from Academy Labs.
How to get the flag
- Inspect response headers in the statement.
- Find X-CTF-Token.
- +2 more steps inside →
- Web·Intermediate200 XP
JWT Payload Peek #38
Educational JWT payload (middle segment only): eyJzdWIiOiJ1c2VyMzgiLCJmbGFnIjoiQ1lCRVJMSVVNe3dlYl9yZWNvbl8wMzh9In0 Base64url-decode the payload JSON and read the flag field. CTF theory puzzle — not a Lab.
How to get the flag
- Take the Base64url payload segment.
- Decode it to JSON (add padding = if needed).
- +2 more steps inside →
- Web·Intermediate200 XP
Cookie Clue #39
Set-Cookie: session=abc; Path=/ Set-Cookie: ctf_note=Q1lCRVJMSVVNe3dlYl9yZWNvbl8wMzl9; HttpOnly Decode the ctf_note cookie. Standalone CTF.
How to get the flag
- Find the ctf_note cookie value.
- Base64-decode it.
- +1 more steps inside →
- Web·Intermediate200 XP
robots.txt Path #40
Simulated robots.txt: User-agent: * Disallow: /backup/ Disallow: /secret-40.txt # File body at that path would contain: CYBERLIUM{web_recon_040} In this CTF, recover the flag as if you fetched the disallowed file. (No Lab sandbox.)
How to get the flag
- Read Disallow entries for interesting paths.
- The challenge states the file body contains the flag.
- +2 more steps inside →
- Web·Expert300 XP
Security Header Token #41
Response headers from a practice host: Server: nginx X-Powered-By: Express X-CTF-Token: CYBERLIUM{web_recon_041} Content-Type: text/html Grab the intentional CTF token header. Separate from Academy Labs.
How to get the flag
- Inspect response headers in the statement.
- Find X-CTF-Token.
- +2 more steps inside →
- Web·Expert300 XP
JWT Payload Peek #42
Educational JWT payload (middle segment only): eyJzdWIiOiJ1c2VyNDIiLCJmbGFnIjoiQ1lCRVJMSVVNe3dlYl9yZWNvbl8wNDJ9In0 Base64url-decode the payload JSON and read the flag field. CTF theory puzzle — not a Lab.
How to get the flag
- Take the Base64url payload segment.
- Decode it to JSON (add padding = if needed).
- +2 more steps inside →
- Web·Expert300 XP
Cookie Clue #43
Set-Cookie: session=abc; Path=/ Set-Cookie: ctf_note=Q1lCRVJMSVVNe3dlYl9yZWNvbl8wNDN9; HttpOnly Decode the ctf_note cookie. Standalone CTF.
How to get the flag
- Find the ctf_note cookie value.
- Base64-decode it.
- +1 more steps inside →
- Web·Expert300 XP
robots.txt Path #44
Simulated robots.txt: User-agent: * Disallow: /backup/ Disallow: /secret-44.txt # File body at that path would contain: CYBERLIUM{web_recon_044} In this CTF, recover the flag as if you fetched the disallowed file. (No Lab sandbox.)
How to get the flag
- Read Disallow entries for interesting paths.
- The challenge states the file body contains the flag.
- +2 more steps inside →
- Web·Expert300 XP
Security Header Token #45
Response headers from a practice host: Server: nginx X-Powered-By: Express X-CTF-Token: CYBERLIUM{web_recon_045} Content-Type: text/html Grab the intentional CTF token header. Separate from Academy Labs.
How to get the flag
- Inspect response headers in the statement.
- Find X-CTF-Token.
- +2 more steps inside →
- Web·Expert300 XP
JWT Payload Peek #46
Educational JWT payload (middle segment only): eyJzdWIiOiJ1c2VyNDYiLCJmbGFnIjoiQ1lCRVJMSVVNe3dlYl9yZWNvbl8wNDZ9In0 Base64url-decode the payload JSON and read the flag field. CTF theory puzzle — not a Lab.
How to get the flag
- Take the Base64url payload segment.
- Decode it to JSON (add padding = if needed).
- +2 more steps inside →
- Web·Expert300 XP
Cookie Clue #47
Set-Cookie: session=abc; Path=/ Set-Cookie: ctf_note=Q1lCRVJMSVVNe3dlYl9yZWNvbl8wNDd9; HttpOnly Decode the ctf_note cookie. Standalone CTF.
How to get the flag
- Find the ctf_note cookie value.
- Base64-decode it.
- +1 more steps inside →
- Web·Expert300 XP
robots.txt Path #48
Simulated robots.txt: User-agent: * Disallow: /backup/ Disallow: /secret-48.txt # File body at that path would contain: CYBERLIUM{web_recon_048} In this CTF, recover the flag as if you fetched the disallowed file. (No Lab sandbox.)
How to get the flag
- Read Disallow entries for interesting paths.
- The challenge states the file body contains the flag.
- +2 more steps inside →
- Web·Expert300 XP
Security Header Token #49
Response headers from a practice host: Server: nginx X-Powered-By: Express X-CTF-Token: CYBERLIUM{web_recon_049} Content-Type: text/html Grab the intentional CTF token header. Separate from Academy Labs.
How to get the flag
- Inspect response headers in the statement.
- Find X-CTF-Token.
- +2 more steps inside →
- Web·Expert300 XP
JWT Payload Peek #50
Educational JWT payload (middle segment only): eyJzdWIiOiJ1c2VyNTAiLCJmbGFnIjoiQ1lCRVJMSVVNe3dlYl9yZWNvbl8wNTB9In0 Base64url-decode the payload JSON and read the flag field. CTF theory puzzle — not a Lab.
How to get the flag
- Take the Base64url payload segment.
- Decode it to JSON (add padding = if needed).
- +2 more steps inside →
- OSINT·Beginner100 XP
Fictional Profile #1
Fictional OSINT only — do not investigate real people. Profile bio: "Blue-team intern · callsign OWL01 · practice flag = callsign + year 2026" Flag format: CYBERLIUM{osint_<callsign>_2026} with callsign lowercased. This is a CTF puzzle, not an Academy Lab.
How to get the flag
- Read the fictional profile bio.
- Note the callsign and the year 2026.
- +2 more steps inside →
- OSINT·Beginner100 XP
Fictional Profile #2
Fictional OSINT only — do not investigate real people. Profile bio: "Blue-team intern · callsign OWL02 · practice flag = callsign + year 2026" Flag format: CYBERLIUM{osint_<callsign>_2026} with callsign lowercased. This is a CTF puzzle, not an Academy Lab.
How to get the flag
- Read the fictional profile bio.
- Note the callsign and the year 2026.
- +2 more steps inside →
- OSINT·Beginner100 XP
Fictional Profile #3
Fictional OSINT only — do not investigate real people. Profile bio: "Blue-team intern · callsign OWL03 · practice flag = callsign + year 2026" Flag format: CYBERLIUM{osint_<callsign>_2026} with callsign lowercased. This is a CTF puzzle, not an Academy Lab.
How to get the flag
- Read the fictional profile bio.
- Note the callsign and the year 2026.
- +2 more steps inside →
- OSINT·Beginner100 XP
Fictional Profile #4
Fictional OSINT only — do not investigate real people. Profile bio: "Blue-team intern · callsign OWL04 · practice flag = callsign + year 2026" Flag format: CYBERLIUM{osint_<callsign>_2026} with callsign lowercased. This is a CTF puzzle, not an Academy Lab.
How to get the flag
- Read the fictional profile bio.
- Note the callsign and the year 2026.
- +2 more steps inside →
- OSINT·Beginner100 XP
Fictional Profile #5
Fictional OSINT only — do not investigate real people. Profile bio: "Blue-team intern · callsign OWL05 · practice flag = callsign + year 2026" Flag format: CYBERLIUM{osint_<callsign>_2026} with callsign lowercased. This is a CTF puzzle, not an Academy Lab.
How to get the flag
- Read the fictional profile bio.
- Note the callsign and the year 2026.
- +2 more steps inside →
- OSINT·Beginner100 XP
Fictional Profile #6
Fictional OSINT only — do not investigate real people. Profile bio: "Blue-team intern · callsign OWL06 · practice flag = callsign + year 2026" Flag format: CYBERLIUM{osint_<callsign>_2026} with callsign lowercased. This is a CTF puzzle, not an Academy Lab.
How to get the flag
- Read the fictional profile bio.
- Note the callsign and the year 2026.
- +2 more steps inside →
- OSINT·Beginner100 XP
Fictional Profile #7
Fictional OSINT only — do not investigate real people. Profile bio: "Blue-team intern · callsign OWL07 · practice flag = callsign + year 2026" Flag format: CYBERLIUM{osint_<callsign>_2026} with callsign lowercased. This is a CTF puzzle, not an Academy Lab.
How to get the flag
- Read the fictional profile bio.
- Note the callsign and the year 2026.
- +2 more steps inside →
- OSINT·Beginner100 XP
Fictional Profile #8
Fictional OSINT only — do not investigate real people. Profile bio: "Blue-team intern · callsign OWL08 · practice flag = callsign + year 2026" Flag format: CYBERLIUM{osint_<callsign>_2026} with callsign lowercased. This is a CTF puzzle, not an Academy Lab.
How to get the flag
- Read the fictional profile bio.
- Note the callsign and the year 2026.
- +2 more steps inside →
- OSINT·Beginner100 XP
Fictional Profile #9
Fictional OSINT only — do not investigate real people. Profile bio: "Blue-team intern · callsign OWL09 · practice flag = callsign + year 2026" Flag format: CYBERLIUM{osint_<callsign>_2026} with callsign lowercased. This is a CTF puzzle, not an Academy Lab.
How to get the flag
- Read the fictional profile bio.
- Note the callsign and the year 2026.
- +2 more steps inside →
- OSINT·Beginner100 XP
Fictional Profile #10
Fictional OSINT only — do not investigate real people. Profile bio: "Blue-team intern · callsign OWL10 · practice flag = callsign + year 2026" Flag format: CYBERLIUM{osint_<callsign>_2026} with callsign lowercased. This is a CTF puzzle, not an Academy Lab.
How to get the flag
- Read the fictional profile bio.
- Note the callsign and the year 2026.
- +2 more steps inside →
- OSINT·Beginner100 XP
Fictional Profile #11
Fictional OSINT only — do not investigate real people. Profile bio: "Blue-team intern · callsign OWL11 · practice flag = callsign + year 2026" Flag format: CYBERLIUM{osint_<callsign>_2026} with callsign lowercased. This is a CTF puzzle, not an Academy Lab.
How to get the flag
- Read the fictional profile bio.
- Note the callsign and the year 2026.
- +2 more steps inside →
- OSINT·Beginner100 XP
Fictional Profile #12
Fictional OSINT only — do not investigate real people. Profile bio: "Blue-team intern · callsign OWL12 · practice flag = callsign + year 2026" Flag format: CYBERLIUM{osint_<callsign>_2026} with callsign lowercased. This is a CTF puzzle, not an Academy Lab.
How to get the flag
- Read the fictional profile bio.
- Note the callsign and the year 2026.
- +2 more steps inside →
- OSINT·Beginner100 XP
Fictional Profile #13
Fictional OSINT only — do not investigate real people. Profile bio: "Blue-team intern · callsign OWL13 · practice flag = callsign + year 2026" Flag format: CYBERLIUM{osint_<callsign>_2026} with callsign lowercased. This is a CTF puzzle, not an Academy Lab.
How to get the flag
- Read the fictional profile bio.
- Note the callsign and the year 2026.
- +2 more steps inside →
- OSINT·Beginner100 XP
Fictional Profile #14
Fictional OSINT only — do not investigate real people. Profile bio: "Blue-team intern · callsign OWL14 · practice flag = callsign + year 2026" Flag format: CYBERLIUM{osint_<callsign>_2026} with callsign lowercased. This is a CTF puzzle, not an Academy Lab.
How to get the flag
- Read the fictional profile bio.
- Note the callsign and the year 2026.
- +2 more steps inside →
- OSINT·Beginner100 XP
Fictional Profile #15
Fictional OSINT only — do not investigate real people. Profile bio: "Blue-team intern · callsign OWL15 · practice flag = callsign + year 2026" Flag format: CYBERLIUM{osint_<callsign>_2026} with callsign lowercased. This is a CTF puzzle, not an Academy Lab.
How to get the flag
- Read the fictional profile bio.
- Note the callsign and the year 2026.
- +2 more steps inside →
- OSINT·Beginner100 XP
Fictional Profile #16
Fictional OSINT only — do not investigate real people. Profile bio: "Blue-team intern · callsign OWL16 · practice flag = callsign + year 2026" Flag format: CYBERLIUM{osint_<callsign>_2026} with callsign lowercased. This is a CTF puzzle, not an Academy Lab.
How to get the flag
- Read the fictional profile bio.
- Note the callsign and the year 2026.
- +2 more steps inside →
- OSINT·Intermediate200 XP
Fictional Profile #17
Fictional OSINT only — do not investigate real people. Profile bio: "Blue-team intern · callsign OWL17 · practice flag = callsign + year 2026" Flag format: CYBERLIUM{osint_<callsign>_2026} with callsign lowercased. This is a CTF puzzle, not an Academy Lab.
How to get the flag
- Read the fictional profile bio.
- Note the callsign and the year 2026.
- +2 more steps inside →
- OSINT·Intermediate200 XP
Fictional Profile #18
Fictional OSINT only — do not investigate real people. Profile bio: "Blue-team intern · callsign OWL18 · practice flag = callsign + year 2026" Flag format: CYBERLIUM{osint_<callsign>_2026} with callsign lowercased. This is a CTF puzzle, not an Academy Lab.
How to get the flag
- Read the fictional profile bio.
- Note the callsign and the year 2026.
- +2 more steps inside →
- OSINT·Intermediate200 XP
Fictional Profile #19
Fictional OSINT only — do not investigate real people. Profile bio: "Blue-team intern · callsign OWL19 · practice flag = callsign + year 2026" Flag format: CYBERLIUM{osint_<callsign>_2026} with callsign lowercased. This is a CTF puzzle, not an Academy Lab.
How to get the flag
- Read the fictional profile bio.
- Note the callsign and the year 2026.
- +2 more steps inside →
- OSINT·Intermediate200 XP
Fictional Profile #20
Fictional OSINT only — do not investigate real people. Profile bio: "Blue-team intern · callsign OWL20 · practice flag = callsign + year 2026" Flag format: CYBERLIUM{osint_<callsign>_2026} with callsign lowercased. This is a CTF puzzle, not an Academy Lab.
How to get the flag
- Read the fictional profile bio.
- Note the callsign and the year 2026.
- +2 more steps inside →
- OSINT·Intermediate200 XP
Fictional Profile #21
Fictional OSINT only — do not investigate real people. Profile bio: "Blue-team intern · callsign OWL21 · practice flag = callsign + year 2026" Flag format: CYBERLIUM{osint_<callsign>_2026} with callsign lowercased. This is a CTF puzzle, not an Academy Lab.
How to get the flag
- Read the fictional profile bio.
- Note the callsign and the year 2026.
- +2 more steps inside →
- OSINT·Intermediate200 XP
Fictional Profile #22
Fictional OSINT only — do not investigate real people. Profile bio: "Blue-team intern · callsign OWL22 · practice flag = callsign + year 2026" Flag format: CYBERLIUM{osint_<callsign>_2026} with callsign lowercased. This is a CTF puzzle, not an Academy Lab.
How to get the flag
- Read the fictional profile bio.
- Note the callsign and the year 2026.
- +2 more steps inside →
- OSINT·Intermediate200 XP
Fictional Profile #23
Fictional OSINT only — do not investigate real people. Profile bio: "Blue-team intern · callsign OWL23 · practice flag = callsign + year 2026" Flag format: CYBERLIUM{osint_<callsign>_2026} with callsign lowercased. This is a CTF puzzle, not an Academy Lab.
How to get the flag
- Read the fictional profile bio.
- Note the callsign and the year 2026.
- +2 more steps inside →
- OSINT·Intermediate200 XP
Fictional Profile #24
Fictional OSINT only — do not investigate real people. Profile bio: "Blue-team intern · callsign OWL24 · practice flag = callsign + year 2026" Flag format: CYBERLIUM{osint_<callsign>_2026} with callsign lowercased. This is a CTF puzzle, not an Academy Lab.
How to get the flag
- Read the fictional profile bio.
- Note the callsign and the year 2026.
- +2 more steps inside →
- OSINT·Intermediate200 XP
Fictional Profile #25
Fictional OSINT only — do not investigate real people. Profile bio: "Blue-team intern · callsign OWL25 · practice flag = callsign + year 2026" Flag format: CYBERLIUM{osint_<callsign>_2026} with callsign lowercased. This is a CTF puzzle, not an Academy Lab.
How to get the flag
- Read the fictional profile bio.
- Note the callsign and the year 2026.
- +2 more steps inside →
- OSINT·Intermediate200 XP
Fictional Profile #26
Fictional OSINT only — do not investigate real people. Profile bio: "Blue-team intern · callsign OWL26 · practice flag = callsign + year 2026" Flag format: CYBERLIUM{osint_<callsign>_2026} with callsign lowercased. This is a CTF puzzle, not an Academy Lab.
How to get the flag
- Read the fictional profile bio.
- Note the callsign and the year 2026.
- +2 more steps inside →
- OSINT·Intermediate200 XP
Fictional Profile #27
Fictional OSINT only — do not investigate real people. Profile bio: "Blue-team intern · callsign OWL27 · practice flag = callsign + year 2026" Flag format: CYBERLIUM{osint_<callsign>_2026} with callsign lowercased. This is a CTF puzzle, not an Academy Lab.
How to get the flag
- Read the fictional profile bio.
- Note the callsign and the year 2026.
- +2 more steps inside →
- OSINT·Intermediate200 XP
Fictional Profile #28
Fictional OSINT only — do not investigate real people. Profile bio: "Blue-team intern · callsign OWL28 · practice flag = callsign + year 2026" Flag format: CYBERLIUM{osint_<callsign>_2026} with callsign lowercased. This is a CTF puzzle, not an Academy Lab.
How to get the flag
- Read the fictional profile bio.
- Note the callsign and the year 2026.
- +2 more steps inside →
- OSINT·Intermediate200 XP
Fictional Profile #29
Fictional OSINT only — do not investigate real people. Profile bio: "Blue-team intern · callsign OWL29 · practice flag = callsign + year 2026" Flag format: CYBERLIUM{osint_<callsign>_2026} with callsign lowercased. This is a CTF puzzle, not an Academy Lab.
How to get the flag
- Read the fictional profile bio.
- Note the callsign and the year 2026.
- +2 more steps inside →
- OSINT·Intermediate200 XP
Fictional Profile #30
Fictional OSINT only — do not investigate real people. Profile bio: "Blue-team intern · callsign OWL30 · practice flag = callsign + year 2026" Flag format: CYBERLIUM{osint_<callsign>_2026} with callsign lowercased. This is a CTF puzzle, not an Academy Lab.
How to get the flag
- Read the fictional profile bio.
- Note the callsign and the year 2026.
- +2 more steps inside →
- OSINT·Intermediate200 XP
Fictional Profile #31
Fictional OSINT only — do not investigate real people. Profile bio: "Blue-team intern · callsign OWL31 · practice flag = callsign + year 2026" Flag format: CYBERLIUM{osint_<callsign>_2026} with callsign lowercased. This is a CTF puzzle, not an Academy Lab.
How to get the flag
- Read the fictional profile bio.
- Note the callsign and the year 2026.
- +2 more steps inside →
- OSINT·Intermediate200 XP
Fictional Profile #32
Fictional OSINT only — do not investigate real people. Profile bio: "Blue-team intern · callsign OWL32 · practice flag = callsign + year 2026" Flag format: CYBERLIUM{osint_<callsign>_2026} with callsign lowercased. This is a CTF puzzle, not an Academy Lab.
How to get the flag
- Read the fictional profile bio.
- Note the callsign and the year 2026.
- +2 more steps inside →
- OSINT·Expert300 XP
Fictional Profile #33
Fictional OSINT only — do not investigate real people. Profile bio: "Blue-team intern · callsign OWL33 · practice flag = callsign + year 2026" Flag format: CYBERLIUM{osint_<callsign>_2026} with callsign lowercased. This is a CTF puzzle, not an Academy Lab.
How to get the flag
- Read the fictional profile bio.
- Note the callsign and the year 2026.
- +2 more steps inside →
- OSINT·Expert300 XP
Fictional Profile #34
Fictional OSINT only — do not investigate real people. Profile bio: "Blue-team intern · callsign OWL34 · practice flag = callsign + year 2026" Flag format: CYBERLIUM{osint_<callsign>_2026} with callsign lowercased. This is a CTF puzzle, not an Academy Lab.
How to get the flag
- Read the fictional profile bio.
- Note the callsign and the year 2026.
- +2 more steps inside →
- OSINT·Expert300 XP
Fictional Profile #35
Fictional OSINT only — do not investigate real people. Profile bio: "Blue-team intern · callsign OWL35 · practice flag = callsign + year 2026" Flag format: CYBERLIUM{osint_<callsign>_2026} with callsign lowercased. This is a CTF puzzle, not an Academy Lab.
How to get the flag
- Read the fictional profile bio.
- Note the callsign and the year 2026.
- +2 more steps inside →
- OSINT·Expert300 XP
Fictional Profile #36
Fictional OSINT only — do not investigate real people. Profile bio: "Blue-team intern · callsign OWL36 · practice flag = callsign + year 2026" Flag format: CYBERLIUM{osint_<callsign>_2026} with callsign lowercased. This is a CTF puzzle, not an Academy Lab.
How to get the flag
- Read the fictional profile bio.
- Note the callsign and the year 2026.
- +2 more steps inside →
- OSINT·Expert300 XP
Fictional Profile #37
Fictional OSINT only — do not investigate real people. Profile bio: "Blue-team intern · callsign OWL37 · practice flag = callsign + year 2026" Flag format: CYBERLIUM{osint_<callsign>_2026} with callsign lowercased. This is a CTF puzzle, not an Academy Lab.
How to get the flag
- Read the fictional profile bio.
- Note the callsign and the year 2026.
- +2 more steps inside →
- OSINT·Expert300 XP
Fictional Profile #38
Fictional OSINT only — do not investigate real people. Profile bio: "Blue-team intern · callsign OWL38 · practice flag = callsign + year 2026" Flag format: CYBERLIUM{osint_<callsign>_2026} with callsign lowercased. This is a CTF puzzle, not an Academy Lab.
How to get the flag
- Read the fictional profile bio.
- Note the callsign and the year 2026.
- +2 more steps inside →
- OSINT·Expert300 XP
Fictional Profile #39
Fictional OSINT only — do not investigate real people. Profile bio: "Blue-team intern · callsign OWL39 · practice flag = callsign + year 2026" Flag format: CYBERLIUM{osint_<callsign>_2026} with callsign lowercased. This is a CTF puzzle, not an Academy Lab.
How to get the flag
- Read the fictional profile bio.
- Note the callsign and the year 2026.
- +2 more steps inside →
- OSINT·Expert300 XP
Fictional Profile #40
Fictional OSINT only — do not investigate real people. Profile bio: "Blue-team intern · callsign OWL40 · practice flag = callsign + year 2026" Flag format: CYBERLIUM{osint_<callsign>_2026} with callsign lowercased. This is a CTF puzzle, not an Academy Lab.
How to get the flag
- Read the fictional profile bio.
- Note the callsign and the year 2026.
- +2 more steps inside →
- Linux·Beginner100 XP
SUID Checklist #1
find / -perm -4000 excerpt: /usr/bin/passwd /usr/bin/sudo /opt/legacy/tool_1 # Unusual SUID holds token CYBERLIUM{linux_find_001} Submit the unusual-path token. Not a Lab.
How to get the flag
- Compare SUID paths — passwd/sudo are normal.
- Focus on /opt/legacy/tool_*
- +2 more steps inside →
- Linux·Beginner100 XP
Cron Perms Note #2
ls -l /etc/cron.d/job2: -rwxrwxrwx 1 root root 88 Jul 1 job2 # Comment: world-writable cron is dangerous; practice token CYBERLIUM{linux_find_002} Identify the finding and submit the token. CTF only.
How to get the flag
- Notice permissions are 777 (world-writable).
- Read the admin comment for the practice token.
- +2 more steps inside →
- Linux·Beginner100 XP
SUID Checklist #3
find / -perm -4000 excerpt: /usr/bin/passwd /usr/bin/sudo /opt/legacy/tool_3 # Unusual SUID holds token CYBERLIUM{linux_find_003} Submit the unusual-path token. Not a Lab.
How to get the flag
- Compare SUID paths — passwd/sudo are normal.
- Focus on /opt/legacy/tool_*
- +2 more steps inside →
- Linux·Beginner100 XP
Cron Perms Note #4
ls -l /etc/cron.d/job4: -rwxrwxrwx 1 root root 88 Jul 1 job4 # Comment: world-writable cron is dangerous; practice token CYBERLIUM{linux_find_004} Identify the finding and submit the token. CTF only.
How to get the flag
- Notice permissions are 777 (world-writable).
- Read the admin comment for the practice token.
- +2 more steps inside →
- Linux·Beginner100 XP
SUID Checklist #5
find / -perm -4000 excerpt: /usr/bin/passwd /usr/bin/sudo /opt/legacy/tool_5 # Unusual SUID holds token CYBERLIUM{linux_find_005} Submit the unusual-path token. Not a Lab.
How to get the flag
- Compare SUID paths — passwd/sudo are normal.
- Focus on /opt/legacy/tool_*
- +2 more steps inside →
- Linux·Beginner100 XP
Cron Perms Note #6
ls -l /etc/cron.d/job6: -rwxrwxrwx 1 root root 88 Jul 1 job6 # Comment: world-writable cron is dangerous; practice token CYBERLIUM{linux_find_006} Identify the finding and submit the token. CTF only.
How to get the flag
- Notice permissions are 777 (world-writable).
- Read the admin comment for the practice token.
- +2 more steps inside →
- Linux·Beginner100 XP
SUID Checklist #7
find / -perm -4000 excerpt: /usr/bin/passwd /usr/bin/sudo /opt/legacy/tool_7 # Unusual SUID holds token CYBERLIUM{linux_find_007} Submit the unusual-path token. Not a Lab.
How to get the flag
- Compare SUID paths — passwd/sudo are normal.
- Focus on /opt/legacy/tool_*
- +2 more steps inside →
- Linux·Beginner100 XP
Cron Perms Note #8
ls -l /etc/cron.d/job8: -rwxrwxrwx 1 root root 88 Jul 1 job8 # Comment: world-writable cron is dangerous; practice token CYBERLIUM{linux_find_008} Identify the finding and submit the token. CTF only.
How to get the flag
- Notice permissions are 777 (world-writable).
- Read the admin comment for the practice token.
- +2 more steps inside →
- Linux·Beginner100 XP
SUID Checklist #9
find / -perm -4000 excerpt: /usr/bin/passwd /usr/bin/sudo /opt/legacy/tool_9 # Unusual SUID holds token CYBERLIUM{linux_find_009} Submit the unusual-path token. Not a Lab.
How to get the flag
- Compare SUID paths — passwd/sudo are normal.
- Focus on /opt/legacy/tool_*
- +2 more steps inside →
- Linux·Beginner100 XP
Cron Perms Note #10
ls -l /etc/cron.d/job10: -rwxrwxrwx 1 root root 88 Jul 1 job10 # Comment: world-writable cron is dangerous; practice token CYBERLIUM{linux_find_010} Identify the finding and submit the token. CTF only.
How to get the flag
- Notice permissions are 777 (world-writable).
- Read the admin comment for the practice token.
- +2 more steps inside →
- Linux·Beginner100 XP
SUID Checklist #11
find / -perm -4000 excerpt: /usr/bin/passwd /usr/bin/sudo /opt/legacy/tool_11 # Unusual SUID holds token CYBERLIUM{linux_find_011} Submit the unusual-path token. Not a Lab.
How to get the flag
- Compare SUID paths — passwd/sudo are normal.
- Focus on /opt/legacy/tool_*
- +2 more steps inside →
- Linux·Beginner100 XP
Cron Perms Note #12
ls -l /etc/cron.d/job12: -rwxrwxrwx 1 root root 88 Jul 1 job12 # Comment: world-writable cron is dangerous; practice token CYBERLIUM{linux_find_012} Identify the finding and submit the token. CTF only.
How to get the flag
- Notice permissions are 777 (world-writable).
- Read the admin comment for the practice token.
- +2 more steps inside →
- Linux·Intermediate200 XP
SUID Checklist #13
find / -perm -4000 excerpt: /usr/bin/passwd /usr/bin/sudo /opt/legacy/tool_13 # Unusual SUID holds token CYBERLIUM{linux_find_013} Submit the unusual-path token. Not a Lab.
How to get the flag
- Compare SUID paths — passwd/sudo are normal.
- Focus on /opt/legacy/tool_*
- +2 more steps inside →
- Linux·Intermediate200 XP
Cron Perms Note #14
ls -l /etc/cron.d/job14: -rwxrwxrwx 1 root root 88 Jul 1 job14 # Comment: world-writable cron is dangerous; practice token CYBERLIUM{linux_find_014} Identify the finding and submit the token. CTF only.
How to get the flag
- Notice permissions are 777 (world-writable).
- Read the admin comment for the practice token.
- +2 more steps inside →
- Linux·Intermediate200 XP
SUID Checklist #15
find / -perm -4000 excerpt: /usr/bin/passwd /usr/bin/sudo /opt/legacy/tool_15 # Unusual SUID holds token CYBERLIUM{linux_find_015} Submit the unusual-path token. Not a Lab.
How to get the flag
- Compare SUID paths — passwd/sudo are normal.
- Focus on /opt/legacy/tool_*
- +2 more steps inside →
- Linux·Intermediate200 XP
Cron Perms Note #16
ls -l /etc/cron.d/job16: -rwxrwxrwx 1 root root 88 Jul 1 job16 # Comment: world-writable cron is dangerous; practice token CYBERLIUM{linux_find_016} Identify the finding and submit the token. CTF only.
How to get the flag
- Notice permissions are 777 (world-writable).
- Read the admin comment for the practice token.
- +2 more steps inside →
- Linux·Intermediate200 XP
SUID Checklist #17
find / -perm -4000 excerpt: /usr/bin/passwd /usr/bin/sudo /opt/legacy/tool_17 # Unusual SUID holds token CYBERLIUM{linux_find_017} Submit the unusual-path token. Not a Lab.
How to get the flag
- Compare SUID paths — passwd/sudo are normal.
- Focus on /opt/legacy/tool_*
- +2 more steps inside →
- Linux·Intermediate200 XP
Cron Perms Note #18
ls -l /etc/cron.d/job18: -rwxrwxrwx 1 root root 88 Jul 1 job18 # Comment: world-writable cron is dangerous; practice token CYBERLIUM{linux_find_018} Identify the finding and submit the token. CTF only.
How to get the flag
- Notice permissions are 777 (world-writable).
- Read the admin comment for the practice token.
- +2 more steps inside →
- Linux·Intermediate200 XP
SUID Checklist #19
find / -perm -4000 excerpt: /usr/bin/passwd /usr/bin/sudo /opt/legacy/tool_19 # Unusual SUID holds token CYBERLIUM{linux_find_019} Submit the unusual-path token. Not a Lab.
How to get the flag
- Compare SUID paths — passwd/sudo are normal.
- Focus on /opt/legacy/tool_*
- +2 more steps inside →
- Linux·Intermediate200 XP
Cron Perms Note #20
ls -l /etc/cron.d/job20: -rwxrwxrwx 1 root root 88 Jul 1 job20 # Comment: world-writable cron is dangerous; practice token CYBERLIUM{linux_find_020} Identify the finding and submit the token. CTF only.
How to get the flag
- Notice permissions are 777 (world-writable).
- Read the admin comment for the practice token.
- +2 more steps inside →
- Linux·Intermediate200 XP
SUID Checklist #21
find / -perm -4000 excerpt: /usr/bin/passwd /usr/bin/sudo /opt/legacy/tool_21 # Unusual SUID holds token CYBERLIUM{linux_find_021} Submit the unusual-path token. Not a Lab.
How to get the flag
- Compare SUID paths — passwd/sudo are normal.
- Focus on /opt/legacy/tool_*
- +2 more steps inside →
- Linux·Intermediate200 XP
Cron Perms Note #22
ls -l /etc/cron.d/job22: -rwxrwxrwx 1 root root 88 Jul 1 job22 # Comment: world-writable cron is dangerous; practice token CYBERLIUM{linux_find_022} Identify the finding and submit the token. CTF only.
How to get the flag
- Notice permissions are 777 (world-writable).
- Read the admin comment for the practice token.
- +2 more steps inside →
- Linux·Intermediate200 XP
SUID Checklist #23
find / -perm -4000 excerpt: /usr/bin/passwd /usr/bin/sudo /opt/legacy/tool_23 # Unusual SUID holds token CYBERLIUM{linux_find_023} Submit the unusual-path token. Not a Lab.
How to get the flag
- Compare SUID paths — passwd/sudo are normal.
- Focus on /opt/legacy/tool_*
- +2 more steps inside →
- Linux·Intermediate200 XP
Cron Perms Note #24
ls -l /etc/cron.d/job24: -rwxrwxrwx 1 root root 88 Jul 1 job24 # Comment: world-writable cron is dangerous; practice token CYBERLIUM{linux_find_024} Identify the finding and submit the token. CTF only.
How to get the flag
- Notice permissions are 777 (world-writable).
- Read the admin comment for the practice token.
- +2 more steps inside →
- Linux·Expert300 XP
SUID Checklist #25
find / -perm -4000 excerpt: /usr/bin/passwd /usr/bin/sudo /opt/legacy/tool_25 # Unusual SUID holds token CYBERLIUM{linux_find_025} Submit the unusual-path token. Not a Lab.
How to get the flag
- Compare SUID paths — passwd/sudo are normal.
- Focus on /opt/legacy/tool_*
- +2 more steps inside →
- Linux·Expert300 XP
Cron Perms Note #26
ls -l /etc/cron.d/job26: -rwxrwxrwx 1 root root 88 Jul 1 job26 # Comment: world-writable cron is dangerous; practice token CYBERLIUM{linux_find_026} Identify the finding and submit the token. CTF only.
How to get the flag
- Notice permissions are 777 (world-writable).
- Read the admin comment for the practice token.
- +2 more steps inside →
- Linux·Expert300 XP
SUID Checklist #27
find / -perm -4000 excerpt: /usr/bin/passwd /usr/bin/sudo /opt/legacy/tool_27 # Unusual SUID holds token CYBERLIUM{linux_find_027} Submit the unusual-path token. Not a Lab.
How to get the flag
- Compare SUID paths — passwd/sudo are normal.
- Focus on /opt/legacy/tool_*
- +2 more steps inside →
- Linux·Expert300 XP
Cron Perms Note #28
ls -l /etc/cron.d/job28: -rwxrwxrwx 1 root root 88 Jul 1 job28 # Comment: world-writable cron is dangerous; practice token CYBERLIUM{linux_find_028} Identify the finding and submit the token. CTF only.
How to get the flag
- Notice permissions are 777 (world-writable).
- Read the admin comment for the practice token.
- +2 more steps inside →
- Linux·Expert300 XP
SUID Checklist #29
find / -perm -4000 excerpt: /usr/bin/passwd /usr/bin/sudo /opt/legacy/tool_29 # Unusual SUID holds token CYBERLIUM{linux_find_029} Submit the unusual-path token. Not a Lab.
How to get the flag
- Compare SUID paths — passwd/sudo are normal.
- Focus on /opt/legacy/tool_*
- +2 more steps inside →
- Linux·Expert300 XP
Cron Perms Note #30
ls -l /etc/cron.d/job30: -rwxrwxrwx 1 root root 88 Jul 1 job30 # Comment: world-writable cron is dangerous; practice token CYBERLIUM{linux_find_030} Identify the finding and submit the token. CTF only.
How to get the flag
- Notice permissions are 777 (world-writable).
- Read the admin comment for the practice token.
- +2 more steps inside →
- Misc·Beginner100 XP
Nested JSON Vault #1
{"meta":{"n":1},"vault":{"items":[{"k":"noise","v":"x"},{"k":"flag","v":"CYBERLIUM{misc_note_001}"}]}} Parse JSON and read vault.items where k=flag. CTF ≠ Labs.
How to get the flag
- Parse the JSON object.
- Open vault.items.
- +2 more steps inside →
- Misc·Beginner100 XP
Hidden Line Note #2
Keep learning. # ignore noise 2 CYBERLIUM{misc_note_002} # end Copy the CYBERLIUM line. Standalone CTF.
How to get the flag
- Scan the note for CYBERLIUM{
- Copy the full flag line.
- +1 more steps inside →
- Misc·Beginner100 XP
Nested JSON Vault #3
{"meta":{"n":3},"vault":{"items":[{"k":"noise","v":"x"},{"k":"flag","v":"CYBERLIUM{misc_note_003}"}]}} Parse JSON and read vault.items where k=flag. CTF ≠ Labs.
How to get the flag
- Parse the JSON object.
- Open vault.items.
- +2 more steps inside →
- Misc·Beginner100 XP
Hidden Line Note #4
Keep learning. # ignore noise 4 CYBERLIUM{misc_note_004} # end Copy the CYBERLIUM line. Standalone CTF.
How to get the flag
- Scan the note for CYBERLIUM{
- Copy the full flag line.
- +1 more steps inside →
- Misc·Beginner100 XP
Nested JSON Vault #5
{"meta":{"n":5},"vault":{"items":[{"k":"noise","v":"x"},{"k":"flag","v":"CYBERLIUM{misc_note_005}"}]}} Parse JSON and read vault.items where k=flag. CTF ≠ Labs.
How to get the flag
- Parse the JSON object.
- Open vault.items.
- +2 more steps inside →
- Misc·Beginner100 XP
Hidden Line Note #6
Keep learning. # ignore noise 6 CYBERLIUM{misc_note_006} # end Copy the CYBERLIUM line. Standalone CTF.
How to get the flag
- Scan the note for CYBERLIUM{
- Copy the full flag line.
- +1 more steps inside →
- Misc·Beginner100 XP
Nested JSON Vault #7
{"meta":{"n":7},"vault":{"items":[{"k":"noise","v":"x"},{"k":"flag","v":"CYBERLIUM{misc_note_007}"}]}} Parse JSON and read vault.items where k=flag. CTF ≠ Labs.
How to get the flag
- Parse the JSON object.
- Open vault.items.
- +2 more steps inside →
- Misc·Beginner100 XP
Hidden Line Note #8
Keep learning. # ignore noise 8 CYBERLIUM{misc_note_008} # end Copy the CYBERLIUM line. Standalone CTF.
How to get the flag
- Scan the note for CYBERLIUM{
- Copy the full flag line.
- +1 more steps inside →
- Misc·Intermediate200 XP
Nested JSON Vault #9
{"meta":{"n":9},"vault":{"items":[{"k":"noise","v":"x"},{"k":"flag","v":"CYBERLIUM{misc_note_009}"}]}} Parse JSON and read vault.items where k=flag. CTF ≠ Labs.
How to get the flag
- Parse the JSON object.
- Open vault.items.
- +2 more steps inside →
- Misc·Intermediate200 XP
Hidden Line Note #10
Keep learning. # ignore noise 10 CYBERLIUM{misc_note_010} # end Copy the CYBERLIUM line. Standalone CTF.
How to get the flag
- Scan the note for CYBERLIUM{
- Copy the full flag line.
- +1 more steps inside →
- Misc·Intermediate200 XP
Nested JSON Vault #11
{"meta":{"n":11},"vault":{"items":[{"k":"noise","v":"x"},{"k":"flag","v":"CYBERLIUM{misc_note_011}"}]}} Parse JSON and read vault.items where k=flag. CTF ≠ Labs.
How to get the flag
- Parse the JSON object.
- Open vault.items.
- +2 more steps inside →
- Misc·Intermediate200 XP
Hidden Line Note #12
Keep learning. # ignore noise 12 CYBERLIUM{misc_note_012} # end Copy the CYBERLIUM line. Standalone CTF.
How to get the flag
- Scan the note for CYBERLIUM{
- Copy the full flag line.
- +1 more steps inside →
- Misc·Intermediate200 XP
Nested JSON Vault #13
{"meta":{"n":13},"vault":{"items":[{"k":"noise","v":"x"},{"k":"flag","v":"CYBERLIUM{misc_note_013}"}]}} Parse JSON and read vault.items where k=flag. CTF ≠ Labs.
How to get the flag
- Parse the JSON object.
- Open vault.items.
- +2 more steps inside →
- Misc·Intermediate200 XP
Hidden Line Note #14
Keep learning. # ignore noise 14 CYBERLIUM{misc_note_014} # end Copy the CYBERLIUM line. Standalone CTF.
How to get the flag
- Scan the note for CYBERLIUM{
- Copy the full flag line.
- +1 more steps inside →
- Misc·Intermediate200 XP
Nested JSON Vault #15
{"meta":{"n":15},"vault":{"items":[{"k":"noise","v":"x"},{"k":"flag","v":"CYBERLIUM{misc_note_015}"}]}} Parse JSON and read vault.items where k=flag. CTF ≠ Labs.
How to get the flag
- Parse the JSON object.
- Open vault.items.
- +2 more steps inside →
- Misc·Intermediate200 XP
Hidden Line Note #16
Keep learning. # ignore noise 16 CYBERLIUM{misc_note_016} # end Copy the CYBERLIUM line. Standalone CTF.
How to get the flag
- Scan the note for CYBERLIUM{
- Copy the full flag line.
- +1 more steps inside →
- Misc·Expert300 XP
Nested JSON Vault #17
{"meta":{"n":17},"vault":{"items":[{"k":"noise","v":"x"},{"k":"flag","v":"CYBERLIUM{misc_note_017}"}]}} Parse JSON and read vault.items where k=flag. CTF ≠ Labs.
How to get the flag
- Parse the JSON object.
- Open vault.items.
- +2 more steps inside →
- Misc·Expert300 XP
Hidden Line Note #18
Keep learning. # ignore noise 18 CYBERLIUM{misc_note_018} # end Copy the CYBERLIUM line. Standalone CTF.
How to get the flag
- Scan the note for CYBERLIUM{
- Copy the full flag line.
- +1 more steps inside →
- Misc·Expert300 XP
Nested JSON Vault #19
{"meta":{"n":19},"vault":{"items":[{"k":"noise","v":"x"},{"k":"flag","v":"CYBERLIUM{misc_note_019}"}]}} Parse JSON and read vault.items where k=flag. CTF ≠ Labs.
How to get the flag
- Parse the JSON object.
- Open vault.items.
- +2 more steps inside →
- Misc·Expert300 XP
Hidden Line Note #20
Keep learning. # ignore noise 20 CYBERLIUM{misc_note_020} # end Copy the CYBERLIUM line. Standalone CTF.
How to get the flag
- Scan the note for CYBERLIUM{
- Copy the full flag line.
- +1 more steps inside →
- Reverse·Beginner100 XP
JS Join Crackme #1
Mini obfuscation: const a=["CYBER","LIUM{","re_check_001","}"]; if (user === a.join('')) win(); Join the array to recover the flag. CTF reverse puzzle — not an Academy Lab.
How to get the flag
- Look at the array pieces in order.
- Concatenate them with no separator (join '').
- +2 more steps inside →
- Reverse·Beginner100 XP
JS Join Crackme #2
Mini obfuscation: const a=["CYBER","LIUM{","re_check_002","}"]; if (user === a.join('')) win(); Join the array to recover the flag. CTF reverse puzzle — not an Academy Lab.
How to get the flag
- Look at the array pieces in order.
- Concatenate them with no separator (join '').
- +2 more steps inside →
- Reverse·Beginner100 XP
JS Join Crackme #3
Mini obfuscation: const a=["CYBER","LIUM{","re_check_003","}"]; if (user === a.join('')) win(); Join the array to recover the flag. CTF reverse puzzle — not an Academy Lab.
How to get the flag
- Look at the array pieces in order.
- Concatenate them with no separator (join '').
- +2 more steps inside →
- Reverse·Beginner100 XP
JS Join Crackme #4
Mini obfuscation: const a=["CYBER","LIUM{","re_check_004","}"]; if (user === a.join('')) win(); Join the array to recover the flag. CTF reverse puzzle — not an Academy Lab.
How to get the flag
- Look at the array pieces in order.
- Concatenate them with no separator (join '').
- +2 more steps inside →
- Reverse·Beginner100 XP
JS Join Crackme #5
Mini obfuscation: const a=["CYBER","LIUM{","re_check_005","}"]; if (user === a.join('')) win(); Join the array to recover the flag. CTF reverse puzzle — not an Academy Lab.
How to get the flag
- Look at the array pieces in order.
- Concatenate them with no separator (join '').
- +2 more steps inside →
- Reverse·Beginner100 XP
JS Join Crackme #6
Mini obfuscation: const a=["CYBER","LIUM{","re_check_006","}"]; if (user === a.join('')) win(); Join the array to recover the flag. CTF reverse puzzle — not an Academy Lab.
How to get the flag
- Look at the array pieces in order.
- Concatenate them with no separator (join '').
- +2 more steps inside →
- Reverse·Intermediate200 XP
JS Join Crackme #7
Mini obfuscation: const a=["CYBER","LIUM{","re_check_007","}"]; if (user === a.join('')) win(); Join the array to recover the flag. CTF reverse puzzle — not an Academy Lab.
How to get the flag
- Look at the array pieces in order.
- Concatenate them with no separator (join '').
- +2 more steps inside →
- Reverse·Intermediate200 XP
JS Join Crackme #8
Mini obfuscation: const a=["CYBER","LIUM{","re_check_008","}"]; if (user === a.join('')) win(); Join the array to recover the flag. CTF reverse puzzle — not an Academy Lab.
How to get the flag
- Look at the array pieces in order.
- Concatenate them with no separator (join '').
- +2 more steps inside →
- Reverse·Intermediate200 XP
JS Join Crackme #9
Mini obfuscation: const a=["CYBER","LIUM{","re_check_009","}"]; if (user === a.join('')) win(); Join the array to recover the flag. CTF reverse puzzle — not an Academy Lab.
How to get the flag
- Look at the array pieces in order.
- Concatenate them with no separator (join '').
- +2 more steps inside →
- Reverse·Intermediate200 XP
JS Join Crackme #10
Mini obfuscation: const a=["CYBER","LIUM{","re_check_010","}"]; if (user === a.join('')) win(); Join the array to recover the flag. CTF reverse puzzle — not an Academy Lab.
How to get the flag
- Look at the array pieces in order.
- Concatenate them with no separator (join '').
- +2 more steps inside →
- Reverse·Intermediate200 XP
JS Join Crackme #11
Mini obfuscation: const a=["CYBER","LIUM{","re_check_011","}"]; if (user === a.join('')) win(); Join the array to recover the flag. CTF reverse puzzle — not an Academy Lab.
How to get the flag
- Look at the array pieces in order.
- Concatenate them with no separator (join '').
- +2 more steps inside →
- Reverse·Intermediate200 XP
JS Join Crackme #12
Mini obfuscation: const a=["CYBER","LIUM{","re_check_012","}"]; if (user === a.join('')) win(); Join the array to recover the flag. CTF reverse puzzle — not an Academy Lab.
How to get the flag
- Look at the array pieces in order.
- Concatenate them with no separator (join '').
- +2 more steps inside →
- Reverse·Expert300 XP
JS Join Crackme #13
Mini obfuscation: const a=["CYBER","LIUM{","re_check_013","}"]; if (user === a.join('')) win(); Join the array to recover the flag. CTF reverse puzzle — not an Academy Lab.
How to get the flag
- Look at the array pieces in order.
- Concatenate them with no separator (join '').
- +2 more steps inside →
- Reverse·Expert300 XP
JS Join Crackme #14
Mini obfuscation: const a=["CYBER","LIUM{","re_check_014","}"]; if (user === a.join('')) win(); Join the array to recover the flag. CTF reverse puzzle — not an Academy Lab.
How to get the flag
- Look at the array pieces in order.
- Concatenate them with no separator (join '').
- +2 more steps inside →
- Reverse·Expert300 XP
JS Join Crackme #15
Mini obfuscation: const a=["CYBER","LIUM{","re_check_015","}"]; if (user === a.join('')) win(); Join the array to recover the flag. CTF reverse puzzle — not an Academy Lab.
How to get the flag
- Look at the array pieces in order.
- Concatenate them with no separator (join '').
- +2 more steps inside →
- Pwn·Expert300 XP
Pwn Concept Brief #1
Expert concept CTF (no remote exploit required): A practice note says EIP control after 72-byte padding. Instructor token for completing the write-up check: CYBERLIUM{pwn_concept_001} Submit the token. This is theory CTF content — Labs remain separate.
How to get the flag
- Read the concept brief carefully.
- Locate the instructor token CYBERLIUM{...}
- +2 more steps inside →
- Pwn·Expert300 XP
Pwn Concept Brief #2
Expert concept CTF (no remote exploit required): A practice note says EIP control after 80-byte padding. Instructor token for completing the write-up check: CYBERLIUM{pwn_concept_002} Submit the token. This is theory CTF content — Labs remain separate.
How to get the flag
- Read the concept brief carefully.
- Locate the instructor token CYBERLIUM{...}
- +2 more steps inside →
- Pwn·Expert300 XP
Pwn Concept Brief #3
Expert concept CTF (no remote exploit required): A practice note says EIP control after 88-byte padding. Instructor token for completing the write-up check: CYBERLIUM{pwn_concept_003} Submit the token. This is theory CTF content — Labs remain separate.
How to get the flag
- Read the concept brief carefully.
- Locate the instructor token CYBERLIUM{...}
- +2 more steps inside →
- Pwn·Expert300 XP
Pwn Concept Brief #4
Expert concept CTF (no remote exploit required): A practice note says EIP control after 96-byte padding. Instructor token for completing the write-up check: CYBERLIUM{pwn_concept_004} Submit the token. This is theory CTF content — Labs remain separate.
How to get the flag
- Read the concept brief carefully.
- Locate the instructor token CYBERLIUM{...}
- +2 more steps inside →
- Pwn·Expert300 XP
Pwn Concept Brief #5
Expert concept CTF (no remote exploit required): A practice note says EIP control after 104-byte padding. Instructor token for completing the write-up check: CYBERLIUM{pwn_concept_005} Submit the token. This is theory CTF content — Labs remain separate.
How to get the flag
- Read the concept brief carefully.
- Locate the instructor token CYBERLIUM{...}
- +2 more steps inside →